Ubuntu 如何设定 Apache 的虚拟网站/虚拟主机 (VirtualHost) ?

阿舍以下的说明是以网域名称 ( Name Based )为基础的 Virtual Host 设定方式,也就是说,在一个 Apache 伺服器上依网域名称来架设多个网站的方式,除了以网域名称外,还有的,就是以 IP 位址为基础 ( IP Based ) 的方式,而这种以不同 IP 位址来架设多网站的方法,就不是阿舍这篇要说明的哩 ...





假设这次要架的网站是 : xyz.arthurtoday.com
1. 先安装 Apache2

2.建立虚拟主机 ( Virtual Host ) 设定档
在 /etc/apache2/sites-available 下,建立一个档案名称叫做 xyz.arthurtoday.com 的文字档

$ sudo vi /etc/apache2/sites-available/xyz.arthurtoday.com


3.调整设定档
把下面这一串打到 /etc/apache2/sites-available/xyz.arthurtoday.com 档案里..


<VirtualHost *:80>
           #管理者邮箱 
           ServerAdmin xyz@arthurtoday.com
           #网站名称 
           ServerName xyz.arthurtoday.com
          #网站别名
          ServerAlias www.xyz.arthurtoday.com
          #网站的根目录
          DocumentRoot /var/www/xyz.arthurtoday.com/public_html/
          #网站的错误日志档存放的位置与档名
          ErrorLog /var/www/xyz.arthurtoday.com/logs/error.log
          #网站日志档存放的位置与档名
          CustomLog /var/www/xyz.arthurtoday.com/logs/access.log combined
</VirtualHost>


4.建立网站资料夹

$ sudo mkdir -p /var/www/xyz.arthurtoday.com/public_html
$ sudo mkdir /var/www/xyz.arthurtoday.com/logs


5.启用虚拟网站

$ sudo a2ensite xyz.arthurroday.com


6. 重新载入设定
重新载入 Apache 的设定档

$ sudo /etc/init.d/apache2 reload

7. 调整 DNS 记录 
在 arthurtoday.com 的 DNS 上,加一笔 xyz 的 A Record 指到这台 Apache Server 的 IP。

这样就算完成了,只要在浏览器打入 xyz.arthurtoday.com 应该就可以看到一个没有档案的资料夹网页了 (因为还没放任何的 html 档到 /var/www/xyz.arthurtoday.com/public_html )


8. 停用虚拟网站
如果要停用这个虚拟网站

$ sudo a2dissite xyz.arthurtoday.com
$ sudo /etc/init.d/apache2 reload

共享: