Cara Mengurus Hos Maya Dinamik Dengan Apache dan Modul Mod_VHOST_ALIAS

Cara Mengurus Hos Maya Dinamik Dengan Apache dan Modul Mod_VHOST_ALIAS

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

Keperluan Perisian dan Konvensyen Talian Perintah Linux
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?