1. 程式人生 > >Ubuntu #Apache2 Ubuntu 14.04 LTS系統中設置Apache虛擬主機

Ubuntu #Apache2 Ubuntu 14.04 LTS系統中設置Apache虛擬主機

line roo def itl val 所有者 根目錄 you and

虛擬主機常用於在一個單獨的IP地址上提供多個域名的網站服務。如果有人想在單個VPS的單個IP地址運行多個網站,這是非常有用的。在這個教程中,讓我告訴你如何設置在Ubuntu 14.04 LTS的Apache網頁服務器設置虛擬主機。請註意,這個教程只針對Ubuntu14.04的32位版本。

我不保證它也可以工作在其它更低的Ubuntu版本或者Ubuntu衍生版本(雖然可能過程是類似的)。
方案
在這個教程中,我會使用Ubuntu 14.04 32位 LTS,並搭建2個測試網站分別命名為“unixmen1.local” 和 “unixmen2.local”.我的測試機分別為192.168.1.250/24和server.unixmen.local。你可以根據你的需要更改虛擬域名。
安裝Apache網站服務器
安裝apache服務器之前,我們來更新一下我們的Ubuntu服務器:
1. sudo apt-get update
然後,用下面命令來安裝apache網絡服務器:
1. sudo apt-get install apache2
安裝apache服務器之後,讓我們通過這個URL http://你的服務器的IP地址/ 來測試網站服務器是否正常工作

如你所見,apache服務器已經工作了。
設置虛擬主機
1.創建虛擬目錄
現在,讓我們繼續安裝虛擬主機。正如我先前所述,我要新建1臺虛擬主機分別命名為“lws.com”
創建一個公用的文件夾來存放這兩臺虛擬主機的數據。

接著,為站點創建一個目錄:
1. sudo mkdir -p /data/lwssite
2. 設置所有者和權限
上面目錄現在只有root擁有權限。我們需要修改這2個目錄的擁有權給普通用戶,而不僅僅是root用戶。
1. sudo chown -R $USER:$USER /data/lwssite/
“$USER”變量指向了當前的登錄用戶。
設置讀寫權限給apache網頁根目錄(/var/www)及其子目錄,這樣每個人都可以從目錄中讀取文件。
1. sudo chmod -R 755 /var/www/
這樣,我們就創建好了一些文件夾來保存網絡相關數據並分配必要的權限和所屬用戶。
3. 為虛擬主機創建示例頁
現在,我們給網站增加示例頁。第一步,讓我們給虛擬主機unixmen1.local創建一個示例頁。
1. sudo vi /data/lwssite/index.html
添加以下內容:
1. <html>
2. <head>
3. <title>www.unixmen2.local</title>
4. </head>
5. <body>
6. <h1>Welcome To lws website</h1>
7. </body>
8. </html>
保存並關閉文件。
4. 創建虛擬主機配置文件
默認情況下,apache有一個默認的虛擬主機文件叫000-default.conf。我們將會復制000-default.conf文件內容到我們新的虛擬主機配置文件中。
1. sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/lws.com.conf
確保虛擬主機配置文件末尾包含.conf擴展名。




[email protected]:/etc/apache2/sites-available# vi lws.com.conf

<VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request‘s Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly.
     ServerName www.lws.com ServerAdmin [email protected] DocumentRoot /data/lwssite # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf </VirtualHost>

  


修改虛擬主機文件後,禁用默認的虛擬主機配置(000.default.conf),然後啟用新的虛擬主機配置,如下所示。

sudo a2dissite 000-default.conf
sudo a2ensite unixmen1.local.conf
sudo a2ensite unixmen2.local.conf

最後,重啟apache服務器。
1. sudo service apache2 restart
就是這樣。現在,我們成功地配置了apach虛擬主機在我們的Ubuntu服務器上
測試虛擬主機
編輯/etc/hosts文件,
1. sudo vi /etc/hosts
在文件末尾添加如下所示的虛擬域名。
1. 192.168.199.135 lws.com
保存並關閉文件。
打開你的瀏覽器並訪問http://lws.com你將會看到我們之前創建的示例頁。

如果你想從你的遠程系統訪問這些站點,你需要在你的DNS服務器添加實際域名記錄。不過,我沒有真實的域名和DNS服務器,我只想通過我的本地系統測試,那麽它剛好如我所願地工作。
Cheers!

Ubuntu #Apache2 Ubuntu 14.04 LTS系統中設置Apache虛擬主機