|  | 
 
| ############# 版权说明:
 作者:hew 主页:http://www.linuxsky.net
 本文章可以任意转载,但请注明作者和出处,谢谢
 #############
 系统平台:maigic linux 2.0 rc1, magic linux 是中国linux公社开发一个社区版本linux,magic linux重点在于完美的中文桌面,所以如果诸位要做服务器的可以选择debian,redhat,suse等版本,个人推荐cenots 是rhel as 系列的免费实现 。
 下载:
 apache2
 http://www.apache.org/dist/httpd/httpd-2.0.55.tar.bz2
 mysql4:
 http://mysql.oss.eznetsols.org/Downloads/MySQL-4.1/mysql-4.1.15.tar.gz
 php4:
 http://cn.php.net/distributions/php-4.4.1.tar.bz2
 
 mod_security
 http://www.modsecurity.org/download/modsecurity-apache-1.9.tar.gz
 mysql 安装:
 $ tar zxvf mysql-4.1.15.tar.gz
 $ cd mysql-4.1.15
 #  groupadd mysql
 # useradd -g mysql mysql
 # ./configure --prefix=/usr/local/mysql
 # make
 # make install
 # cp support-files/my-medium.cnf /etc/my.cnf
 # cd /usr/local/mysql
 # bin/mysql_install_db --user=mysql
 # chown -R root  .
 # chown -R mysql var
 # chgrp -R mysql .
 # bin/mysqld_safe --user=mysql &
 
 apache 2 安装:
 
 $ tar jxvf  httpd-2.0.55.tar.bz2
 $ cd httpd-2.055
 $ vi config.sh 写入内容如下:[code:1]
 #!/bin/bash
 HTTPD_ROOT="/apache2"
 ./configure --prefix=$HTTPD_ROOT \
 --enable-so  \
 --enable-rewrite   \
 --enable-info   \
 --enable-cgid    \
 --enable-mime-magic  \
 --enable-alias  \
 --enable-access  \
 --enable-deflate \
 --enable-forward
 [/code:1]
 # sh config.sh
 上面过程等同于直接
 ./configure --prefix=/apache2
 --enable-so  \
 --enable-rewrite   \
 --enable-info   \
 --enable-cgid    \
 --enable-mime-magic  \
 --enable-alias  \
 --enable-access  \
 --enable-deflate \
 --enable-forward
 写一个config.sh 只是个人习惯方便今后查看和升级再编译。
 # make
 # make install
 
 安装php4
 $ tar jxvf php-4.4.1.tar.bz2
 $ cd php-4.4.1
 $ vi config.sh 写入内容: [code:1]
 #!/bin/bash
 
 PHP_ROOT=/apache2
 ./configure --prefix=$PHP_ROOT \
 --with-apxs2=$PHP_ROOT/bin/apxs \
 --with-mysql \
 --enable-ftp \
 --enable-zip \
 --enable-mbstring \
 --enable-mbregex \
 --enable-calendar \
 --enable-curl \
 --disable-debug  \
 --enable-inline-optimization -q \
 --with-jpeg \
 --with-png \
 --enable-thread-safety \
 --enable-ctype \
 --with-bz \
 --with-zlib \
 --with-gd \
 --with-kerberos \
 --with-gettext \
 --enable-force-cgi-redirect
 [/code:1]
 $ make
 # make install
 
 安装modsecurity(mod_security 可以加强apache的安全性特别是在防sql 注入上有很好的效果。):
 $ tar zxvf modsecurity-apache-1.9.tar.gz
 $ cd modsecurity-apache-1.9/apache2/
 $ /apache2/bin/apxs -cia mod_security.c
 
 配置:
 1.编辑/etc/my.cnf
 去掉[mysqld]段skip-networking这句的注释,这样mysql只能从本机连接,有助提高安全性。
 
 2.编辑/apache/conf/httpd.conf
 修改ServerAdmin [email protected] 将后面的mail 地址改为服务器管理员地址。
 增加一个php 文件配置
 AddType application/x-httpd-php .php
 在DirectoryIndex 后增加一个 index.php
 增加deflate 配置信息[code:1]
 <Location />
 # Insert filter
 SetOutputFilter DEFLATE
 
 # Netscape 4.x has some problems...
 BrowserMatch ^Mozilla/4 gzip-only-text/html
 
 # Netscape 4.06-4.08 have some more problems
 BrowserMatch ^Mozilla/4\.0[678] no-gzip
 
 # MSIE masquerades as Netscape, but it is fine
 # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
 
 # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
 # the above regex won't work. You can use the following
 # workaround to get the desired effect:
 BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
 
 # Don't compress images
 SetEnvIfNoCase Request_URI \
 \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
 
 # Make sure proxies don't deliver the wrong content
 #Header append Vary User-Agent env=!dont-vary
 </Location>
 
 DeflateFilterNote ratio
 LogFormat '"%v %h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" (%{ratio}n)' deflate
 
 CustomLog logs/deflate_log deflate [/code:1]
 添加一段mod_security的配置文件
 [code:1]
 <IfModule mod_security.c>
 SecFilterEngine On
 SecFilterCheckURLEncoding On
 SecFilterDefaultAction "deny,log,status:500"
 #SecFilterForceByteRange 32 126
 #SecFilterScanPOST On
 SecAuditLog logs/audit_log
 ###
 SecFilter "\.\./"
 #####
 SecFilter /etc/*passwd
 SecFilter /bin/*sh
 
 #for css attack
 SecFilter "<( | )*script"
 SecFilter "<(.| )+>"
 #for sql attack
 SecFilter "delete[ ]+from"
 SecFilter "insert[ ]+into"
 SecFilter "select.+from"
 SecFilter "union[ ]+from"
 SecFilter "drop[ ]"
 </IfModule>
 [/code:1]
 
 测试:
 在/apache2/htdocs 创建文件test.php 内容为:
 [code:1]<?php
 echo phpinfo();
 ?>[/code:1]
 
 在浏览器中打开 http://127.0.0.1/test.php 如果你能看到 phpinfo 界面那么恭喜一切搞定。 :em03:
 
 注:安装时请注意你是否已安装了足够的开发工具和库文件,如果安装失败请仔细检查configure.log。同时也要注意新版本Linux中SELinux 的限制,最简单办法是关闭SELinux,如果想自己定制请参考以下下文档:
 Red Hat SELinux Guide
 http://www.linuxsky.net/down/rhel/docs/rhel-selg-en-4/
 
 其他在我服务器上使用的mod 介绍
 Bandwidth Module 官方网站: http://www.ivn.cl/apache/
 这是一个带宽限制工具可以针对虚拟主机或目录做限制。
 
 mod_limitipconn  官方网站: http://dominia.org/djao/
 这个是一个针对目录的进程限制工具,这个mod 需要设置 “ExtendedStatus On“
 
 Zend Optimizer官方主页: http://www.zend.com
 大名鼎鼎的Zend Optimizer就不多说了,下载: http://downloads.zend.com/optimizer/2.5.10/
 | 
 |