文档章节

在Ubuntu 14.04 LTS系统中设置Apache虚拟主机

anziguoer
 anziguoer
发布于 2014/06/08 20:02
字数 1295
阅读 117
收藏 6

方案

在这个教程中,我会使用Ubuntu 14.04 32位 LTS,并搭建2个测试网站分别命名为“unixmen1.local” 和 “unixmen2.local”.我的测试机分别为192.168.1.250/24server.unixmen.local。你可以根据你的需要更改虚拟域名。

安装Apache网站服务器

安装apache服务器之前,我们来更新一下我们的Ubuntu服务器:

sudo apt-get update

然后,用下面命令来安装apache网络服务器:

sudo apt-get install apache2

安装apache服务器之后,让我们通过这个URL http://你的服务器的IP地址/ 来测试网站服务器是否正常工作

如你所见,apache服务器已经工作了。

设置虚拟主机

1.创建虚拟目录

现在,让我们继续安装虚拟主机。正如我先前所述,我要新建2台虚拟主机分别命名为“unixmen1.local”和“unixmen2.local”.

创建一个公用的文件夹来存放这两台虚拟主机的数据。

首先,让我们为unixmen1.local这个站点创建一个目录:

sudo mkdir -p /var/www/unixmen1.local/public_html

接着,为for unixmen2.local站点创建一个目录:

sudo mkdir -p /var/www/unixmen2.local/public_html

2. 设置所有者和权限

上面目录现在只有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/

这样,我们就创建好了一些文件夹来保存网络相关数据并分配必要的权限和所属用户。

4. 为虚拟主机创建示例页

现在,我们给网站增加示例页。第一步,让我们给虚拟主机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>

保存并关闭文件。

5. 创建虚拟主机配置文件

默认情况下,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.localhttp://unixmen2.local。你将会看到我们之前创建的示例页。

如果你想从你的远程系统访问这些站点,你需要在你的DNS服务器添加实际域名记录。不过,我没有真实的域名和DNS服务器,我只想通过我的本地系统测试,那么它刚好如我所愿地工作。

本文转载自:http://linux.cn/article-3164-1.html

共有 人打赏支持
anziguoer

anziguoer

粉丝 29
博文 81
码字总数 39619
作品 0
海淀
程序员
私信 提问
Ubuntu 为所有受支持的版本提供重要的 Linux 内核更新

近日,Canonical 发布了针对所有受支持的 Ubuntu 版本的一系列重要 Linux 内核更新,以解决影响各种内核组件的 50 多个安全漏洞。 新的内核安全更新现在可供 32 位和 64 位的 Ubuntu 18.04 L...

局长
08/27
2.2K
1
Docker的安装,配置,更新和卸载

版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/51226700 在Linux中开启Docker引擎 我们可以在Linux中安装Docker并运行Hello world...

陈洪波
2016/04/23
0
0
Ubuntu 发布 AMD 微码固件,解决无法启动问题

上个月,Canonical 发布了针对 Ubuntu 18.04 LTS(Bionic Beaver)、Ubuntu 17.10(Artful Aardvark)、Ubuntu 16.04 LTS(Xenial Xerus)和 Ubuntu 14.04 LTS(Trusty Tahr)的 AMD 微代码固......

h4cd
07/09
1K
7
Canonical发布Ubuntu 14.04 LTS 内核回归新补丁

导读 上周,Canonical发布了针对所有受支持的Ubuntu Linux版本的新内核安全更新,以解决最近披露的L1 Terminal Fault(L1TF)漏洞CVE-2018-3620和CVE-2018-3646。 内核安全更新解决了L1 Term...

问题终结者
08/25
0
0
安全预警 | Linux Libc Realpath 存在缓冲区下溢漏洞

最近OSS-SEC邮件组披露,Linux基准Libc函数库中的Realpath函数存在缓冲区下溢漏洞,CVE编号为CVE-2018-1000001。漏洞的产生是由于GNU C库没有正确处理getcwd()系统调用返回的相对路径,并且没...

桔子
01/29
1K
18

没有更多内容

加载失败,请刷新页面

加载更多

JVM问题排查也不是很难--工具使用

目录 概述 环境准备 工具介绍 远程连接方式 开启JMX 工具远程连接 参考文献 概述 线上环境中,程序越来越慢,一头雾水?遇到程序经常宕机,但找不到原因?排查问题却经常记不住命令? 那是没找到好...

java_龙
11分钟前
2
0
MySQL

1、查看数据库中所有的数据表: SHOW DATABASES; 2、连接数据库: use (数据库名); 3、显示已经打开的数据库: SELECT DATABASE(); 4、创建数据表: CREATE TABLE (数据表的名字)(第...

墨冥
19分钟前
2
0
idea 设置背景色

编辑界面背景色 控制台背景色

暗中观察
21分钟前
1
0
Win10强制更新怎么关闭 彻底禁止Windows自动更新方

Win10强制更新怎么关闭 彻底禁止Windows自动更新方法 (全文) 百事数码原创 2018-07-06 17:39电脑百事网7843 + 关注 很多Win10用户来说经常会遇到这样的烦恼,电脑系统会不时的提醒自动更新,...

阿K1225
36分钟前
2
0
不用编写程序代码,送你一个爬虫程序批量采集猫眼电影票房数据

"大数据"是一个体量特别大,数据类别特别大的数据集,并且这样的数据集无法用传统数据库工具对其内容进行抓取、管理和处理。 "大数据"首先是指数据体量(volumes)大,指代大型数据集,一般在1...

技术阿飞
51分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部