Linux下APACHE MYSQL PHP FCgid Suexec 配置文档V1.0

作者 : admin 于 2009-05-22 11:14:12 标签: ,
2009
05-22

文档版本:V1.0

启动撰写时间: 2009年05月20日

目的:全面详细介绍LAMP fastcgi方式配置细节,基于之前的自动配置脚本,目的是把更多的细节转达给大家。

需要软件源码:

CentOS4.7

http://centos.ustc.edu.cn/centos/4.7/isos/i386/CentOS-4.7.ServerCD-i386.iso

http://centos.ustc.edu.cn/centos/4.7/isos/x86_64/CentOS-4.7.ServerCD-x86_64.iso

Apache-2.2.9

http://archive.apache.org/dist/httpd/httpd-2.2.9.tar.gz

MYSQL-5.2.6

http://downloads.mysql.com/archives/mysql-5.0/mysql-5.0.22.tar.gz

PHP-5.2.6

http://museum.php.net/php5/php-5.2.6.tar.gz

FCGID

http://ncu.dl.sourceforge.net/sourceforge/mod-fcgid/mod_fcgid.2.2.tgz

安装:

第一步:Linux系统安装,同时可以参照我原来的文档

http://www.sunboyu.cn/2008/06/13/centos5%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97%EF%BC%88%E7%AE%80%E5%8D%95%E7%AF%87%EF%BC%89.shtml

视频。我按照最小化进行安装。最后ping百度不通,是因为没有重启,重启后是正常的。从过程可疑看出,我用的vmware进行安装,所以,要根据你实际的网络情况进行调整配置。

Linux Centos 4.7 安装视频(下载)(关闭)

第二步:系统更新,组件安装。

首先更新一下yum源,具体查看这篇日志 http://www.sunboyu.cn/2009/01/07/centos4%E5%88%9D%E5%A7%8B%E5%8C%96%E7%9A%84%E4%B8%80%E4%BA%9B%E8%84%9A%E6%9C%AC.shtml

升级一下系统:

yum upgrade

安装一些必要的组件:

yum install gcc gcc-c++ gcc4-c++ autoconf gd gd-devel libxml2 libxml2-devel zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel expat expat-devel sqlite sqlite-devel png-devel jpeg-devel libtool libjpeg* libpng* freetype-devel

安装MYSQL-5.0.22

解压mysql

#tar -zxvf mysql-5.0.22.tar.gz

#cd cd mysql-5.0.22

#groupadd mysql

#useradd -g mysql mysql

#./configure –prefix=/opt/mysql-5.0.22 \
–without-debug \
–enable-thread-safe-client \
–with-client-ldflags=-all-static \
–with-mysqld-ldflags=-all-static \
–enable-local-infile \
–enable-largefile \
–with-charset=utf8 \
–with-collation=utf8_unicode_ci \
–with-extra-charsets=complex \
–with-pic \
–with-mysqld-libs \
–with-comment \
–with-query-cache \
–with-bench \
–with-big-tables \
–with-innodb \
–with-mysqld-use=mysql

#make

#make install

#cp ./support-files/my-medium.cnf /etc/my.cnf

#cp ./support-files/mysql.server /etc/init.d/mysqld

#chmod 755 /etc/init.d/mysqld

#/opt/mysql-5.0.22/bin/mysql_install_db –user=mysql &

#echo “/opt/mysql-5.0.22/bin/mysqld_safe –user=mysql &”>>/etc/rc.local

#service mysqld start

#/opt/mysql-5.0.22/bin/mysqladmin -u root password ‘123456′

#cd ..

安装APACHE

#groupadd apache

#useradd -g apache apache

#tar -zxvf httpd-2.2.9.tar.gz

#cd httpd-2.2.9

#./configure –prefix=/opt/httpd-2.2.9 \
–enable-dav \
–enable-dav-fs \
–enable-modules=all \
–enable-mods-shared=all \
–disable-auth-basic \
–enable-include \
–enable-substitute \
–enable-authz-dbm \
–enable-log-config \
–enable-headers \
–enable-setenvif \
–with-ssl \
–enable-static-ab \
–enable-http \
–enable-mime \
–enable-status \
–enable-isapi \
–enable-imagemap \
–enable-actions \
–enable-speling \
–enable-userdir \
–enable-alias \
–enable-vhost-alias \
–enable-dir \
–enable-rewrite \
–enable-dumpio \
–enable-echo \
–enable-so \
–enable-example \
–enable-case-filter \
–enable-substitute \
–enable-log-config \
–enable-logio \
–enable-env \
–with-mpm=worker \
–with-included-apr \
–with-apr \
–with-apr-util \
–with-z \
–enable-proxy \
–enable-proxy-connect \
–enable-proxy-ftp \
–enable-proxy-http \
–enable-proxy-ajp \
–enable-proxy-balancer \
–enable-suexec \
–with-suexec-caller=apache \
–with-suexec-userdir=www \
–with-suexec-docroot=/home \
–with-suexec-uidmin=100 \
–with-suexec-gidmin=100 \
–with-suexec-logfile=/var/log/suexec_log

