技术原创与整理:APACHE2.0.54+PHP5.0.4+MYSQL4.1.9+GD库
说起来惭愧,装这样简单的AMP环境是自己一年前熟练能够完成的,倒是现在却忘记了,不过也好,温故 而知,希望以后遇到新的技术上的东西,多学习,多记录,不能够在失去一些基础的东西,毕竟是做技术的;下面的配置比较全面,参考过许多的资料,基于自己的 实际运用环境,如果大家看到,有问题的话,我想就是环境和路径的问题能够注意了,直接COPY里面的配置命令,确保你100000000%能够完成简单的 AMP安装和测试,并顺利的让你进入MYSQL+PHP的学习过程;
前序:
首先,服务器GCC要有,不然什么都不能做.可以用gcc -v来查看是否安装了GCC,
#gcc -v Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-
threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-34)
有以上类似信息说明已有GCC,如果你没有,请先拿安装光盘装好它
准备:
请下载以下所有的东西:
httpd-2.0.54.tar.gz
MySQL-4.1.9.tar.gz
php-5.0.4.tar.gz
ZendOptimizer-2.5.3-linux-glibc21-i386.tar.gz
gd-2.0.35.tar.gz http://www.libgd.org/releases/gd-2.0.35.tar.gz
libxml2-2.6.27.tar.gz wget http://xmlsoft.org/sources/libxml2-2.6.27.tar.gz
zlib-1.2.1.tar.gz http://www.zlib.net/zlib-1.2.3.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.5.tar.gz
freetype http://downloads.sourceforge.net/freetype/freetype-1.3.1.tar.gz?use_mirror=internap
xpm-3.4k-2.i386.rpm
gd-devel-1.8.4-11.i386.rpm
####################################################
正式进入安装,请仔细参考具体的环境和路径!!
####################################################
一、安装APACHE2.0.54
1)基础安装
#tar zxvf httpd-2.0.54.tar.gz
#cd httpd-2.0.54
# ./configure --prefix=/usr/local/apache2 --enable-modules=so --enable-rewrite
#make
#make install
2)察看编译进apache的模块:
# /usr/local/apache2/bin/httpd -l
compiled-in modules:
http_core.c
mod_so.c
[root@soft local]# /usr/local/apache2/bin/httpd -l
Compiled in modules:
core.c
mod_access.c
mod_auth.c
mod_include.c
mod_log_config.c
mod_env.c
mod_setenvif.c
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_rewrite.c
mod_so.c
看到以上的信息表明apache支持dso方式了。这样就可以用dso的方式把php和resin的模块加进来。
[root@soft mysql4]# /usr/local/apache2/bin/apachectl configtest
Syntax OK
####################################################
二、安装MYSQL
1)添加mysql用户及用户组
[root@soft local]# groupadd mysql
[root@soft local]# useradd -g mysql mysql
[root@soft local]# tar zxvf ~lonen/amp-package/mysql-4.1.19.tar.gz
[root@soft local]# cd mysql-4.1.19/
2)生成mysql系统数据库
[root@soft mysql-4.1.19]# scripts/mysql_install_db
Installing all prepared tables
Fill help tables
To start mysqld at boot time you have to copy support-files/mysql.server
to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/mysql4/bin/mysqladmin -u root password 'Longtel123'
/usr/local/mysql4/bin/mysqladmin -u root -h soft.longtel.com password 'new-password'
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr/local/mysql4 ; /usr/local/mysql4/bin/mysqld_safe
*************************************************************************************************
3)权限:
[root@soft mysql-4.1.19]# ./configure --prefix=/usr/local/mysql4 ;make;make install
[root@soft mysql-4.1.19]# chown -R root /usr/local/mysql4;chown -R root /usr/local/mysql4/bin
[root@soft mysql-4.1.19]# chown -R root /usr/local/mysql4/bin
[root@soft mysql-4.1.19]# chown -R root /usr/local/mysql4/var
[root@soft mysql-4.1.19]# chown -R root /usr/local/mysql4/var/mysql
[root@soft mysql-4.1.19]# chown -R root /usr/local/mysql4/var/mysql/*
[root@soft mysql-4.1.19]# chmod 770 /usr/local/mysql4/var
[root@soft mysql-4.1.19]# chmod 770 /usr/local/mysql4/var/mysql
[root@soft mysql-4.1.19]# chmod 770 /usr/local/mysql4/var/mysql/*
[root@soft mysql-4.1.19]# chmod 770 /usr/local/mysql4/lib/mysql/libmysqlclient.a
[root@soft mysql-4.1.19]# cp support-files/my-medium.cnf /etc/my.cnf
[root@soft mysql-4.1.19]# cd /usr/local/mysql4
[root@soft mysql4]# ps -efa|grep mysqld
root 27569 28960 0 01:22 pts/0 00:00:00 /bin/sh ./bin/mysqld_safe --user=root
root 27593 27569 2 01:22 pts/0 00:00:00 /usr/local/mysql4/libexec/mysqld --basedir=/usr/local/mysql4 --
datadir=/usr/local/mysql4/var --user=root --pid-file=/usr/local/mysql4/var/soft.longtel.com.pid --skip-locking --port=3306
--socket=/tmp/mysql.sock
root 27603 28960 0 01:22 pts/0 00:00:00 grep mysqld
[root@soft htdocs]# /usr/local/mysql4/share/mysql/mysqld start
Starting MySQL [ OK ]
*************************************************************************************************
4)
修改mysql目录权限
# chown -R root /usr/local/mysql4
# chgrp -R mysql /usr/local/mysql4
# chown -R mysql /usr/local/mysql4/data
[root@soft mysql4]# chgrp -R mysql /usr/local/mysql4
[root@soft mysql4]# chown -R mysql:mysql /usr/local/mysql4/
[root@soft mysql4]# chgrp -R mysql /usr/local/mysql4
[root@soft mysql4]# cp /usr/local/mysql4/share/mysql/mysql.server /usr/local/mysql4/share/mysql/mysqld
[root@soft mysql4]chmod a+x /usr/local/mysql4/share/mysql/mysqld
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5)
###故障处理:
[root@soft bin]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
""mysql dead but subsys locked
解决办法如下:
[root@soft mysql-4.1.19]# rm -fr /var/lib/mysql/*
[root@soft mysql-4.1.19]# rm /var/lock/subsys/mysql
rm: remove regular empty file `/var/lock/subsys/mysqld'? yes
shell> killall mysqld
shell> service mysqld start
[root@soft mysql-4.1.19]# /etc/rc.d/init.d/mysqld status
mysqld (pid 5457) is running...
###数据库运行正常;
6)
启动服务方法
/usr/local/mysql4/bin/safe_mysqld --user=mysql &
停止服务方法
/usr/local/mysql4/bin/mysqladmin shutdown
7)
设置成开机自启动
[root@soft htdocs]# echo "/usr/local/mysql4/share/mysql/mysqld start">>/etc/rc.local
[root@soft htdocs]# echo "/usr/local/apache2/bin/apachectl start " >>/etc/rc.local
这样每次重新启动系统以后,mysql/apache也会随系统一起启动.
########################################################
三、安装PHP的重要步骤,完整安装:×
ZLIB:
[root@soft src]# tar zxvf ~lonen/amp-package/zlib-1.2.3.tar.gz
[root@soft src]# ln -s zlib-1.2.3/ zlib
[root@soft src]#cd zlib
[root@soft zlib]# ./configure ;make;make install
LIBPNG:
[root@soft src]# tar zxvf ~lonen/amp-package/libpng-1.2.18.tar.gz
[root@soft src]# ln -s libpng-1.2.18/ libpng
[root@soft src]# cd libpng
[root@soft libpng]# make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib
[root@soft libpng]# ./configure ;make ;make install
JPEG6
建立目录:
[root@soft src]# mkdir -p /usr/local/src/jpeg6
[root@soft src]# mkdir -p /usr/local/src/jpeg6/bin
[root@soft src]# mkdir -p /usr/local/src/jpeg6/lib
[root@soft src]# mkdir -p /usr/local/src/jpeg6/include
[root@soft src]# mkdir -p /usr/local/src/jpeg6/man
[root@soft src]# mkdir -p /usr/local/src/jpeg6/man1
[root@soft src]# mkdir -p /usr/local/src/jpeg6/man/man1
[root@soft jpeg-6b]# tar zxvf ~lonen/amp-package/jpegsrc.v6b.tar.gz
[root@soft src]# cd jpeg-6b/
[root@soft src]# cd jpeg-6b/
[root@soft jpeg-6b]# ./configure --prefix=/usr/local/src/jpeg6/ --enable-shared --enable-static ; make ; make install
FREETYPE
[root@soft src]# tar zxvf ~lonen/amp-package/freetype-2.3.5.tar.gz
[root@soft src]# mkdir -p /usr/local/src/freetype
[root@soft src]# cd freetype-2.3.5/
[root@soft freetype-2.3.5]# ./configure --prefix=/usr/local/freetype;make ;make install
GD:
[root@soft gd-2.0.35]# ./configure --prefix=/usr/local/src/gd --with-jpeg=/usr/local/src/jpeg6/
--with-png=/usr/local/src/libpng
--with-zlib=/usr/local/src/zlib
--with-freetype=/usr/local/src/freetype/
[root@soft gd-2.0.35]# make ;make install
LIBXML2
安装libxml2 (记得PHP5.1.1只支持libxml2-2.6.11以上版本)
[root@soft src]#tar zxvf libxml2-2.6.11.tar.gz
[root@soft src]# ln -s libxml2-2.6.27/ libxml
[root@soft src]#cd libxml2-2.6.11
#./configure
#make
#make install
安装XPM支持
#rpm -ivh xpm-3.4k-2.i386.rpm
#############################
上面一切都很顺利的话,GD就算成功的安装上了. 如果有问题,应该是缺少支持包,总之是少什么就下载什
么来安装上.
开始PHP5
#tar zxvf php-5.0.4.tar.gz
#cd php-5.0.4
[root@zhao php-5.0.4]#
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql4 --with
-png-dir=/usr/local/src/libpng --with-jpeg-dir=/usr/local/src/jpeg6 --with-zlib-dir=/usr/local/src/zlib --with-libxml-
dir=/usr/local/src/libxml --with-gd-dir=/usr/local/src/gd --with-iconv --with-mbstring --enable-track-vars --enable-force-
cgi-redirect --enable-ftp
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
Thank you for using PHP.
1)
#make ; make install
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).
Installing PHP SAPI module: cgi
Installing PHP CGI into: /usr/local/php5--with-apxs2=/usr/local/apache2.2/bin/apxs/bin/
Installing PEAR environment: /usr/local/php5--with-apxs2=/usr/local/apache2.2/bin/apxs/lib/php/
[PEAR] Archive_Tar - installed: 1.1
[PEAR] Console_Getopt - installed: 1.2
[PEAR] PEAR - installed: 1.3.5
Wrote PEAR system config file at: /usr/local/php5--with-apxs2=/usr/local/apache2.2/bin/apxs/etc/pear.conf
You may want to add: /usr/local/php5--with-apxs2=/usr/local/apache2.2/bin/apxs/lib/php to your php.ini include_path
[PEAR] HTML_Template_IT- installed: 1.1
[PEAR] Net_UserAgent_Detect- installed: 2.0.1
[PEAR] XML_RPC - installed: 1.2.2
Installing build environment: /usr/local/php5--with-apxs2=/usr/local/apache2.2/bin/apxs/lib/php/build/
Installing header files: /usr/local/php5--with-apxs2=/usr/local/apache2.2/bin/apxs/include/php/
Installing helper programs: /usr/local/php5--with-apxs2=/usr/local/apache2.2/bin/apxs/bin/
2)
我是把他们分别安装在/usr/local/apache2 & PHP目录下的
所有的安装工作做好了,接着我们来配置.
复制PHP.INI文件到正确位置
在PHP目录下运行
#cp php.ini-dist /usr/local5/php/lib/php.ini
################################################################################
四、配置与测试
Part I:
编辑apache配置文件httpd.conf
#vi /usr/local/apache2/conf/httpd.conf
要改的有如下几处:
一般都在
1)#AddType application/x-tar .tgz
下加一行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-sources .phps
2)还有找到
DirectoryIndex index.html index.html.var
在后面加 index.php 让它把index.php做为默认页
3)大概位置在232行:
LoadModule php5_module modules/libphp5.so
4)再找
#ServerName
把#去掉,后面的IP改成你的IP.
5)找到
DocumentRoot "/usr/local/apache2/htdocs"
把/usr/local/apache2/htdocs改为你存放网页文件的路径
比如我是放在/myweb目录下,所以我以后上传PHP文件就放在/myweb目录下,然后用IP访问,就能看到首页了
差不多就这些了,至于apache2其它优化,请看www.phpv.net 里的apache配置那一分类.
6)保存httpd.conf文件. :wq
7)[root@soft conf]# /usr/local/apache2/bin/apachectl restart
8)如果没有出错,写一个测试页放到你网页目录下, 我的就是上面所说的 /htdocs
#vi ./htdocs/index.php
<?
phpinfo();
?>
保存.试试在测试器里打IP进去就可以看到PHPINFO页了
好了.如无意外.你现在可以放心在你的机器上运行PHP脚本连接mysql了.
Part II:
1)用ZendOptimizer-2.5.3加速PHP
#tar zxvf ZendOptimizer-2.5.3-linux-glibc21-i386.tar.gz
#cd ZendOptimizer-2.5.3-linux-glibc21-i386
#./install.sh
x x
x Please specify the location for installing Zend Optimizer: x
x x
x x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x/usr/local/Zend x x
x mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x
tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu
x < OK > <Cancel> x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq Zend Optimizer 2.6.0 qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x x
x The following configuration changes have been made: x
x x
x - The php.ini file has been relocated from /usr/local/php5/lib to /usr/local/Zend/etc x
x x
x - A symbolic link for the php.ini file has been created in /usr/local/php5/lib. x
x x
x - The original php.ini was backed up to /usr/local/php5/lib/php.ini-zend_optimizer.bak x
x x
x x
tqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu
x < OK > x