编译安装apache+php+mysql+mod_security
系统平台: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 写入内容如下:
复制内容到剪贴板
代码:
#!/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
# 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 写入内容:
复制内容到剪贴板
代码:
#!/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
$ 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]you@example.com[/email] 将后面的mail 地址改为服务器管理员地址。
增加一个php 文件配置
AddType application/x-httpd-php .php
在DirectoryIndex 后增加一个 index.php
增加deflate 配置信息
复制内容到剪贴板
代码:
# 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
添加一段mod_security的配置文件
复制内容到剪贴板
代码:
<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>
测试:
在/apache2/htdocs 创建文件test.php 内容为:
复制内容到剪贴板
代码:
<?php
echo phpinfo();
?>
在浏览器中打开 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/
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
-
2008-08-18 21:50:46
-
2024-01-23 14:15:25
-
2008-08-18 21:51:42
-
2018-12-16 11:51:26
-
2013-11-22 22:24:58
-
2008-08-07 19:00:12
-
02008-07-06 20:37:09
-
2023-11-21 16:11:03
-
22024-02-20 20:46:07
-
2017-06-05 17:01:12
-
2015-05-27 11:40:02
-
2008-07-19 01:30:54
-
2008-05-25 11:19:02
-
2008-05-24 14:33:08
-
2018-06-25 22:00:13
-
2018-10-09 09:55:32
-
2020-10-31 11:27:06
-
2018-11-15 21:38:33
-
2015-07-06 17:28:27
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明