linux下的php+apache+mysql+gd库安装修订版

linux下的php+apache+mysql+gd库安装修订版

---hany 整理编写.


经过多次安装,将linux4AS下的php+apache+mysql+gd库安装过程多次修订,整理如下:
一、 系统及软件版本问题:
1、 操作系统:Linux AS U2 (advanced server update 2)
2、 apache:httpd-2.0.54.tar.gz;下载地址:https://www.360docs.net/doc/8b4082417.html,
3、 php:php-4.3.0.tar.gz ;可以安装更高的php-4.4以上版本,为了兼容老程序,不要安装php-5 ;下载地址:https://www.360docs.net/doc/8b4082417.html,
4、 mysql:mysql-4.1.20.tar.gz;下载地址:https://www.360docs.net/doc/8b4082417.html,
5、 zlib:zlib-1.2.3.tar.gz;下载地址:https://www.360docs.net/doc/8b4082417.html,/project/showfiles.php?group_id=5624&package_id=14274&release_id=343023
6、 libpng-1.2.8.tar.gz;下载地址:https://www.360docs.net/doc/8b4082417.html,/projects/libpng/
7、 freetype-2.1.10.tar.gz载地址:https://www.360docs.net/doc/8b4082417.html,/projects/freetype/
8、 jpeg:jpegsrc.v6b.tar.gz;下载地址:https://www.360docs.net/doc/8b4082417.html,/
9、 gd:gd-2.0.33.tar.gz;下载地址:https://www.360docs.net/doc/8b4082417.html,
10、libxml:libxml2-2.6.26.tar.gz;下载地址:暂无

二、 安装过程:
1、 mysql:
# rpm -e mysql --nodeps
# cd /usr/local
# tar zxvf mysql-5.0.67.tar.gz
# cd mysql-5.0.67
# groupadd mysql //添加用户组
# useradd mysql -g mysql //添加用户及属于哪个组
#./configure --prefix=/usr/local/mysql5 --with-charset=gbk --with-extra-charsets=utf8 //编译
# make
# make install
# cd /usr/local/mysql-4.0.20-rc/scripts
#./mysql_install_db //安装mysql服务
# chown -R root:mysql /usr/local/mysql//修改权限
# chown -R mysql:mysql /usr/local/mysql/var
# chgrp -R mysql /usr/local/mysql
# cd /usr/local/mysql-4.0.20-rc/support-files/https://www.360docs.net/doc/8b4082417.html,f /etc/https://www.360docs.net/doc/8b4082417.html,f//创建启动文件
# cp /usr/local/share/mysql/mysql.server /usr/local/mysql/share/mysql/mysql 将启动mysql服务更改名字
# chmod a+x /usr/local/mysql/share/mysql/mysql
启动服务方法
# /opt/mysql/bin/safe_mysqld --user=mysql &
或者
# /opt/mysql/share/mysql/mysql start
停止服务方法
# /opt/mysql/share/mysql/mysql stop
### 完毕

2、 apache:
本安装方法是可以单独升级 apache 的
安装步骤:
# cd /usr/local
# tar tzvf httpd-2.0.54.tar.gz
# cd httpd-2.0.54
#./configure --prefix=/usr/local/apache229 --enable-mods-shared=most --enable-rewrite --enable-modules=most --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/bin
# make
# make install
# cd /usr/local/apache/bin
#./apachectl start//此步骤在重新启动后使用
# vi /etc/rc.d/rc.local
在末尾添加
# /usr/local/apache/bin/apachectl start
//将来升级方法为
# /usr/local/apache/bin/apachectl stop
# cd /usr/local/apche
升级高版本的步骤
#./configure --prefix=/usr/local/apache --enable-shared=max --enable-module=most
# make
# make install
### 完毕

3、 libxml2:
在安装前,先卸载默认 libxml rpm 包,卸载方法如下:
先查询

