
这些方法在网上也能找到, 不过很多解释不够清楚, 这里我尽可能规范描述, 欢迎问题.
索引:
一. 快速配置基于名字的虚拟主机(NameVirtualHost)
二. 对Apache虚拟主机配置进行语法测试并显示所有的虚拟主机配置
三. 关于Apache的版本信息
四. 其它问题(补丁和升级, 用户和用户组, 目录显示)
一. 快速配置基于名字的虚拟主机(NameVirtualHost)
需求:
主机使用 微睦独立主机,操作系统 Fedora Core 5 Linux.
主机无固定ip地址, 待配置的虚拟主机域名分别是:
cn.zhaoke.com
blog.zhaoke.com
流程:
1. 修改主机系统的apache配置, 添加所有需要配置的虚拟主机域名.
2. 修改域名的dns记录.
3. 通知微睦网络(主机提供商)添加域名的dns记录.
部署:
1. 修改主机系统的apache配置, 添加所有需要配置的虚拟主机域名.
预备工作:
mkdir -p /www/htdocs/cnzhaoke
mkdir -p /www/htdocs/blogzhaoke
1). 在apache的httpd.conf文件中添加下面指令:
[html]
NameVirtualHost *
Options Indexes FollowSymLinks
AllowOverride FileInfo Options
Order allow,deny
Allow from all
ServerName cn.zhaoke.com
DocumentRoot /www/htdocs/cnzhaoke
Options Indexes FollowSymLinks
AllowOverride FileInfo Options
Order allow,deny
Allow from all
ServerName blog.zhaoke.com
DocumentRoot /www/htdocs/blogzhaoke
[/html]
2). 重新启动apache服务.
apachectl restart
2. 修改域名的dns记录.
因为域名使用的是自己(域名提供商)的dns服务器, 所以要正常使用虚拟主机, 需添加下面的dns记录:
Host / TTL / TYPE / Data
cn.zhaoke.com / 300 / CNAME / cdn.cnc.vmmatrix.com.
blog.zhaoke.com / 300 / CNAME / cdn.cnc.vmmatrix.com.
3. 通知微睦网络(主机提供商)添加域名的dns记录.
完成上面3个步骤后, 虚拟主机就可以正常使用了.
http://cn.zhaoke.com
http://blog.zhaoke.com
二. 对Apache虚拟主机配置进行语法测试并显示所有的虚拟主机配置:
# ./httpd -t -D DUMP_VHOSTS
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:* is a NameVirtualHost
default server cn.zhaoke.com (/www/conf/httpd.conf:481)
port * namevhost blog.zhaoke.com (/www/conf/httpd.conf:481)
Syntax OK
我们看到结果最后一行, 虚拟主机的配置是正确的(Syntax OK). 另外结果还显示了虚拟主机的类型是NameVirtualHosts(基于名字的虚拟主机).
三. 关于Apache的版本信息
隐藏Apache的版本信息实际上没有任何作用, 我们可以通过主机探测工具获得. 所以你可以打开也可关闭. Apache 2.0以上的版本安装后不会显示Apache的版本信息, 如果你需要打开版本信息, 可以在配置文件httpd.conf添加一行代码: ServerSignature ON 然后重新启动Apache.
两个例子
打开Apache版本信息的网站:
http://www.kaffe.org/ftp/pub/
注意目录下面显示的信息:
Apache/1.3.26 Server at www.kaffe.org Port 80
关闭Apache版本信息的网站:
http://www.kernel.org/pub/dist/
四. 其它问题
1. 补丁和升级
订阅和经常关注Apache的安全更新非常重要, 比如现在我们网站使用的2.2.3版本已经解决以前版本存在的mod_rewrite安全问题. 你可以通过patch或者upgrade方式, 或者使用其它的第三方安全增强工具.
2. 运行apache的用户和用户组
httpd.conf配置文件中可指定用户(UID)和用户组(GID)来运行Apache程序, 配置前需确保用户和用户组仅用于运行Apache程序.
例子:
User apache
Group apache
3. 网页的目录显示
一定要禁止吗, Depends on you.
看Linux内核官方网站(httpd打开了Indexes功能):
http://www.kernel.org/pub/dist/
如果你需要禁止某个目录:
可在目录下放一个.htaccess文件(apache需打开mod_rewrite功能), 内容如下:
RewriteEngine On
Options -Indexes
如果你需要禁止所有目录显示(禁止indexes功能):
在httpd.conf配置文件中相关域名的Directory标识(tag)里面增加:
Options -Indexes
备注:
转载请保持文章完整性, 欢迎交流.
Islab.org

Leave a comment