Rumah >Operasi dan penyelenggaraan >Apache >Bagaimanakah saya membuat tuan rumah maya di Apache untuk beberapa laman web?

Bagaimanakah saya membuat tuan rumah maya di Apache untuk beberapa laman web?

Robert Michael Kim
Robert Michael Kimasal
2025-03-11 17:21:16558semak imbas

Panduan artikel ini mengkonfigurasi tuan rumah maya Apache untuk beberapa laman web. Ia butiran membuat & lt; VirtualHost & gt; Blok Menentukan ServerName, Serveralias, dan Documentroot, bersama -sama dengan pertimbangan keselamatan seperti kebenaran direktori,

Bagaimanakah saya membuat tuan rumah maya di Apache untuk beberapa laman web?

Cara membuat tuan rumah maya di Apache untuk beberapa laman web

Mewujudkan tuan rumah maya di Apache membolehkan anda menjadi tuan rumah beberapa laman web dari satu pelayan. Ini dicapai dengan mengkonfigurasi Apache untuk bertindak balas secara berbeza berdasarkan nama domain permintaan masuk atau alamat IP. Inilah panduan langkah demi langkah:

  1. Edit Fail Konfigurasi Apache: Lokasi fail ini bergantung pada sistem operasi anda dan pemasangan Apache. Lokasi yang biasa termasuk /etc/apache2/apache2.conf (debian/ubuntu), /etc/httpd/conf/httpd.conf (red hat/centos), atau /etc/httpd/conf/extra/httpd-vhosts.conf (sering disukai untuk configural configurs.conf. Gunakan editor teks dengan keistimewaan root (seperti sudo nano pada linux).
  2. Tentukan hos maya: Dalam fail konfigurasi, anda akan menambah blok <virtualhost></virtualhost> untuk setiap laman web. Setiap blok mentakrifkan tetapan untuk tuan rumah maya tertentu. Contoh asas kelihatan seperti ini:
 <code class="apache"><virtualhost> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com <directory> AllowOverride All Require all granted </directory> </virtualhost></code>
  • ServerName : Nama domain utama untuk tuan rumah maya ini.
  • ServerAlias : Nama domain alternatif yang harus menunjuk kepada tuan rumah maya ini.
  • DocumentRoot : Direktori yang mengandungi fail laman web. Pastikan direktori ini wujud.
  • <directory></directory> : Menentukan kebenaran untuk direktori dokumen. AllowOverride All membolehkan fail .htaccess untuk mengatasi beberapa tetapan, sementara Require all granted membolehkan akses untuk semua. Gunakan berhati -hati dengan AllowOverride All dalam persekitaran pengeluaran.
  1. Ulangi untuk setiap laman web: Buat blok <virtualhost></virtualhost> yang berasingan untuk setiap laman web yang anda mahu menjadi tuan rumah, menukar ServerName , ServerAlias , dan DocumentRoot yang sewajarnya.
  2. Dayakan tuan rumah maya: Selepas menambah konfigurasi, anda perlu membolehkannya. Proses ini berbeza -beza bergantung kepada sistem anda. Pada Debian/Ubuntu, anda mungkin menggunakan a2ensite example.com (menggantikan example.com dengan nama laman web anda) diikuti oleh sudo systemctl reload apache2 . Pada Red Hat/CentOS, anda mungkin perlu memulakan semula Apache menggunakan sudo systemctl restart httpd .
  3. Konfigurasikan DNS: Secara kritis, anda perlu mengkonfigurasi rekod DNS anda untuk menunjukkan nama domain ke alamat IP pelayan anda.

Apakah pertimbangan keselamatan apabila menubuhkan pelbagai tuan rumah maya di Apache?

Keselamatan adalah yang paling penting apabila menganjurkan beberapa laman web pada pelayan tunggal. Berikut adalah pertimbangan utama:

  • Kebenaran direktori: Mengatasi akses kepada direktori dokumen untuk setiap hos maya. Gunakan kebenaran fail yang sesuai (misalnya, chmod 755 untuk direktori dan chmod 644 untuk fail) untuk mengelakkan akses atau pengubahsuaian yang tidak dibenarkan. Elakkan tetapan terlalu permisif seperti 777 .
  • .Htaccess Files: Walaupun mudah, .htaccess Files boleh memperkenalkan kelemahan keselamatan jika tidak diuruskan dengan teliti. Elakkan menggunakannya jika boleh, dan jika anda mesti menggunakannya, semak semula dan hadkan arahan yang dibenarkan melalui AllowOverride .
  • Kemas kini keselamatan tetap: Pastikan pelayan Apache anda dan semua perisian yang berkaitan (PHP, MySQL, dan lain -lain) dikemas kini dengan patch keselamatan terkini. Kerentanan di mana -mana bahagian timbunan boleh berkompromi dengan keseluruhan pelayan anda.
  • Firewall: Gunakan firewall untuk menyekat akses kepada hanya pelabuhan yang diperlukan (biasanya port 80 untuk HTTP dan 443 untuk HTTPS). Blok sambungan masuk yang tidak perlu.
  • Sijil SSL/TLS: Gunakan HTTPS untuk semua laman web untuk menyulitkan komunikasi antara pelayan dan pelanggan. Dapatkan sijil SSL/TLS dari pihak berkuasa sijil yang bereputasi (CA) seperti Let's Encrypt.
  • Audit Keselamatan Biasa: Melakukan audit keselamatan tetap untuk mengenal pasti dan menangani kelemahan yang berpotensi.

Bagaimanakah saya dapat mengkonfigurasi pelabuhan dan domain yang berbeza untuk setiap tuan rumah maya di Apache?

Anda boleh dengan mudah mengkonfigurasi pelabuhan dan domain yang berbeza untuk setiap tuan rumah maya dalam arahan <virtualhost></virtualhost> .

Untuk menggunakan port yang berbeza, tentukannya selepas * dalam perisytiharan VirtualHost . Sebagai contoh, untuk menggunakan port 8080 untuk tuan rumah maya:

 <code class="apache"><virtualhost> ServerName example.com:8080 # ... other directives ... </virtualhost></code>

Perhatikan bahawa pelanggan perlu mengakses laman web ini menggunakan example.com:8080 . Menggunakan port bukan standard pada umumnya kurang biasa sekarang bahawa HTTPS lazim. Walau bagaimanapun, ia berguna untuk ujian atau aplikasi tertentu.

Untuk menggunakan domain yang berbeza, hanya tentukannya dalam arahan ServerName dan ServerAlias seperti yang ditunjukkan dalam bahagian pertama. Apache akan sepadan dengan pengepala tuan rumah permintaan masuk untuk menentukan tuan rumah maya yang hendak digunakan. Ini adalah kaedah standard dan pilihan.

Bolehkah saya menggunakan tuan rumah maya Apache dengan versi php yang berbeza untuk setiap laman web?

Ya, anda boleh menggunakan tuan rumah maya Apache dengan versi PHP yang berbeza untuk setiap laman web. Ini biasanya melibatkan menggunakan pelbagai pemasangan PHP dan mengkonfigurasi Apache untuk menggunakan pengendali PHP yang sesuai untuk setiap hos maya.

Kaedah yang tepat bergantung pada sistem anda dan bagaimana PHP dipasang. Pendekatan biasa termasuk:

  • Pelbagai Pemasangan PHP: Pasang pelbagai versi PHP (misalnya, Php 7.4 dan Php 8.1). Kemudian, konfigurasikan Apache untuk menggunakan pengendali PHP yang berbeza (seperti mod_php atau php-fpm ) untuk setiap hos maya, menyatakan laluan ke PHP yang boleh dilaksanakan.
  • PHP-FPM: PHP-FPM (Pengurus Proses FastCGI) sering disukai untuk menguruskan pelbagai versi PHP. Anda akan mengkonfigurasi kolam PHP-FPM yang berasingan untuk setiap versi PHP dan kemudian memberitahu Apache untuk menggunakan kolam yang betul untuk setiap hos maya. Ini memerlukan mengkonfigurasi PHP-FPM sendiri untuk membuat kolam.
  • suexec (untuk peningkatan keselamatan): Menggunakan suexec meningkatkan keselamatan dengan menjalankan setiap skrip PHP host maya di bawah akaun pengguna yang berbeza. Ini menghalang satu laman web yang dikompromi daripada menjejaskan orang lain.

Mengkonfigurasi persediaan ini memerlukan perhatian yang teliti terhadap perincian dan kebiasaan dengan persekitaran pelayan dan konfigurasi PHP anda. Rujuk dokumentasi sistem anda dan dokumentasi PHP-FPM untuk arahan terperinci. Ia umumnya lebih kompleks daripada persediaan host maya asas.

Atas ialah kandungan terperinci Bagaimanakah saya membuat tuan rumah maya di Apache untuk beberapa laman web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn