sunboyu-amp-fastcgi-suexec-v22-alpha 发布
12-20
Linux下APACHE MYSQL PHP FCgid Suexec 自动安装脚本V2.2
1、增加了m4-1.4.9
2、增加了autoconf-2.62
这两个包在安装eaccelerator-0.9.5.2的时候使用
3、增加了PHP –with-mcrypt 参数
4、增加了PHP –enable-sockets 参数
Linux下APACHE MYSQL PHP FCgid Suexec 自动安装脚本V2.2
1、增加了m4-1.4.9
2、增加了autoconf-2.62
这两个包在安装eaccelerator-0.9.5.2的时候使用
3、增加了PHP –with-mcrypt 参数
4、增加了PHP –enable-sockets 参数
启动服务 /opt/pure-ftpd/pure-config.pl pure-ftpd.conf
这里补充完整:
安装完后,很多配置文件还在原来的安装包里,并没有部署到prefix目标文件夹下,需要手工复制过去,就是上边那两个,一个启动脚本,pure-config.pl 还有性能监控工具,统计工具等。
另外一个经常出现的问题:(为了重现,还得修改成错误的)
421 配置错误: 无效的SQL配置文件: /opt/pure-ftpd/etc/pureftpd-mysql.conf
这个问题网上很多问的,但解释不到位,这里详细解释一下:我们在编译的时候选择了好多参数,部分参数跟配置是对应的,只有编译相关模块,才能打开相关配置,否则是不行的,会报错,但这个软件报错不报错误行数,所以调试起来比较费劲,我是一个个配置行进行开关才发现这个问题的,比如,我开启了这行,MySQLGetRatioDL SELECT DLRatio FROM users WHERE User=”\L” 但我编译的时候未加 ratio这个参数,就报错了,所以在调试的时候一定要对照一下编译时候的参数。
mysql中,密码我用的encryt加密,调试记得打开防火墙,其他没什么需要注意的。
Linux下APACHE MYSQL PHP FCgid Suexec 自动安装脚本V2.1
1、增加了PHP –enable-bcmath 参数,支持高精度函数库
2、增加了ncurses MYSQL的一个依赖库
3、增加了apache –enable-so 参数
sunboyu-amp-fastcgi-suexec-v21-alpha
此脚本在Centos4.7ServerCD 最小安装,root账户下执行完全正常。
这个问题一google就出来了,官方给出的解决方案,
在config.h里加上一个宏定义 #define LIBSSH2_APINO 200412301450,哇塞,一切OK
http://pecl.php.net/bugs/bug.php?id=9656
老一套,要注意的是各种脚本的映射,容器的合理使用。
老样子,下载 perl-5.8.8.tar.gz mod_perl-2.0-current.tar.gz perlinfo.zip
wget http://www.sunboyu.cn/sourse/perl-5.8.8.tar.gz
wget http://www.sunboyu.cn/sourse/mod_perl-2.0-current.tar.gz
wget http://www.sunboyu.cn/sourse/perlinfo.zip
tar -zxvf perl-5.8.8.tar.gz
tar -zxvf mod_perl-2.0-current.tar.gz
tar -zxvf perl-5.8.8.tar.gz
先安装perl ./Configure -h 看帮助吧,忘了
在安装 mod_perl #perl Makefile.PL WITH_APXS=/opt/httpd-2.2.9/bin/apxs
如果报错,看看帮助,得加几个参数
然后修改 httpd.conf ,增加 LoadModule perl_module modules/mod_perl.so
最后在虚拟目录里增加
然后把perlinfo.zip里那个探针放在cgi-bin目录下,访问一下,如果显示相关信息,证明配置成功。
费了半天劲,就为了用一个awstats。
突发奇想,是不是把python和ruby也配置上?
Ubuntu8.10在2008年10月30日终于到来,跟官方所要了两张作为纪念,同时刻了一张进行试用。
新版的跟8.04没看出太大的区别,对于那个立方体效果,我也没有试用。系统是让用的,不是用来玩的,关闭所有的特效,能顺利工作才是。
我用的惠普康柏 V3729 系列,系统安装后,自动识别无线网卡,这是首要的,拉线的感觉可不好。官方发布后,国内的更新源也同步更新了,cn99的不太好用,我用的lupaworld的源,比较快
我的机器是 NVIDIA GeForce 7150M的显卡,默认是不支持的,但 apt-get upgrade后,可以用新力德自动安装显卡驱动。为这驱动我费了不少劲,官方的下载了不少,也没装上。
整体装完后,更新了mplayer,可以播放mp3,但rmvb的不能播放,下载了realplaylinux版,只有图像没有声音。
在更新完
后,realplay运行正常。msn用Pidgin,qq使用官方的ubuntu版本,很流畅,不过还不能看迅雷看看,回头装wine试试。
linux+apache+php+mysql+fcgid+suexec 高效安全主机配置
最近一直在研究web服务器的配置和安全配置,基本搞完了
window2003下
iis+php(isapi)
apache+php(mod)
linux下
apache+php(mod)
apache+php(fastcgi)
四种安装方式的安全设置。其中涉及一些性能方面的调整,但没有实际的环境来测试,所以只涉及方法,不涉及具体的应用,而在安全方面下了很大的功夫。
底下我针对比较复杂的一种安装模式apache+php(fastcgi)进行详细讲解,来介绍如何配置一个安全的虚拟主机系统。
调试环境:
CentOS5
Apache2.2.9
Mysql5.0.22
PHP5.2.6
Fcgid2.4.6
需要的脚本 sunboyu-amp-fastcgi-suexec-v20-alpha
首先用脚本 unboyu-amp-fastcgi-v20-fcgid-suexec-alpha.txt 进行安装。
注:我在我的服务器上做了一个源,如果你感觉较慢的话,可以先吧软件下载到本地,然后修改一下脚本进行安装。
整体运行完后,apache是能成功运行的,但访问的话显示权限错误,底下主要是配置权限
过程用命令来显示,比较符合技术人员的习惯
1、vi /opt/httpd-2.2.9/conf/httpd.conf
修改 User daemon
Group daemon
为 User apache
Group apache
去掉 #Include conf/extra/httpd-vhosts.conf 前边的#,使其生效
2、增加一个虚拟站点的账户
groupadd www
useradd -g www www
现在应该有个目录 /home/www
3、vi /opt/httpd-2.2.9/conf/extra/httpd-vhost.conf
屏蔽或直接删除原来的站点信息
SuexecUserGroup www www #这里一定要弄清楚是做什么用的
ServerAdmin sunboyu@gmail.com
DocumentRoot “/home/www/php-cgi”
ServerName 192.168.0.5 #我测试的ip是这个,实际应该为你的域名
ServerAlias www.dummy-host.example.com #别名
ErrorLog “logs/dummy-host.example.com-error_log” #日志,用独立的名字
CustomLog “logs/dummy-host.example.com-access_log” common
SetHandler fcgid-script #我在编译完apache,附加了两个模块,fastcgi和fcgid,后一个是国人开发的,比fastcgi更稳定和易用
FCGIWrapper /home/www/php/php-cgi .php # php-cgi 是站点下的一个文件,下边建立
Options ExecCGI
allow from all
然后: x 即可
4、建立脚本 /home/www/php/php-cgi
vi /home/www/php/php-cgi
内容为
#!/bin/sh
export PHPRC=/home/www/php-cgi
export PHP_FCGI_CHILDREN=5 #创建的fcgi进程
export PHP_FCGI_MAX_REQUESTS=5000 #最大连接数
/opt/php-5.2.6/bin/php-cgi #php-cgi程序的位置
: x
5、创建独立的php.ini配置文件
cp /opt/php-5.2.6/lib/php.ini /home/www/php-cgi/php.ini
6、修改PHP的open_basedir
在/home/www/php-cgi/php.ini中找到
open_basedir , 修改为
open_basedir = /home/www/php
注:safe_mode_exec_dir 之类的参数如果从比较变态的安全设置来说,也是应该来设定的,但我还不变态
7、配置权限
chgrp root /opt/httpd-2.2.9/bin/suexec
chmod 4751 /opt/httpd-2.2.9/bin/suexec
chown www:www -R /home/www
chmod 755 -R /home/www
chmod 700 -R /home/www/php-cgi/php-cgi
8、重启
server httpd restart
9、如果你能看到成功页面,然后就传一个PHP木马上去测试一下权限和安全的问题.
如果连启动都启动不了,那就得查httpd的error_log ,suexec_log,然后去google一下,看看是哪的权限问题。
总结:本人教懒,整个过程调通后,也没写文档,但看到网上此类资料不多,而且有一些都没有命中要害,比如一些权限的配置和相对详尽的说明。我的注释只是把一些网上没有的解释而我弄明白后的理解写在了上边,但真正要想明白,估计还得搬着手册和google去一条条查。而且,我不是边做边写的,而是根据原来的配置盲写了一遍,估计会不少错误,总比没有强。如果有谁发现这个安全依然有问题,可以帮我提出,因为在安全方面我对自己要求很高。
如果有什么需要讨论的,可以加入这个MSN群 lampper@live.cn (加为msn好友即可)
博客很久没更新,导致alexa排名暴跌,因为最近在研究linux下apache+php的系统安全问题,这个问题困扰了好久。因为配置iis(之前有此文章)的时候,我设置了非常安全的iis站点用户和权限的隔离,但在linux下,总没有找到好的方法。
最近查阅了大量的资料,主要是了解apache的账户机制,suexec的工作原理,然后又翻看了大量的资料,终于搞清楚了一套完整的安全的lamp虚拟主机配置方法,能达到站点的权限隔离,进程账户的相对独立,以及对性能的控制。
在学习的过程中,常犯的错误,就是轻敌。总感觉这事不难,一会就搞定。但实际头疼了半个月。另外就是不看日志。到最后两天,大量的调试是在对比日志和理解日志的涵义,针对日志去进行配置。从我学linux的过程来看,看手册,翻日志,分析别人的案例,是学习的最佳途径。
关于安全配置linux虚拟主机的过程,我将另写文章。
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
|---|---|---|---|---|---|---|
| « 一 | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | ||||