原文地址:https://zhaoshuquan.com/posts/8
準備
安裝Apache,具體安裝過程可以參考這篇文章https://zhaoshuquan.com/posts/4
第一步 - 創建目錄
第一步是創建一個目錄結構,該結構將保存爲訪問者提供的站點數據。
sudo mkdir -p /var/www/example.com/publish_html
sudo mkdir -p /var/www/test.com/publish_html
這裏我們設置的域名是example.com和test.com
第二步 - 設置權限
現在我們有了文件的目錄結構,但它們歸root用戶所有。 如果我們希望我們的常規用戶能夠修改我們的Web目錄中的文件,我們可以通過這樣做來更改所有權:
sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/test.com/public_html
當您按“ENTER”時,$ USER變量將獲取您當前登錄的用戶的值。 通過這樣做,我們的常規用戶現在擁有public_html子目錄,我們將存儲我們的內容。
我們還應該稍微修改我們的權限,以確保允許對一般Web目錄及其包含的所有文件和文件夾進行讀取訪問,以便可以正確地提供頁面:
sudo chmod -R 755 /var/www
第三步 - 給每個虛擬主機創建演示頁面
爲example.com創建頁面
vim /var/www/example.com/publish_html/index.html
輸入以下內容:
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html>
保存並關閉文件。
複製這個文件到text.com目錄下:
cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html
打開並修改文件:
vim /var/www/test.com/public_html/index.html
修改爲下面的內容:
<html>
<head>
<title>Welcome to Test.com!</title>
</head>
<body>
<h1>Success! The test.com virtual host is working!</h1>
</body>
</html>
保存並關閉文件。
第四步 - 創建新的虛擬主機文件
創建第一個虛擬主機文件
首先複製000-default.conf:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
用編輯器打開example.com.conf
sudo vim /etc/apache2/sites-available/example.com.conf
修改爲以下內容:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
創建第二個虛擬主機文件
複製example.com.conf
sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf
編輯test.com.conf
sudo vim /etc/apache2/sites-available/test.com.conf
修改爲以下內容
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
第五步 - 啓用新的虛擬主機
運行一下命令,啓用新的虛擬主機:
sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
重啓apache2服務器:
sudo service apache2 restart