码迷,mamicode.com
首页 > Web开发 > 详细

Apache搭建Web主机(虚拟目录、分别基于IP地址、端口、主机名)

时间:2018-06-05 22:17:56      阅读:954      评论:0      收藏:0      [点我收藏+]

标签:apache   基于端口区分网站   基于域名区分网站   基于ip区分网站   dns域名解析   

Apache介绍

Apache HTTP Server是一款开源的网站服务软件,在Web服务器领域中长期保持着超过半数的份额,Apache服务器可以运行在Linux、UNIX、Windows等多数操作系统平台中。

Apache服务器在功能、性能和安全性等方面的表现都是比较突出的,可以较好地满足Web服务器用户的应用需求,其主要特点包括以下几个方面:

  • 开放源代码
  • 跨平台应用
  • 支持各种Web编程语言
  • 模块化设计
  • 运行非常稳定
  • 良好的安全性

构建虚拟Web主机

在同一台Apache服务器中运行多个Web站点,其中的每一个站点实际上并不独立占用整个服务器,通过虚拟Web主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。

Apache支持的虚拟主机类型为以下三种:

  1. 基于IP地址

需要为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同。这种方式需要为服务器配备多个网络接口,因此应用并不是非常广泛;

  1. 基于IP端口

使用不同的TCP端口号来区分不同的站点内容,但是用户在浏览不同的虚拟站点时需要同时指定端口号才能够访问;

  1. 基于主机名【常用】

每个虚拟主机使用不同的域名,但是其对应的IP地址是相同的;

实验环境

  • rhel6.5操作系统
  • 服务器IP地址:192.168.100.5
  • rhel6.5的镜像光盘挂载至/mnt/cdrom/

实验内容

  1. 虚拟目录(用户授权限制)
  2. 基于IP地址
  3. 基于IP端口
  4. 基于主机名【常用】

部署服务

安装Apache服务器(httpd)

1.检查并安装httpd服务

[root@localhost ~]# rpm -q httpd //检查是否已安装httpd
httpd-2.2.15-29.el6_4.x86_64
[root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/httpd-2.2.15-29.el6_4.x86_64.rpm

2.关闭安全设置和防火墙

setenforce 0
service iptables stop

一. 虚拟目录(用户授权限制)

  1. 编辑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为后缀的配置文件

  1. 在/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

  1. 创建用户认证数据文件
htpasswd -c /etc/httpd/conf.d/user zhangsan

技术分享图片

  1. 重启httpd服务
    service httpd restart

测试

服务器ip信息:
技术分享图片

客户机ping服务器测试:
技术分享图片

访问虚拟目录站点:
技术分享图片

技术分享图片

2. 基于IP地址

待续...

3. 基于端口

  1. 在/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 admin@yun01.com //管理员邮箱
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 admin@yun02.com //管理员邮箱
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文件

  1. 修改httpd.conf配置文件
vim /etc/httpd/conf/httpd.conf

Listen 192.168.100.5:81 //添加81端口的监听地址

  1. 重启httpd服务
service httpd restart

测试

访问192.168.100.5:80
技术分享图片
访问192.168.100.5:81
技术分享图片

4. 基于主机名【常用】

  1. 在/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 admin@yun03.com //管理员邮箱
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 admin@yun04.com //管理员邮箱
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文件


  1. 安装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地址、端口、主机名)

标签:apache   基于端口区分网站   基于域名区分网站   基于ip区分网站   dns域名解析   

原文地址:http://blog.51cto.com/10316297/2125280

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!