APACHE2.2.3+PHP5.1.6+GD+MYSQL5.0.24a 安装实录
本操作系统Fedora Core 5
apache2.2.3+php5.1.6+mysql5.0.24a+gd配置,安装GD库(让PHP支持GIF,PNG,JPEG)
一:准备软件包,存放/home/moqiruyi/soft/目录下
主要软件包
原来下载的是: mysql-max-5.0.24a-linux-i686.tar.gz
后来安装PHP又问题 重新下载了 mysql-max-5.0.24a-linux-i686-glibc23.tar.gz
httpd-2.2.3.tar.gz
php-5.1.6.tar.gz
安装php所需的软件包
(其中libxml2是安装php5必须的,为什么还需要perl呆会说明原因。)
libxml2-2.6.19.tar.gz
libxslt-1.1.15.tar.gz
ActivePerl-5.8.8.817-i686-linux-2.2.17-gcc-257965.rpm
curl-7.15.0.tar.gz
以上安装包在安装FC5的时候都安装了 没有安装的 请下载后安装
GD库所需要软件包
(有人说PHP源码包里自带了GD2.0.28和zlib,
只要安装GD的三个支持包:jpg,png和freetype,但是我们还是下载)
gd-2.0.33.tar.gz
freetype-2.2.1.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.11.tar.gz
zlib-1.2.3.tar.gz
二:安装
1.安装apache
安装APACHE很简单了
进入 /home/moqiruyi/soft/目录
# cd /home/moqiruyi/soft
解压httpd-2.2.3.tar.gz
# tar -zvxf httpd-2.2.3.tar.gz
进入httpd-2.2.3目录
# cd httpd-2.2.3
配置APACHE安装文件
# ./configure --prefix=/usr/local/apache2 \ (apache安装目录)
--with-mpm=worker \(这里我使用的多线程多进程的多路处理模块)
--enable-mods-shared=all \ (使所有模块都编译成DSO)
--enable-rewrite \(rewrite模块)
--enable-proxy \(proxy模块)
--enable-proxy_http \(proxy_http模块)
--enable-ssl \(SSL模块)
--with-perl(支持PERL)
* 这里使用"\"是命令行转行 方便查看及修改
编译
#make;make install
一般安装APACHE不会有什么问题出现
2.安装MYSQL
# cd /home/moqiruyi/soft
# tar -zvxf mysql-max-5.0.24a-linux-i686-glibc23.tar.gz
# mv mysql-max-5.0.24a-linux-i686-glibc23 /usr/local/mysql
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
添加mysql用户及用户组
# groupadd mysql
# useradd -g mysql mysql
修改mysql目录权限
# chown -R root /usr/local/mysql
# chgrp -R mysql /usr/local/mysql
# chown -R mysql /usr/local/mysql/data
生成mysql系统数据库
# /usr/local/mysql/scripts/mysql_install_db --user=mysql&
启动mysql服务
# /usr/local/mysql/bin/mysqld_safe --user=mysql&
如出现 Starting mysqld daemon with databases from /usr/local/mysql/data
代表正常启动mysql服务了, 按Ctrl + C 跳出
3.安装GD
a.安装 jpeg6
建立目录:
# mkdir -p /usr/local/module/jpeg6
# mkdir -p /usr/local/module/jpeg6/bin
# mkdir -p /usr/local/module/jpeg6/lib
# mkdir -p /usr/local/module/jpeg6/include
# mkdir -p /usr/local/module/jpeg6/man
# mkdir -p /usr/local/module/jpeg6/man1
# mkdir -p /usr/local/module/jpeg6/man/man1
# cd /home/moqiruyi/soft
# tar -zvxf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure --prefix=/usr/local/module/jpeg6 --enable-shared --enable-static
# make; make install
* jpeg6安装文件中没有写创建目录的命令
b.安装libpng
因为安装FC5的时候 我安装了LIBPNG这个包
# rpm -ql libpng
得到 libpng的目录
/usr/local/lib
安装步骤如下
# cd /home/moqiruyi/soft
# tar -zvxf libpng-1.2.8.tar.gz
# cd libpng-1.2.8
# cp scripts/makefile.std makefile
# make; make install
安装后 也是 /usr/local/lib
c.安装 freetype
# cd /home/moqiruyi/soft
# tar -zvxf freetype-2.2.1.tar.gz
# cd freetype-2.2.1
# ./configure --prefix=/usr/local/module/freetype
# make;make install
d.:安装zlib
这个一般不用安装, FC5 Ubuntu 服务器版本 mdk(Mandrake)2006 都在安装的时候默认安装 别的没测试
# cd /home/moqiruyi/soft
#tar -zxvf zlib-1.2.3.tar.gz
#cd zlib.1.2.3
# ./configure
# make;make install
e.安装Curl库
这个一般不用安装
# cd /home/moqiruyi/soft
# tar -zvxf curl-7.15.0.tar.gz
# mkdir -p /usr/local/curl
# ./configure --prefix=/usr/local/curl
# make; make install
f.安装GD
# cd /home/moqiruyi/soft# tar -zvxf gd-2.0.33.tar.gz
# mkdir -p /usr/local/module/gd
# cd gd-2.0.33
# ./configure --prefix=/usr/local/module/gb \
> --with-png \
> --with-jpeg-dir=/usr/local/module/jpeg6 \
> --with-freetype=/usr/local/module/freetype \
> --with-zlib
# make; make install
4.安装php5,php5必须有libxml2支持!
a.安装libxml2
# cd /home/moqiruyi/soft
# tar -zxf libxml2-2.6.19.tar.gz
# cd libxml2-2.6.19
# mkdir -p /usr/local/module/libxml2
# ./configure --prefix=/usr/local/module/libxml2
# make; make install
b.安装 libxslt(可选安装,你可以不安装)
# cd /home/moqiruyi/soft
# tar -zxf libxslt-1.1.15.tar.gz
# mkdir -p /usr/local/module/libxslt
# cd libxslt-1.1.15
# ./configure --prefix=/usr/local/module/libxslt --with-libxml-prefix=/usr/local/module/libxml2
# make; make install
c.安装php5
# cd /home/moqiruyi/soft
# tar -zvxf php-5.1.6.tar.gz
# mkdir -p /usr/local/php
# cd php-5.1.6
# ./configure --prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-xml \
--with-png \
--with-jpeg-dir=/usr/local/module/jpeg6 \
--with-zlib \
--with-freetype-dir=/usr/local/module/freetype \
--with-gd=/usr/local/module/gd \
--with-curl \
--enable-track-vars \
--disable-debug \
--enable-url-includes \
--enable-sockets \
--enable-force-cgi-redirect \
--enable-calendar \
--with-config-file-path=/etc \
--enable-magic-quotes \
--enable-ftp \
--enable-gd-native-ttf \
--with-ttf \
--with-gdbm \
--with-gettext \
--with-iconv \
--enable-mbstring=all \
--enable-memory-limit \
--with-xsl=/usr/local/module/libxslt \
--enable-xslt
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini (别忘记了呵呵)
其中./configure 后的
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache2/bin/apxs
--with-mysql=/usr/local/mysql
--with-xml
是必要的选项
--with-png \
--with-jpeg-dir=/usr/local/module/jpeg6 \
--with-gd=/usr/local/modules/gd \
--with-zlib \
--with-freetype-dir=/usr/local/module/freetype \
这是让PHP支持GD库的配置选项
后面都是一些 要使用的PHP 函数库 可以根据自己的喜好 删除或增加
重新配置apache2让他支持php。
配置 httpd.conf 让apache支持PHP
# vi /usr/local/apache2/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
重启apache
# /usr/local/apache2/bin/apachectl restart
在htdocs目录里建一内容为 <? phpinfo(); ?> PHP文件, 输入URL地址查看PHP配置是否正确
ok,web环境apache2+mysql5+php5就介绍到这里。
更详细的apache2的配置和mysql配置和php.ini的配置参考相应文档。
--------------------------------------------------------
安装时候遇到的问题:
a.当你看到mysql有很多版本,如:
mysql-max-5.0.21-linux-i686-glibc23.tar.gz和
mysql-max-5.0.21-linux-i686.tar.gz
这俩个到底选哪个呢,请你使用如下命令来决定
# rpm -qa | grep glibc
b. 编译php时出现
./configure: /usr/local/apache2/bin/apxs: /replace/with/path/to/perl/interpreter:
bad interpreter: No such file or directory
这是找不到perl解释器的缘故。
修改/usr/local/apache2/bin/apxs文件中:
/replace/with/path/to/perl/interpreter
把他替换成perl所在的路径如/opt/ActivePerl-5.8/bin/perl,
(如果你下载的是active perl5.8的rpm,他默认安装路径是/opt/ActivePerl-5.8/bin/perl)
不过安装中好像必须安装PERL 这个问题很少出现
c. 安装了perl后,发现所有的文本编辑器都不能用了。
运行vi或者gedit时候,提示找不到libperl.so
到perl的安装目录下找一个libperl.so放到/usr/lib目录下就解决问题了
我的libperl.so在/opt/ActivePerl-5.8/lib/5.8.8/i686-linux-thread-multi-CORE/目录下。
如果不知道libperl.so在什么地方,可以用
# locate libperl.so
查找,或者用find命令
d. 当我使用mysql-max-5.0.24a-linux-i686.tar.gz,编译php时出现mysql错误:
checking for mSQL support... no
checking for MSSQL support via FreeTDS... no
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... /tmp/mysql.sock
checking for mysql_close in -lmysqlclient... no
checking for mysql_error in -lmysqlclient... no
configure: error: mysql configure failed. Please check config.log for more information.
主要原因是 mysql-level没有装,应该换包含所有mysql相关内容的软件包
e. 编译php时出现
configure: error: freetype2 not found!
没有安装freetype-level
configure: error: libpng.(a|so) not found.
没有安装libpng-devel
让APACHE MYSQL 随系统启动
我一般都是写在/etc/rc.local中
# vi /etc/rc.local
在文件中写入
# 启动APACHE
/usr/local/apache2/bin/httpd -k start
# 启动MYSQL
/usr/local/mysql/bin/mysqld_safe --user=mysql &