是否安装此包
# rpm -q libxml
# rpm -e libxml --nodeps ;先不要卸载,因为只有安装php5才需要高版本libxml,安装php4的不要装libxml
然后安装 libxml源码包
版本:libxml2-2.6.26.tar.gz
步骤:
# tar zxvf libxml2-2.6.26.tar.gz
# cd /usr/local/libxml2-2.6.26.tar
#./configure --prefix=/usr/local/libxml
# make
# make install

4、 zlib:
# cd usr/local
# tar zxvf zlib-1.2.2.tar.gz
# cd zlib-1.2.2
#./configure --prefix=/usr/local/zlib
# make
# make install

5、 libpng:
# tar zxvf libpng-1.2.7.tar.tar
# cd libpng-1.2.7
# cd scripts/
# mv makefile.linux ../makefile
# cd ..
# make
# make install
注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个,在安装gd库时也不能指定安装路径

6、 freetype:
# cd /usr/local
# tar zxvf freetype-2.1.9.tar.gz
# cd freetype-2.1.9
#./configure --prefix=/usr/local/freetype
# make
# make install

7、 jpeg:
建立目录:
mkdir /usr/local/jpeg
mkdir /usr/local/jpeg/bin
mkdir /usr/local/jpeg/lib
mkdir /usr/local/jpeg/include
mkdir /usr/local/jpeg/man
mkdir /usr/local/jpeg/man/man1
# cd /usr/local
# tar -zvxf jpegsrc.v6b.tar.gz
# cd jpeg-6b

/////////如果是64位系统先进行如下操作/////////////////////////////
cp /usr/share/libtool/config.guess . (覆盖到相关软件自带的config.guess,t1lib在解压包的ac-tools下)
cp /usr/share/libtool/config.sub . (覆盖到相关软件自带的config.sub)
./configure --enable-shared --enable-static
make libdir=/usr/lib64
make libdir=/usr/lib64 install
使用64位函数库编译.
/////////////////////////////////////////////////////////////////

# ./configure --prefix=/usr/local/jpeg/ --enable-shared ;加载共享参数
# make;
# make install

8、 gd:
# cd /usr/local
# tar -zvxf gd-2.0.33.tar.gz
# cd gd-2.0.33
# ./configure --prefix=/usr/local/gd --with-png=/usr/local/libpng --with-jpeg=/usr/local/jpeg --with-zlib=/usr/local/zlib --with-freetype=/usr/local/freetype
# make;
# make install

9、 php:
# cd /usr/local
# tar zxvf php-4.3.0.tar.gz
# cd /usr/local/php-.4.3.0
#./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache229/bin/apxs --with-mysql=/usr/local/mysql5 --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local --with-zlib-dir=/usr/local/zlib --with-freetype-dir=/usr/local/freetype --with-gd=/usr/local/gd
# make
# make install
###补充说明
安装php时肯可能用到的补丁
#./configure \
--prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \
--enable-force-cgi-redirect \
--with-freetype-dir=/usr \
--with-png-dir=/usr \
--with-gd --enable-gd-native-ttf \
--with-ttf \
--with-gdbm \
--with-gettext \
--with-iconv \
--with-jpeg-dir=/usr \
--with-png \
--with-zlib \
--with-xml \
--enable-calendar \
--with-apxs=/usr/local/apache/bin/apxs
#make
#make install

三、 注意事项
1、 在安装服务器事,选择开发工具组件,因为里面包含里安装其它软件时所需的gcc库。
2、 在安装gd库时,顺序安装软件:zlib、libpng、freetype、jpeg、gd,特别注意libpng的安装方法与安装gd库时加载libphp的方法与其它软件不一样,不用指定安装路径(默认安装路径)
3、 只有安装php5才需要高版本libxml,安装php4的不要装libxml
4、 在httpd.conf中要增加以下内容:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
5、 安装PHP5.0时如果出现:“libphp5.so: cannot restore segment prot after reloc”错误提示,执行以下操作:
chcon -t texrel_shlib_t /usr/local/apache229/modules/libphp5.so

