在这个教程中,我会使用Ubuntu 14.04 32位 LTS,并搭建2个测试网站分别命名为“unixmen1.local” 和 “unixmen2.local”.个人测试机分别为192.168.1.250/24和server.unixmen.local。你能够根据你的须要更改虚拟域名。html
安装apache服务器以前,咱们来更新一下咱们的Ubuntu服务器:web
sudo apt-get update
而后,用下面命令来安装apache网络服务器:apache
sudo apt-get install apache2
安装apache服务器以后,让咱们经过这个URL http://你的服务器的IP地址/ 来测试网站服务器是否正常工做浏览器
如你所见,apache服务器已经工做了。服务器
如今,让咱们继续安装虚拟主机。正如我先前所述,我要新建2台虚拟主机分别命名为“unixmen1.local”和“unixmen2.local”.网络
建立一个公用的文件夹来存放这两台虚拟主机的数据。app
首先,让咱们为unixmen1.local这个站点建立一个目录:less
sudo mkdir -p /var/www/unixmen1.local/public_html
接着,为for unixmen2.local站点建立一个目录:ide
sudo mkdir -p /var/www/unixmen2.local/public_html
上面目录如今只有root拥有权限。咱们须要修改这2个目录的拥有权给普通用户,而不单单是root用户。测试
sudo chown -R $USER:$USER /var/www/unixmen1.local/public_html/sudo chown -R $USER:$USER /var/www/unixmen2.local/public_html/
“$USER”变量指向了当前的登陆用户。
设置读写权限给apache网页根目录(/var/www)及其子目录,这样每一个人均可以从目录中读取文件。
sudo chmod -R 755 /var/www/
这样,咱们就建立好了一些文件夹来保存网络相关数据并分配必要的权限和所属用户。
如今,咱们给网站增长示例页。第一步,让咱们给虚拟主机unixmen1.local建立一个示例页。
给unixmen1.local虚拟主机建立一个示例页,
sudo vi /var/www/unixmen1.local/public_html/index.html
添加如下内容:
<html> <head> <title>www.unixmen1.local</title> </head> <body> <h1>Welcome To Unixmen1.local website</h1> </body></html>
保存并关闭文件。
一样的,添加示例页到第二台虚拟主机。
sudo vi /var/www/unixmen2.local/public_html/index.html
添加如下内容:
<html> <head> <title>www.unixmen2.local</title> </head> <body> <h1>Welcome To Unixmen2.local website</h1> </body></html>
保存并关闭文件。
默认状况下,apache有一个默认的虚拟主机文件叫000-default.conf。咱们将会复制000-default.conf文件内容到咱们新的虚拟主机配置文件中。
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/unixmen1.local.confsudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/unixmen2.local.conf
确保虚拟主机配置文件末尾包含.conf扩展名。
如今,修改unximen1.local.conf文件以符合需求。
sudo vi /etc/apache2/sites-available/unixmen1.local.conf
使相关的变化直接呈如今unixmen1站点中(译注:以“#”开头的注释行能够忽略。)。
<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.example.com ServerAdmin webmaster@unixmen1.local ServerName unixmen1.local ServerAlias www.unixmen1.local DocumentRoot /var/www/unixmen1.local/public_html # 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 comb
# 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.confsudo a2ensite unixmen1.local.confsudo a2ensite unixmen2.local.conf
最后,重启apache服务器。
sudo service apache2 restart
就是这样。如今,咱们成功地配置了apach虚拟主机在咱们的Ubuntu服务器上
编辑/etc/hosts文件,
sudo vi /etc/hosts
在文件末尾添加以下所示的虚拟域名。
192.168.1.250 unixmen1.local192.168.1.250 unixmen2.local
保存并关闭文件。
打开你的浏览器并访问http://unixmen1.local 或 http://unixmen2.local。你将会看到咱们以前建立的示例页。
若是你想从你的远程系统访问这些站点,你须要在你的DNS服务器添加实际域名记录。不过,我没有真实的域名和DNS服务器,我只想经过个人本地系统测试,那么它恰好如我所愿地工做。