Rumah >Operasi dan penyelenggaraan >Apache >Bagaimanakah saya membuat tuan rumah maya di Apache untuk beberapa laman web?
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,
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:
/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).<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.
<virtualhost></virtualhost>
yang berasingan untuk setiap laman web yang anda mahu menjadi tuan rumah, menukar ServerName
, ServerAlias
, dan DocumentRoot
yang sewajarnya.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
.Keselamatan adalah yang paling penting apabila menganjurkan beberapa laman web pada pelayan tunggal. Berikut adalah pertimbangan utama:
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 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
. 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.
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:
mod_php
atau php-fpm
) untuk setiap hos maya, menyatakan laluan ke PHP yang boleh dilaksanakan.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!