四、 如何判断安装是否成功
1、 如何判断gd库的附件已经安装成功,在编译gd时请仔细查看:
#./configure
配置完成后,注意输出的信息是否如下:
** Configuration summary for gd 2.0.15:
Support for PNG library: yes
Support for JPEG library: yes
Support for Freetype 2.x library: yes
Support for Xpm library: no
Xpm库以前安装不成功,如果程序部门不常用用,一般PNG/JPEG/FREETYPE三个库打开支持就行
2、 如何判断php + mysql + apache + gd安装成功
运行 phpinfo();
查看编译php时是否有一下参数:
Build Date Dec 30 2005 12:00:10 ;看一下更新日期
Configure Command './configure' '--prefix=/usr/local/php' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-jpeg-dir=/usr/local/jpeg6/' '--with-png' '--with-gd=/usr/local/gd2/' '--with-freetype-dir=/usr/local/freetype2/' '--enable-trace-vars' '--with-zlib' '--with-mysql' ;看一下参数是否齐全
3、 如何判断gd是否安装成功
运行 phpinfo();
gd;在gd这一栏,正常情况下应该显示9项,最后一项不知道什么意思
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled ;此项不知道是哪个软件显示的


五、Apache的简单优化

//Linux平台下的优化:

ServerLimit 2000 //总大客户连接限制
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 800
MaxRequestsPerChild 10000



//Windows平台下的优化

ThreadsPerChild 500
MaxRequestsPerChild 10000
Win32DisableAcceptEx




====让apache支持中文链接及中文文件名=======

下载iconv_hook和mod_encoding的RMP包
wget https://www.360docs.net/doc/8b4082417.html,/mod_encoding-2.2.0-1.i386.tar.gz
复制代码
之后解压他
tar zxvf mod_encoding-2.2.0-1.i386.tar.gz
复制代码
之后导入RPM

rpm -ivh iconv_hook-1.0.0-1.i386.rpm
rpm -ivh mod_enc

oding-2.2.0-1.i386.rpm
复制代码
导入的时候,可能还会出现
ldconfig: /usr/lib/libmysqlclient.so.16 is not a symbolic link

ldconfig: /usr/lib/libmysqlclient_r.so.16 is not a symbolic link(不是符号连接)
复制代码
没关系啦...



我们只要在lnmpa的安装包下执行如下命令即可
ln -sf /usr/local/mysql/lib/mysql/libmysqlclient_r.so.16 /usr/lib/libmysqlclient_r.so.16
ln -sf /usr/local/mysql/lib/mysql/libmysqlclient_so.16 /usr/lib/libmysqlclient.so.16
复制代码
之后就可以修改httpd.conf了.在httpd.conf中加入如下代码:

LoadModule encoding_module modules/mod_encoding.so


Header add MS-Author-Via "DAV"


EncodingEngine on
NormalizeUsername on
SetServerEncoding GBK
DefaultClientEncoding UTF-8 GBK GB2312
AddClientEncoding "(Microsoft .* DAV $)" UTF-8 GBK GB2312
AddClientEncoding "Microsoft .* DAV" UTF-8 GBK GB2312
AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312


复制代码
然后重启lnmpa环境...这个时候.你肯定会发现这货出错了..
httpd: Syntax error on line 34
of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/modules/mod_encoding.so
into server: /usr/local/apache/modules/mod_encoding.so:
cannot open shared object file: No such file or directory
复制代码
没关系...我们将之前导入的mod_encoding.so(位置在/usr/lib/httpd/modules/下面),复制到/usr/local/apache/modules即可

cp /usr/lib/httpd/modules/mod_encoding.so /usr/local/apache/modules
复制代码
之后.重启环境
root/lnmpa restart
复制代码
好了.打完收工.祝各位玩的愉快!

相关文档
最新文档