Apache 安装设置
时间:2007-12-27 来源:hello386
Apache 安装设置
本文作者:FireHare
授权许可:
编辑人员:FireHare
校对人员:
适用版本:
文章状态:
参考文献:
- 安装Apache2
sudo apt-get install apache2
- 编辑/etc/apache2/apache2.conf文件,在改动之前,请先将该配置文件做个备份。以便在出错的时候可以恢复。将
AddDefaultCharset ISO-8859-1改为
AddDefaultCharset GB2312当然如果你网站的编码用的是UTF-8的话,也可以改为
AddDefaultCharset UTF-8这样的话,我们就不会每次打开网页都是乱码了!
- 增加安全模块,以保障Apache服务的正常运行,现在我们安装mod-security。(可选)
a. 首先安装libapache2-mod-security包
sudo apt-get install libapache2-mod-security
a. 该模块默认是没激活的,我们可以在/etc/apache2/mods-available目录下看到有mod-security.load文件,但在/etc/apache2/mods-enabled目录却没有它的软链接。我们现在激活它:
$sudo a2enmod mod-security
$sudo cp /usr/share/doc/libapache2-mod-security/examples/httpd2.conf.example-full /etc/apache2/mods-available/mod-security.conf
$sudo cp /etc/apache2/mods-available/mod-security.conf /etc/apache2/mods-available/mod-security.conf.orig
$sudo vi /etc/apache2/mods-available/mod-security.conf
==== mod-security.conf 文件内容开始====
# 检测内容长度以避免堆溢出攻击
SecFilterForceByteRange 32 254 =>SecFilterForceByteRange 32 126
# debug设置
SecFilterDebugLevel 9 =>SecFilterDebugLevel 0
# 设置缺省的动作
SecFilterDefaultAction "deny,log,status:499" =>SecFilterDefaultAction "deny,log,status:404"
# 把设置传递给子目录
SecFilterInheritance Off
# Redirect user on filter match
# 当匹配sh的时候,重新定向到一个特殊的警告页面,该页面是自行编写的,写些警告的话让攻击者知难而退,该段先不要生效,等到相关配置配好之後再失效不迟。记住在配好之後要使之生效。
#SecFilter sh redirect:http://localhost/hack/warning.htm
# Prevent OS specific keywords
#过滤一些敏感的东西,我们使用*是为了攻击者使用/etc/./passwd来绕开检测
SecFilter /etc/passwd =>SecFilter /etc/*passwd
SecFilter /bin/*sh
# Very crude filters to prevent SQL injection attacks
# 防止SQL插入(SQL Injection)攻击
SecFilter "delete[[[space|]]]+from"
SecFilter "insert[[[space|]]]+into"
SecFilter "select.+from"
SecFilter "select[[[space|]]]+from"
SecFilter "union[[[space|]]]+from"
==== mod-security.conf 文件内容结束====
sudo ln -s /etc/apache2/mods-available/mod-security.conf /etc/apache2/mods-enabled/mod-security.conf
a. 重启Apache2服务即可。
sudo /etc/init.d/apache2 restart
备注:第三步可能会引起部分网站不能正常运行,可以参照着去掉某些限制,由于是安全模块,所以参照的是防火墙的做法,关掉一切不安全的,再根据需要打开必要的。
///////////////////////////////////////////
Ubuntu下Apache 的配置
在网上找到的Ubuntu下Apache的配置,因为忘记记下原来网址,所以不能引用原来的地址了,还请原文的作者原谅。1) 配置文件的位置:
位于 /etc/apache2/apache2.conf
在其他版本可能位置和名称有所不同,与apache1的位置也不同。
在/etc/apache2/下面,还有两个目录,分别是mods-available和mods-enabled,显然前者是提供的模块,后者是启动了的能正常起作用的模块。如果需要把提供的模块使起作用,需要在后者的目录下做一个前者的符号连接。
2) 缺省的主目录:
/var/www/
3) log文件的位置
log 文件的作用是很大的,Apache有二个log文件,一个是所有登陆本apache服务器的记录,/var/log/httpd- access.log,文件记录了登陆的ip,时间,浏览器类型等;另一个是联机错误记录文件, /var/log/httpd-error.log,这个文件对于调试apache参数是很有作用的。两个文件都是文本文件,可以由nano等文本编辑器 来浏览、编辑,记录文件的位置及文件名是由 httpd.conf中的相应配置来改变。
4) 启动、停止和重新启动httpd服务器的运行:
apapche2ctl start(stop restart)
这个命令比较有用,尤其是在修改配置文件之后。
5) 个人用户目录的问题:
不同于apache1,重要修改配置文件中的UserDir,apache2把个人用户作为一个模块,则需要先:
cd /etc/apache2/mods_enabled
ln -s /etc/apache2/mods_available/userdir.conf userdir.conf
ln -s /etc/apache2/mods_available/userdir.load userdir.load
apache2ctl restart
同时修改主配置文件,注释掉#UserDir public_html这句,再在用户test的主目录/home/test下面创建一个index.html文件,就可以浏览:
http://yourip/~test了。
6) 自动支持中文的问题
网页的缺省字符集有参数 AddDefaultCharset ISO-8859-1
这时候在浏览器浏览中文网页的时候,会乱码,需要手动设置编码方式为GBK或GB2312才能显示中文
去掉注释,修改为 AddDefaultCharset GB2312就可以了。
7) Apache 状态信息
在 安装完 Apache 后,我们需要不断了解服务器的系统各方面的情况。Apache2内建了server-status及server-info二种查看服务器信息的方法。 server-status是指服务器状态信息,我们可以了解Apache目前运行的情形,包括占用的系统资源、目前联机数量等。server-info 主要是显示Apache的版本、加载的模块信息等。
为使用这两项功能,我们必须先修改 /etc/apache2/apache2.conf。
首先要自己手动添加一行ExtendedStatus On,否则得到的信息会不够详细。
然后分别找到和这两段,把两段内前面的注释都去掉,并设置好访问权限。不重视安全的话,可以设置allow from all.
再:
cd /etc/apache2/mods_enabled
ln -s /etc/apache2/mods_available/info.load info.load
然后就可以在浏览器以http://hostname/server-info访问了。
8) 其他一些我认为比较重要的配置参数:
ServerRoot:指出服务器保存其配置、出错和日志文件等的根目录。
Listen:允许你绑定Apache服务到指定的IP地址和端口上,以取代默认值
DocumentRoot:你的文档的根目录。默认情况下,所有的请求从这个目录进行应答。
HostnameLookups:指定记录用户端的名字还是IP地址
Technorati : ubuntu apache
相关阅读 更多 +