您的位置:首页 > 运维架构 > Apache

CentOS6.5 服务器+apache5.3绑定多个域名+SELinux设置

2015-07-30 16:36 776 查看
下面简单的介绍了如何通过设置Apache的http.conf文件,进行多个域名以及其相关的二级域名的绑定(假设我们要绑定的域名是minidx.com和ntt.cc,二级域名是blog.minidx.com,独立IP为72.167.11.30).

打开http.conf

1.修改根目录

DocumentRoot "/var/www/html" 修改成你自己设置的根目录 我这是 "/var/www/websitel"

<Directory "/var/www/html"> 别忘了也修改下 <Directory "/var/www/website">

2.设置多个域名

1,ServerName 127.0.0.1 修改成ServerName 72.167.11.30 我的是:ServerName *:80

2,#NameVirtualHost * 修改成"NameVirtualHost 72.167.11.30" 我的是:NameVirtualHost *:80

这个是主机默认根目录

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/website
ServerName 72.137.11.30
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
#这个是增加的虚拟域名目录
<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/website/weixin
ServerName weixin.yunxindai.com
ErrorLog logs/weixin.yunxindai.com-error_log
CustomLog logs/weixin.yunxindai.com-access_log common
</VirtualHost>

下面这个是一个站点绑定多个域名: 还没测试 留待后期测试验证

后来看了看书,发现有个叫”ServerAlias“的东西可以用
其实可以这样:

<VirtualHost *:80>
ServerAdmin i@kuigg.com
DocumentRoot /www/kuigg.com
ServerName kuigg.com
ServerAlias www.kuigg.com abc.kuigg.com
</VirtualHost>

要绑多少个域名都可以写在 ServerAlias 后面,用空格隔开即可

linux服务器apache 一个IP,一个端口,建立多个网站的方法。()

我的配置如下

ServerName 192,168.197.139:80
NameVirtualHost 192.168.197.139:80
<VirtualHost 192.168.197.139>
ServerAdmin admin@yun.yunxindai.com
DocumentRoot /var/www/website
ServerName   192.168.197.139
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
#
<VirtualHost 192.168.197.139>
ServerAdmin admin@yun.yunxindai.com
DocumentRoot /var/www/website/yun.yunxindai
ServerName   www.wl.yun.yunxindai.com
ServerAlias  www.wl.yun.yunxindai.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
<Directory "/var/www/website/yun.yunxindai">
Options Indexes FollowSymLinks
AllowOverride ALL
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
#
<VirtualHost 192.168.197.139>
ServerAdmin admin@weixin.yunxindai.com
DocumentRoot /var/www/website/weixin
ServerName   www.wl.weixin.yunxindai.com
ServerAlias  www.wl.weixin.yunxindai.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
<Directory "/var/www/website/weixin">
Options Indexes FollowSymLinks
AllowOverride ALL
Order allow,deny
Allow from all
</Directory>
</VirtualHost>


重启 apach报错 :

DocumentRoot  [/var/www/website/weixin] does not exit


苍天呐大地啊,天地良心,这个目录真实存在就是不行不能访问。

是因为是使用了SELinux,有两种方法解决:

方法一:禁止使用SELinux,运行:

system-config-securitylevel (或 redhat-config-securitylevel)

来禁止对http的SELinux设置。

方法二:或给新路径设置SELinux权限:

chcon -R -h -t httpd_sys_content_t /var/www/website/weixin

我采用方法2设置后就好了。

本地 C:\Windows\System32\drivers\etc\hosts

设置如下:

192.168.197.139 www.wl.yun.yunxindai.com
192.168.197.139 www.wl.weixin.yunxindai.com

本地直接输入域名即可访问(本地测试很好用!)

具体关于selinux的设置参考博文:在CentOS 6.X上折腾SELinux

在虚拟机上设置半天 selinux 还是time out后来才发现是没开80宽口。

碰到的问题:You don't have permission to access / on this server.

参考博文:Linux Centos7 Apache 访问 You don't have permission to access / on this server.

我的是在上面基础上修改权限:

chmod o+x  /var/www/website
chmod g+x  /var/www/website
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: