CentOS 5.2 下实现 Apache + MySQL + PHP + FastCGI (第一部分)
最近闲来无事,上到各大开源软件官方网站瞅瞅,发现软件都更新了,于是下载下来安装试试。顺便把用了一年多的老系统及软件都更新下吧。之前的系统环境也是用源代码安装的 Apache + MySQL + PHP + FastCGI,因此这次升级也不例外。(不过我还是很不喜欢源代码安装,麻烦,又容易出问题)
下面先把所需要的软件列出:
[size=5][color=#FF0000][b]memcache-2.2.3.tgz
php-5.2.6-fpm-0.5.8.diff.gz
xcache-1.2.2.tar.gz
httpd-2.2.9.tar.gz
mysql-5.1.25-rc.tar.gz
php-5.2.6.tar.gz
mod_fcgid.2.2.tar.gz
pcre-7.7.tar.gz[/b][/color][/size]
接下来开始安装吧。。。
[b](一)安装 CentOS 5.2 [/b]
这系统安装步骤,参照之前的 CentOS 5.1 安装:
[url=http://blog.redzone.com.cn/read.php/35.htm][color=#FF0000]CentOS 5.1 下用源码编译安装 ExtMail (第一部分)[/color][/url]
[b](二)安装 MySQL[/b]
# /usr/sbin/groupadd -g 27 mysql
# /usr/sbin/useradd -c "MySQL Server" -u 27 -d /usr/local/mysql -g mysql -s /bin/bash -M mysql
# tar zxvf mysql-5.1.25-rc.tar.gz
# cd mysql-5.1.25-rc
# CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql --without-debug --with-unix-socket-path=/var/lib/mysql/mysql.sock --with-extra-charset=all --with-pthread --enable-thread-safe-client
# make
# make install
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 700 /etc/rc.d/init.d/mysqld
# cd ..
# rm -rf mysql-5.1.25-rc
# /usr/local/mysql/bin/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysql.pid --skip-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
# cd /usr/local/mysql
# chown -R root .
# chown -R mysql.mysql /var/lib/mysql
# chmod 755 /var/lib/mysql
# mkdir /var/run/mysqld
# chown mysql.mysql /var/run/mysqld
# /etc/rc.d/init.d/mysqld start
检查 mysqld 进程是否启动:
# ps aux|grep mysqld [color=#FF0000] (若看到如下几个进程,就已经启动OK,若无则要检查配置)[/color]
root 3749 0.0 0.0 4112 612 pts/0 S+ 11:32 0:00 grep mysqld
root 8568 0.0 0.1 4720 1204 ? S 10:58 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/run/mysqld/mysqld.pid
mysql 8743 0.0 0.5 35412 4272 ? Sl 10:58 0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock --port=3306
[b](三)安装 PHP 所需的一些库文件 [/b]
这一部分,为了偷懒,就全部使用 CentOS 5.2 自带或 RedHat 系统自带的 rpm 包来安装了。
# rpm -ivh perl-DBI-1.56-1.noarch.rpm
# rpm -ivh MySQL-shared-compat-5.1.25-0.rhel5.i386.rpm
# rpm -ivh perl-DBD-MySQL-3.0007-1.fc6.i386.rpm
# rpm -ivh unixODBC-2.2.11-7.1.i386.rpm
# rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm
# rpm -ivh libtool-ltdl-1.5.22-6.1.i386.rpm
# rpm -ivh libtool-ltdl-devel-1.5.22-6.1.i386.rpm
# rpm -ivh apr-devel-1.2.7-11.i386.rpm
# rpm -ivh apr-util-devel-1.2.7-7.el5.i386.rpm
# rpm -ivh libxslt-python-1.1.17-2.i386.rpm
# rpm -ivh libjpeg-devel-6b-37.i386.rpm
# rpm -ivh libpng-devel-1.2.10-7.1.el5_0.1.i386.rpm
# rpm -ivh freetype-demos-2.2.1-19.el5.i386.rpm
# rpm -ivh freetype-devel-2.2.1-19.el5.i386.rpm
# rpm -ivh aspell-0.60.3-7.1.i386.rpm
# rpm -ivh aspell-af-0.50-4.2.2.i386.rpm
# rpm -ivh aspell-bg-0.50-11.2.2.i386.rpm
# rpm -ivh aspell-br-0.50-4.2.2.i386.rpm
# rpm -ivh aspell-ca-0.50-4.2.2.i386.rpm
# rpm -ivh aspell-cs-0.51-3.2.2.i386.rpm
# rpm -ivh aspell-cy-0.50-4.2.2.i386.rpm
# rpm -ivh aspell-da-0.50-12.2.2.i386.rpm
# rpm -ivh aspell-de-0.50-11.2.2.i386.rpm
# rpm -ivh aspell-devel-0.60.3-7.1.i386.rpm
# rpm -ivh aspell-el-0.50-4.2.2.i386.rpm
# rpm -ivh aspell-en-6.0-2.1.i386.rpm
# rpm -ivh aspell-es-0.50-13.2.2.i386.rpm
# rpm -ivh aspell-fo-0.51-4.2.2.i386.rpm
# rpm -ivh aspell-fr-0.50-9.2.2.i386.rpm
# rpm -ivh aspell-ga-0.50-4.2.2.i386.rpm
# rpm -ivh aspell-gd-0.50-4.2.2.i386.rpm
# rpm -ivh aspell-gl-0.50-4.2.2.i386.rpm
# rpm -ivh aspell-hr-0.51-4.2.2.i386.rpm
# rpm -ivh aspell-id-0.50.1-4.2.2.i386.rpm
# rpm -ivh aspell-is-0.51.1-2.2.2.i386.rpm
# rpm -ivh aspell-it-0.53-4.2.1.i386.rpm
# rpm -ivh aspell-nl-0.1e-1.fc6.i386.rpm
# rpm -ivh aspell-no-0.50.1-9.2.2.i386.rpm
# rpm -ivh aspell-pl-0.51-5.2.2.i386.rpm
# rpm -ivh aspell-pt-0.50-10.2.2.i386.rpm
# rpm -ivh aspell-ru-0.99f7-2.2.2.i386.rpm
# rpm -ivh aspell-sl-0.50-1.2.1.i386.rpm
# rpm -ivh aspell-sr-0.02-1.2.1.i386.rpm
# rpm -ivh aspell-sv-0.51-1.2.1.i386.rpm
# rpm -ivh libc-client-2004g-2.2.1.i386.rpm
# rpm -ivh libc-client-devel-2004g-2.2.1.i386.rpm
# rpm -ivh beecrypt-devel-4.1.2-10.1.1.i386.rpm
# rpm -ivh lm_sensors-2.10.0-3.1.i386.rpm
# rpm -ivh lm_sensors-devel-2.10.0-3.1.i386.rpm
# rpm -ivh net-snmp-5.3.1-24.el5.i386.rpm
# rpm -ivh net-snmp-utils-5.3.1-24.el5.i386.rpm
# rpm -ivh net-snmp-perl-5.3.1-24.el5.i386.rpm
# rpm -ivh --nodeps elfutils-devel-0.125-3.el5.i386.rpm
# rpm -ivh net-snmp-devel-5.3.1-24.el5.i386.rpm
# rpm -ivh elfutils-devel-static-0.125-3.el5.i386.rpm
# rpm -ivh pcre-devel-6.6-2.el5_1.7.i386.rpm
# rpm -ivh tcl-devel-8.4.13-3.fc6.i386.rpm
# rpm -ivh tcl-html-8.4.13-3.fc6.i386.rpm
# rpm -ivh tk-8.4.13-5.el5_1.1.i386.rpm
# rpm -ivh --nodeps tk-devel-8.4.13-5.el5_1.1.i386.rpm
# rpm -ivh tclx-8.4.0-5.fc6.i386.rpm
# rpm -ivh tclx-doc-8.4.0-5.fc6.i386.rpm
# rpm -ivh tclx-devel-8.4.0-5.fc6.i386.rpm
# rpm -ivh gamin-devel-0.1.7-8.el5.i386.rpm
# rpm -ivh libart_lgpl-devel-2.3.17-4.i386.rpm
# rpm -ivh libmcrypt-2.5.8-4.el5.centos.i386.rpm
# rpm -ivh libmcrypt-devel-2.5.8-4.el5.centos.i386.rpm
# rpm -ivh mhash-0.9.9-1.el5.centos.i386.rpm
# rpm -ivh mhash-devel-0.9.9-1.el5.centos.i386.rpm
[b](四)安装 pcre 7.7 [/b]
其实之前我们已经安装好了 pcre-6.6-2 版本,但其官方网站已经升级到 7.7 版本了,再者这次安装所涉及的软件都是使用目前最新的稳定版本,因此 pcre 我们也安装最新版本。
# tar zxvf pcre-7.7.tar.gz
# cd pcre-7.7
# ./configure
# make
# make install
# cd ..
# rm -rf pcre-7.7
# rm -rf /usr/bin/pcre-config
# cp -a /usr/local/bin/pcre-config /usr/bin/
# rm -rf /usr/lib/libpcre.a
# cp -a /usr/local/lib/libpcre.a /usr/lib/
[b](五)安装 apache [/b]
# cd tar.gz
# /usr/sbin/groupadd -g 48 apache
# /usr/sbin/useradd -g 48 -u 48 -M -d /usr/local/httpd/htdocs -s /sbin/nologin apache
# tar zxvf httpd-2.2.9.tar.gz
# cd httpd-2.2.9
# CHOST="i686-pc-linux-gnu" CXX=gcc CXXFLAGS="-o3 -msse2 -mmmx -mfpmath=sse -funroll-loops -pipe -fomit-frame-pointer" ./configure --prefix=/usr/local/httpd --enable-modules=all --enable-mods-shared=all --enable-so --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-static-support --enable-static-htpasswd --enable-static-htdigest --enable-static-rotatelogs --enable-static-logresolve --enable-static-htdbm --enable-static-ab --enable-static-checkgid --disable-cgid --disable-cgi --disable-userdir --with-mpm=worker --enable-ssl --enable-suexec --with-suexec-uidmin=500 --with-suexec-gidmin=100 --with-pcre=/usr/local/bin/pcre-config
# make
# make install
# cd ..
# rm -rf httpd-2.2.9
# cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd
# chmod 700 /etc/rc.d/init.d/httpd
# /etc/rc.d/init.d/httpd start
检查 httpd 进程是否启动:
# ps aux|grep httpd [color=#FF0000] (若看到如下几个进程,就已经启动OK,若无则要检查配置)[/color]
root 3373 0.0 0.4 10648 3540 ? Ss 11:25 0:00 /usr/local/httpd/bin/httpd
apache 3375 0.0 0.2 10420 1904 ? S 11:25 0:00 /usr/local/httpd/bin/httpd
apache 3376 0.0 0.4 287416 3240 ? Sl 11:25 0:00 /usr/local/httpd/bin/httpd
apache 3378 0.0 0.4 287416 3176 ? Sl 11:25 0:00 /usr/local/httpd/bin/httpd
apache 3380 0.0 0.3 287284 2568 ? Sl 11:25 0:00 /usr/local/httpd/bin/httpd
apache 3461 0.0 0.3 287284 2568 ? Sl 11:25 0:00 /usr/local/httpd/bin/httpd
root 4119 0.0 0.0 4116 596 pts/0 R+ 11:49 0:00 grep httpd
[b](六)安装 PHP5 [/b]
# cd tar.gz
# tar zxvf php-5.2.6.tar.gz
# gzip -cd php-5.2.6-fpm-0.5.8.diff.gz | patch -d php-5.2.6 -p1
[color=#FF0000]php-fpm 是为 PHP 打的一个 FastCGI 管理补丁,可以平滑变更 php.ini 配置而无需重启 php-cgi;
这一部分留到后续再讲了。。。[/color]
# cd php-5.2.6
# ./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --with-config-file-path=/etc --enable-inline-optimization --with-zlib --with-gd --with-ttf --with-gmp --with-pcre-dir=/usr/local/bin/pcre-config --with-mysql=/usr/local/mysql --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mysqli=/usr/local/mysql/bin/mysql_config --disable-debug --enable-posix --disable-rpath --enable-safe-mode --enable-magic-quotes --disable-dmalloc --enable-bcmath --enable-gd-native-ttf --enable-sysvsem --enable-sysvshm --enable-exif --enable-ftp --enable-sockets --enable-wddx --with-jpeg-dir --with-freetype-dir --enable-gd-native-ttf --with-mime-magic=/usr/share/file/magic.mime
# make
# make install
# cp php.ini-dist /etc/php.ini
# cd ..
# rm -rf php-5.2.6
[b](七)安装 PHP5 扩展模块 [/b]
# tar zxvf memcache-2.2.3.tgz
# cd memcache-2.2.3
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make
# make install
# cd ..
# rm -rf memcache-2.2.3
# tar zxvf xcache-1.2.2.tar.gz
# cd xcache-1.2.2
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --enable-xcache
# make
# make install
# cd ..
# rm -rf xcache-1.2.2
[color=#FF0000][size=4]====================== 第一部分 完结 ==========================[/size][/color]
[[i] 本帖最后由 疯狂老头 于 2008-7-6 07:29 编辑 [/i]]
谢谢你的奉献!学习了!
谢谢你的奉献!学习了!!!!:)页:
[1]