在Linux系統上配置Apache2的虛擬主機,可以讓你在同一臺服務器上托管多個網站。以下是詳細的步驟:
如果你還沒有安裝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
如果你在本地測試,可以在/etc/hosts
文件中添加以下行:
127.0.0.1 site1.com
127.0.0.1 site2.com
如果你需要SSL支持,可以使用Let’s Encrypt免費獲取SSL證書,并配置Apache2使用這些證書。
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d site1.com -d www.site1.com
sudo certbot --apache -d site2.com -d www.site2.com
按照提示完成證書的安裝和配置。
打開瀏覽器,訪問http://site1.com
和http://site2.com
,確保它們都能正確顯示。
通過以上步驟,你就可以在Linux系統上成功配置Apache2的虛擬主機了。