Cara Mengurus Hos Maya Dinamik Dengan Apache dan Modul Mod_VHOST_ALIAS
- 2264
- 736
- Clarence Powlowski
Server Web Apache mempunyai keupayaan untuk melayani beberapa laman web dari alamat IP yang sama, menggunakan tuan rumah maya. Setiap tuan rumah maya boleh dikonfigurasikan dalam fail konfigurasi pelayan utama, atau, terima kasih kepada Termasuk
atau Termasuk optimum
arahan, dengan sendiri yang berdedikasi. Apabila bilangan tuan rumah maya meningkat, pengurusan mereka mula menjadi menyusahkan. Sekiranya konfigurasi mereka agak serupa, kita dapat menguruskannya secara dinamik, terima kasih kepada mod_vhost_alias
modul. Dalam tutorial ini kita akan melihat bagaimana melakukannya.
Dalam tutorial ini anda akan belajar:
- Apa itu tuan rumah maya Apache
- Cara memeriksa sama ada modul mod_vhost_alias diaktifkan
- Cara memuatkan modul mod_vhost_alias pada keluarga debian dan red hat pengagihan
- Cara Mengurus Hos Maya Dinamik Menggunakan Modul Mod_VHOST_ALIAS
Keperluan perisian dan konvensyen yang digunakan
Kategori | Keperluan, konvensyen atau versi perisian yang digunakan |
---|---|
Sistem | Pengedaran bebas |
Perisian | Pelayan web Apache |
Yang lain | Keizinan akar |
Konvensyen | # - Memerlukan komando linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$-memerlukan komando Linux yang diberikan sebagai pengguna yang tidak berkadar biasa |
Gambaran Keseluruhan Hos Maya Cepat
Seperti yang telah kita sebutkan dalam pengenalan, pelayan web Apache mempunyai keupayaan untuk melayani beberapa laman web menggunakan tuan rumah maya dan konfigurasi DNS yang betul. Yang di bawah adalah definisi tuan rumah maya yang minimum namun tipikal:
ServerName www.ujian.Ujian LAN Serveralias.LAN Documentroot/var/www/www.ujian.lan
Konfigurasi ini akan menguruskan permintaan pengguna ke www.ujian.lan
alamat, yang merupakan nilai yang kami tetapkan dengan Nama pelayan
arahan, tetapi juga ke ujian.lan
, yang mana satu Serveralias
. Dengan Documentroot
Arahan Kami menetapkan direktori asas dari mana fail yang berkaitan dengan tuan rumah maya harus disampaikan, yang dalam hal ini adalah /var/www/www.ujian.lan
.
Hos maya boleh ditakrifkan dalam fail konfigurasi pelayan utama (/etc/httpd/conf/httpd.Conf
Pada keluarga Red Hat pengagihan, /etc/apache2/apache2.Conf
mengenai sistem Debian dan derivatifnya), atau boleh ditulis dalam failnya sendiri dan termasuk dari konfigurasi utama. Sesungguhnya, jika kita melihat konfigurasi Apache pada pengagihan Linux utama, kita dapat melihat bahawa fail tuan rumah maya dimasukkan melalui Termasuk optimum
Arahan dari beberapa direktori tertentu.
Pada fedora dan pengagihan yang berkaitan, sebagai contoh, kami mendapati konfigurasi berikut pada akhir fail:
# Memuatkan fail konfigurasi dalam "/etc/httpd/conf.D direktori, jika ada. Termasuk Conf.d/*.Conf
Pada Debian, sebaliknya:
# Sertakan konfigurasi hos maya: termasuk laman web yang dibolehkan/*.Conf
Kita dapat melihat bahawa jalan dari mana fail harus disertakan, adalah relatif kepada akar pelayan. The Termasuk optimum
Arahan digunakan untuk memasukkan fail tuan rumah maya yang harus dinamakan dengan .Conf
akhiran. Di sini Termasuk
Arahan juga boleh digunakan; Apakah perbezaan antara keduanya? Kedua -duanya bekerja dengan cara yang sama, Termasuk optimum
Walau bagaimanapun, arahan tidak menyebabkan kesilapan apabila kad liar digunakan (seperti dalam kes ini) dan tiada perlawanan dijumpai, atau jika jalan tidak wujud, secara umumnya.
Untuk persediaan ini berfungsi, entri DNS yang betul juga harus dikonfigurasikan. Sekiranya bekerja di dalam negara, bagaimanapun, kami hanya dapat menambah garis di /etc/hos
fail. Sebagai contoh:
127.0.0.1 www.ujian.lan
Apabila konfigurasi tuan rumah maya mula meningkat, pengurusan mereka dengan mudah dapat menyusahkan. Penyelesaian yang mungkin untuk masalah ini adalah dengan menggunakan tuan rumah maya yang dihasilkan secara dinamik. Mari kita lihat bagaimana melakukannya dengan mod_vhost_alias modul.
Memuatkan modul mod_vhost_alias
Perkara pertama yang perlu kita lakukan ialah memeriksa sama ada mod_vhost_alias modul diaktifkan. Perintah yang ingin kami jalankan untuk tujuan ini bergantung pada pengedaran yang kami gunakan. Di Fedora dan pengedaran keluarga Red Hat yang lain, kita boleh menggunakan yang berikut:
$ httpd -m | grep -i vhost_alias
Pada Debian, sebaliknya:
$ apachectl -m | grep -i vhost_alias
Dengan melewati -M
pilihan untuk httpd
(atau Apachectl
) perintah, kami memperoleh senarai modul statik dan dikongsi yang dimuatkan; paip output ke grep kita boleh periksa sama ada modul yang kita perlukan di dalamnya. Sekiranya modul tidak dimuatkan, pada Debian dan derivatifnya kita boleh menjalankan arahan berikut:
$ sudo a2enmod vhost_alias & & sudo systemctl mulakan semula apache2
The A2enmod
Perintah membuat pautan simbolik ke /etc/apache2/mods-tersedia/mod_vhost_alias.Jadi
memfailkan ke /etc/apache2/mods-mods
direktori (sama dengan apa yang a2ensite
perintah tidak untuk konfigurasi tuan rumah maya), di mana modul dimuatkan dari.
Pada keluarga Red Hat pengedaran senarai modul asas yang dimuatkan berada di /etc/httpd/conf.modul.D/00-base.Conf
fail. Setiap modul dimuatkan dengan LoadModule
arahan. Sekiranya atas sebab tertentu vhost_alias
Barisan Modul (67) dikomentari, hanya keluarkan komen, simpan pengubahsuaian, dan tambah nilai perkhidmatan HTTPD:
$ sudo systemctl mulakan semula httpd
Sebaik sahaja modul diaktifkan, kita boleh meneruskan dengan konfigurasi sebenar.
Membuat tuan rumah maya yang dinamik
Persediaan yang kita buat adalah berdasarkan fakta bahawa mod_vhost_alias Modul menyimpan komponen-komponen yang dipisahkan titik nama tuan rumah maya yang diminta di dalam beberapa pembolehubah yang kita boleh rujukan dan interpolasi dalam rentetan yang kita gunakan untuk menentukan akar dokumen hos maya. Sekiranya kita mengambil www.ujian.lan
Tuan rumah maya sebagai contoh, kita akan mempunyai:
- %0: keseluruhan nama tuan rumah maya
- %1: "www"
- %2: "Ujian"
- %3: "Lan"
Nombor negatif juga boleh digunakan, jadi, sebagai contoh, kita akan mempunyai:
- %-1 Bahagian terakhir nama, dalam kes ini "LAN"
- %-2 bahagian terakhir, dalam kes ini "ujian"
Malah mungkin untuk menentukan setiap komponen nama tuan rumah maya dari pelabuhan tertentu ke atas atau ke belakang. Sebagai contoh, %2+
bermaksud "dari bahagian kedua seterusnya" dan %-2+
'menyebabkan komponen terakhir dan semua komponen yang mendahuluinya disertakan.
Menganggap kita mahu menggunakan /var/www/
Direktori Sebagai pangkalan semua tuan rumah maya kami, kami dapat membuat konfigurasi berikut dalam fail, mari kita sebut Dynamic_vhost.Conf
:
UseCanonicalName Off VirtualDocumentRoot "/var/www/%-2"
Mari kita jelaskan konfigurasi di atas. Pertama sekali kita menggunakan Usecanonicalname
Arahan dan tetapkannya ke "Mati": Kami melakukan ini untuk memastikan nama pelayan diambil dari tajuk "Host:" dalam permintaan HTTP. Kita daripada menggunakan VirtualDocumentRoot
arahan. Arahan ini diperlukan untuk menetapkan jalan dinamik untuk akar dokumen tuan rumah maya, dengan menggunakan pembolehubah yang kita lihat di atas yang dinilai semasa menguruskan permintaan.
Apabila www.ujian.lan
Hos maya diminta, secara automatik fail yang akan disampaikan untuknya akan dicari di dalam /var/www/ujian
direktori. Penggunaan %-2
Indeks negatif mempunyai kelebihan bahawa persediaan akan berfungsi dengan baik www.ujian.lan
dan untuk ujian.lan
, Oleh kerana ia berfungsi ke belakang.
Ini jelas merupakan contoh apa yang dapat dicapai dengan menggunakan mod_vhost_alias modul, dan anda boleh membuat konfigurasi yang sesuai dengan anda.
Kekurangan
Persediaan semacam ini agak praktikal jika semua tuan rumah maya yang kami uruskan sangat serupa dan memerlukan persediaan yang sama, tetapi mempunyai kelemahannya, yang boleh menjadi sangat relevan bergantung pada keadaan. Pertama sekali, tidak mungkin untuk menentukan tetapan khusus VirtualHost, jika tidak dengan penggunaan .fail htaccess); Persediaan semacam ini juga akan menyebabkan masalah jika digunakan bersama dengan konfigurasi hos maya standard. Akhirnya, permintaan untuk semua tuan rumah maya akan dilog masuk dalam fail yang sama.
Kesimpulan
Pelayan Web Apache dapat melayani beberapa laman web dan sumber dari mesin tunggal terima kasih kepada penggunaan tuan rumah maya. Apabila bilangan tuan rumah maya mula meningkat dalam jumlah, ia boleh menjadi sukar untuk menguruskannya jika masing -masing mempunyai fail/bahagian konfigurasi sendiri. Sekiranya mereka mempunyai tetapan yang sama, kita dapat menyelesaikan masalah ini menggunakan tuan rumah maya yang dihasilkan secara dinamik, memanfaatkan mod_vhost_alias modul.
Dalam artikel ini kita melihat bagaimana untuk memeriksa sama ada modul ini diaktifkan dan bagaimana untuk membolehkannya dalam keluarga debian dan red hat pengagihan. Kami juga melihat bagaimana komponen nama tuan rumah maya disimpan dalam pembolehubah, dan cara menggunakannya untuk membuat tuan rumah maya dinamik. Akhirnya, kita melihat apakah kelemahan menggunakan persediaan ini.
Tutorial Linux Berkaitan:
- Cara Memindahkan Apache ke Nginx dengan Menukar Virtualhosts ke ..
- Firefox di Linux - Sambungan anda tidak selamat
- Membandingkan Linux Apache Prefork vs Pekerja MPMS
- Perkara yang hendak dipasang di Ubuntu 20.04
- Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
- Cara memasang ubuntu 20.04 di VirtualBox
- Senarai alat Kali Linux terbaik untuk ujian penembusan dan ..
- APACHE IP dan Nama Berdasarkan Hos Maya Maya dijelaskan
- Pengenalan kepada Automasi, Alat dan Teknik Linux
- Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?
- « Cara mengkonfigurasi NFS di Linux
- Cara Mengedit Fail Sistem Dengan SudoEdit Memelihara Persekitaran Pengguna Pengguna »