#make

#make install

#ln -s /opt/httpd-2.2.9/bin/apachectl /etc/init.d/httpd

#cd ..

修改apache配置文件 /opt/httpd-2.2.9/conf/httpd.conf

找到

User daemon
Group daemon

修改为

User apache
Group apache

安装 fcgid

#tar -zxvf mod_fcgid.2.2.tgz

#cd mod_fcgid.2.2

修改Makefile

top_dir = /usr/local/apache2 为 top_dir = /opt/httpd-2.2.9

#make

#make install

#cd ..

修改apache配置文件 httpd.conf

增加 LoadModule fcgid_module modules/mod_fcgid.so

安装PHP,记得增加cgi支持

#tar -zxvf php-5.2.6.tar.gz

#cd php-5.2.6

#./configure –prefix=/opt/php-5.2.6 –with-libxml-dir –enable-cli –enable-cgi –enable-fastcgi –enable-bcmath –enable-force-cgi-redirect –enable-discard-path –enable-path-info-check –with-openssl –with-pcre-regex –enable-calendar –enable-dom –enable-ftp –with-openssl-dir=/usr/local/ssl –enable-gd-jis-conv –enable-hash –with-iconv –enable-json –enable-mbstring –enable-mbregex –enable-pdo –enable-posix –enable-libxml –enable-simplexml –with-sqlite –enable-tokenizer –enable-xmlreader –enable-xmlwriter –enable-sockets –with-zlib –with-freetype-dir –with-gd –with-jpeg-dir=/usr/lib –with-png-dir=/usr/lib –with-mime-magic –with-mysql=/opt/mysql-5.0.22 –with-zlib-dir=/usr/lib/libz.so –with-pdo-mysql=/opt/mysql-5.0.22 –with-pdo-sqlite –enable-posix –enable-soap

#make

#make install

修改apache配置文件httpd.conf

找到

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

修改为

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

修改apache配置文件 conf/extra/httpd-vhosts.conf

删除所有的虚拟主机

现在配置虚拟主机:

所有虚拟主机的组为 vhost

增加一个用户名为sunboyu的虚拟主机

#groupadd vhost

#useradd -g vhost sunboyu

用户主目录默认为 /home/sunboyu

增加两个目录

#mkdir /home/sunboyu/www

#mkdir /home/sunboyu/logs

增加虚拟主机配置文件

SuexecUserGroup sunboyu vhost
ServerAdmin sunboyu@gmail.com
DocumentRoot “/home/sunboyu/www”
ServerName 192.168.0.4
ServerAlias sunboyu.cn
ErrorLog “/home/sunboyu/logs/error_log”
CustomLog “|/opt/httpd-2.2.9/bin/rotatelogs /home/sunboyu/logs/%Y_%m_%d_log 86400 +480″ common

AddHandler fcgid-script .php
#AddHandler cgi-script .pl .cgi
FCGIWrapper /home/sunboyu/php-cgi .php
Options ExecCGI FollowSymLinks
AllowOverride all
Order deny,allow
Allow from all

创建文件 /home/sunboyu/php-cgi 文件内容为

#!/bin/sh
export PHPRC=/home/sunboyu
export PHP_FCGI_CHILDREN=4
export PHP_FCGI_MAX_REQUESTS=5000
exec /opt/php-5.2.6/bin/php-cgi “$@”

#chmod 755 -R /home/sunboyu

#chown sunboyu:vhost -R /home/sunboyu

配置到现在,重启apache

#service httpd restart

在虚拟目录根下 /home/sunboyu/www 下写文件 info.php 内容为 phpinfo() 修改权限为755 用户组为 sunboyu:vhost

现在访问应该是phpinfo的信息。

在写这篇文档的时候,基本是按照数续依次安装。

如果有问题,希望帮忙,请提前修改你服务器root密码,我们可以一起调试。

发表评论




XHTML:你可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(若看不到验证码,请重新加载页面。)