Apache搭建Web主机(虚拟目录分别基于IP地址端口主机名)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache搭建Web主机(虚拟目录分别基于IP地址端口主机名)相关的知识,希望对你有一定的参考价值。
Apache介绍
Apache HTTP Server是一款开源的网站服务软件,在Web服务器领域中长期保持着超过半数的份额,Apache服务器可以运行在Linux、UNIX、Windows等多数操作系统平台中。
Apache服务器在功能、性能和安全性等方面的表现都是比较突出的,可以较好地满足Web服务器用户的应用需求,其主要特点包括以下几个方面:
- 开放源代码
- 跨平台应用
- 支持各种Web编程语言
- 模块化设计
- 运行非常稳定
- 良好的安全性
构建虚拟Web主机
在同一台Apache服务器中运行多个Web站点,其中的每一个站点实际上并不独立占用整个服务器,通过虚拟Web主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。
Apache支持的虚拟主机类型为以下三种:
- 基于IP地址
需要为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同。这种方式需要为服务器配备多个网络接口,因此应用并不是非常广泛;
- 基于IP端口
使用不同的TCP端口号来区分不同的站点内容,但是用户在浏览不同的虚拟站点时需要同时指定端口号才能够访问;
- 基于主机名【常用】
每个虚拟主机使用不同的域名,但是其对应的IP地址是相同的;
实验环境
- rhel6.5操作系统
- 服务器IP地址:192.168.100.5
- rhel6.5的镜像光盘挂载至/mnt/cdrom/
实验内容
- 虚拟目录(用户授权限制)
- 基于IP地址
- 基于IP端口
- 基于主机名【常用】
部署服务
安装Apache服务器(httpd)
1.检查并安装httpd服务
[[email protected] ~]# rpm -q httpd //检查是否已安装httpd
httpd-2.2.15-29.el6_4.x86_64
[[email protected] ~]# rpm -ivh /mnt/cdrom/Packages/httpd-2.2.15-29.el6_4.x86_64.rpm
2.关闭安全设置和防火墙
setenforce 0
service iptables stop
一. 虚拟目录(用户授权限制)
- 编辑httpd.conf配置文件
vim /etc/httpd/conf/httpd.conf
ServerName www.yum01.com:80 //设置主机名
Listen 192.168.100.5:80 //设置监听IP地址
Include conf.d/*.conf //开启加载conf.d目录下以.conf为后缀的配置文件
- 在/etc/httpd/conf.d/目录下新建vdir.conf(虚拟目录文件)
cd /etc/httpd/conf.d/
vim vdir.conf //新建vdir.conf配置文件
//以下为虚拟目录定义配置文件
Alias /bbs "/opt/bbs/" //设置别名
<Directory "/opt/bbs/"> //定义虚拟目录
Options Indexes MultiViews FollowSymLinks
AllowOverride None
authname "Auth Directory" //认证领域的名称
authtype basic //基本认证方式
authuserfile /etc/httpd/user //基本认证用户账户、密码的认证文件路径
require Valid-user //授权用户可以进行访问
</Directory>
3.创建/opt/bbs目录,并新建bbs站点首页
mkdir /opt/bbs
echo "<h1>This is bbs web.</h1>" > /opt/bbs/index.html
- 创建用户认证数据文件
htpasswd -c /etc/httpd/conf.d/user zhangsan
- 重启httpd服务
service httpd restart
测试
服务器ip信息:
客户机ping服务器测试:
访问虚拟目录站点:
2. 基于IP地址
待续...
3. 基于端口
- 在/etc/httpd/conf.d/目录下新建vport.conf(虚拟目录文件)
cd /etc/httpd/conf.d/
vim vport.conf //新建vport.conf配置文件
NameVirtualHost 192.168.100.5:80 //虚拟主机名称
<VirtualHost 192.168.100.5:80>
ServerAdmin [email protected] //管理员邮箱
DocumentRoot /opt/yun01/ //网站站点目录
ServerName www.yun01.com //域名
ErrorLog logs/yun01.com-error_log //错误日志
CustomLog logs/yun01.com-access_log common //访问日志
</VirtualHost>NameVirtualHost 192.168.100.5:81 //虚拟主机名称
<VirtualHost 192.168.100.5:81>
ServerAdmin [email protected] //管理员邮箱
DocumentRoot /opt/yun02/ //网站站点目录
ServerName www.yun02.com //域名
ErrorLog logs/yun02.com-error_log //错误日志
CustomLog logs/yun02.com-access_log common //访问日志
</VirtualHost>
2.创建/opt/yun01、/opt/yun02站点目录,并新建各站点首页文件(index.html)
mkdir /opt/yun01 /opt/yun02 //创建站点目录
echo "<h1>this is yun01.com web.</h1>" > /opt/yun01/index.html //站点yun01添加index.html文件
echo "<h1>this is yun02.com web.</h1>" > /opt/yun02/index.html //站点yun02添加index.html文件
- 修改httpd.conf配置文件
vim /etc/httpd/conf/httpd.conf
Listen 192.168.100.5:81 //添加81端口的监听地址
- 重启httpd服务
service httpd restart
测试
访问192.168.100.5:80
访问192.168.100.5:81
4. 基于主机名【常用】
- 在/etc/httpd/conf.d/目录下新建vhost.conf(虚拟目录文件)
cd /etc/httpd/conf.d/
vim vhost.conf //新建vhost.conf配置文件
NameVirtualHost 192.168.100.5:80 //虚拟主机名称
<VirtualHost 192.168.100.5:80>
ServerAdmin [email protected] //管理员邮箱
DocumentRoot /opt/yun03/ //网站站点目录
ServerName www.yun03.com //域名
ErrorLog logs/yun03.com-error_log //错误日志
CustomLog logs/yun03.com-access_log common //访问日志
</VirtualHost>NameVirtualHost 192.168.100.5:80 //虚拟主机名称
<VirtualHost 192.168.100.5:80>
ServerAdmin [email protected] //管理员邮箱
DocumentRoot /opt/yun04/ //网站站点目录
ServerName www.yun04.com //域名
ErrorLog logs/yun04.com-error_log //错误日志
CustomLog logs/yun04.com-access_log common //访问日志
</VirtualHost>
2.创建/opt/yun03、/opt/yun04站点目录,并新建各站点首页文件(index.html)
mkdir /opt/yun03 /opt/yun04 //创建站点目录
echo "<h1>this is yun03.com web.</h1>" > /opt/yun03/index.html //站点yun03添加index.html文件
echo "<h1>this is yun04.com web.</h1>" > /opt/yun04/index.html //站点yun04添加index.html文件
- 安装DNS服务器
3.1 安装bind软件包
rpm -ivh /mnt/cdrom/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
3.2 编辑主配置文件
vim /etc/named.conf
options {
listen-on port 53 { 192.168.100.5; }; //修改指定监听IP
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; }; //允许any(所有人)访问
recursion yes;dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;/ Path to ISC DLV key /
bindkeys-file "/etc/named.iscdlv.key";managed-keys-directory "/var/named/dynamic";
};
3.3 编辑区域配置文件
vim /etc/named.rfc1912.zones
zone "yun03.com" IN {
type master;
file "yun03.com.zone";
};zone "yun04.com" IN {
type master;
file "yun04.com.zone";
};
3.4 切换到/var/named目录下
cd /var/named
3.5 复制模板文件
cp -p named.localhost yun03.com.zone
3.6 编辑区域数据配置文件
vim yun03.com.zone
由于yun04.com和yun03.com解析文件都一样,这里直接复制yun03.com.zone文件
cp -p yun03.com.zone yun04.com.zone
3.7 加入named服务并重启该服务
chkconfig named on
service named restart //重启named服务
service httpd restart //重启httpd服务
测试
访问www.yun03.com
访问www.yun04.com
以上是关于Apache搭建Web主机(虚拟目录分别基于IP地址端口主机名)的主要内容,如果未能解决你的问题,请参考以下文章
CentOS 7.4——Apache应用之二,构建Web虚拟主机