在Apache2中設置虛擬主機(Virtual Host)可以讓你在同一臺服務器上托管多個網站。以下是詳細的步驟:
如果你還沒有安裝Apache2,可以使用以下命令進行安裝:
sudo apt update
sudo apt install apache2
確保啟用了mod_rewrite和mod_ssl模塊(如果你打算使用SSL):
sudo a2enmod rewrite
sudo a2enmod ssl
虛擬主機配置文件通常位于/etc/apache2/sites-available/目錄下。你可以為每個網站創建一個單獨的配置文件。
sudo nano /etc/apache2/sites-available/site1.com.conf
在文件中添加以下內容:
<VirtualHost *:80>
ServerAdmin webmaster@site1.com
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com
<Directory /var/www/site1.com>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/site1.com_error.log
CustomLog ${APACHE_LOG_DIR}/site1.com_access.log combined
</VirtualHost>
sudo nano /etc/apache2/sites-available/site2.com.conf
在文件中添加以下內容:
<VirtualHost *:80>
ServerAdmin webmaster@site2.com
ServerName site2.com
ServerAlias www.site2.com
DocumentRoot /var/www/site2.com
<Directory /var/www/site2.com>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/site2.com_error.log
CustomLog ${APACHE_LOG_DIR}/site2.com_access.log combined
</VirtualHost>
使用a2ensite命令啟用你創建的虛擬主機配置文件:
sudo a2ensite site1.com.conf
sudo a2ensite site2.com.conf
如果你不再需要默認的Apache站點,可以禁用它:
sudo a2dissite 000-default.conf
使配置生效,重啟Apache2服務:
sudo systemctl restart apache2
確保你的域名(如site1.com和site2.com)已經正確配置了DNS,指向你的服務器IP地址。
打開瀏覽器,訪問http://site1.com和http://site2.com,確保它們都能正常顯示。
通過以上步驟,你就可以在Apache2中成功設置虛擬主機了。如果你打算使用SSL,還需要配置SSL證書并修改虛擬主機配置文件以支持HTTPS。