redhat5.4下安装apache、mysql、php经验谈

     公司的web服务器使用redhat5.4系统,采用php+mysql+apache的结构;身为中心主管的我,对windows下的iis和apache都是驾轻就熟,redhat还是新手,为了彰显牛人本色,花费了一周的业余时光,终于大功告成,实属不易呀。

     在操作过程中,老夫不断的查找资料,结果发现网络资料很庞杂,说的不是语焉不详就是太复杂,结合我自己经验,把这几天的血泪史付诸笔下,希望能对大家有帮助。

     首先安装apache环境,进入linux下首先>gcc -v查询gcc包装了没有,如果没装就赶紧去光盘找rpm吧,gcc装上后就可以下载apache了,下载httpd-2.2.17.tar.bz2,tar jxfv httpd-2.2.17.tar.bz2解包,./configure --prefix=/usr/apache2/ --enable-so,make,make install安装,apache就ok了,装好后查看netstat -nat ,80口有则服务启动了,对于apache的控制不做描述了,都知道apachectl在哪里吧,也可以用chkconfig加到系统服务中去。

#tar jxvf  httpd-2.2.17.tar.bz2

#cd httpd-2.2.17
#./configure --prefix=/usr/local/apache2 --enable-module=so
#make
#make install

     接下来就是安装mysql,这个比较简单,#rpm -ivh MySQL-server-4.0.20-0.i386.rpm ,#rpm -ivh MySQL-client-4.0.20-0.i386.rpm 安装好后试试能不能用,设置密码使用mqlsqladmin,使用mysql连接测试是否安装完全。

 

   再接下来就是安装php的工作了,首先为了对于多种图片格式的支持,所以我们需要安装以下包:

   1、安装XPM

#rpm -ivhxpm-3.4k-2.i386.rpm

安装
libxml
# tar -zxf libxml2-2.6.16.tar.gz
# cd libxml2-2.6.16
# ./configure (xml
默认安装就可以,不要指定路径了,因为安装时php可能找不到它,PHP5只支持libxml2-2.5.10以上版本
)
# make 
# make install

安装
zlib
# tar -zxf zlib-1.2.2.tar.gz 
# cd zlib-1.2 
# ./configure --prefix=/usr/local/zlib2 

# make 
# make install 

安装
jpeg
# tar -zxf jpegsrc.v6b.tar.gz 
# cd jpeg-6b/
# ./configure --prefix=/usr/local/jpeg6  
# make 
# make install-lib 
如果你选择默认安装,可能很顺利,指定路径后,请先创建以下文件夹

错误提示
:...... /usr/bin/install -c -m 644 jconfig.h /usr/local/jpeg6/include/jconfig.h
/usr/bin/install: 
无法创建一般文件‘/usr/local/jpeg6/include/jconfig.h’: 没有那个文件或目录

make: *** [install-headers] Error 1
# mkdir /usr/local/jpeg6 
# mkdir /usr/local/jpeg6/include 
# mkdir /usr/local/jpeg6/lib
# make install-lib 
# make install 

安装时如果错误提示
:
/usr/bin/install: 
无法创建一般文件‘/usr/local/jpeg6/lib/libjpeg.a’: 没有那个文件或目录

make: *** [install-lib] Error 1
创建如下文件夹
:
# mkdir /usr/local/jpeg6/lib
# make install
/usr/bin/install -c cjpeg /usr/local/jpeg6/bin/cjpeg
/usr/bin/install: 
无法创建一般文件‘/usr/local/jpeg6/bin/cjpeg’: 没有那个文件或目录

make: *** [install] Error 1
# mkdir /usr/local/jpeg6/bin
/usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/jpeg6/man/man1/cjpeg.1
/usr/bin/install: 
无法创建一般文件‘/usr/local/jpeg6/man/man1/cjpeg.1’: 没有那个文件或目录

make: *** [install] Error 1
# mkdir /usr/local/jpeg6/man
# mkdir /usr/local/jpeg6/man/man1
# make install 
好了,直到安装成功
!

安装
libpng:
# tar -zxf libpng-1.2.7-config.tar.gz 
# cd libpng-1.2.7-config 
# ./configure --prefix=/usr/local/libpng2 
# make 
# make install 

安装
freetype:
# tar -zxf freetype-2.1.9.tar.gz 
# cd freetype-2.1.9 
# ./configure --prefix=/usr/local/freetype2 
# make 
# make install

安装gd
:
# tar -zxf gd-2.0.26gif.tar.gz
# cd gd-2.0.26gif  
# ./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib2/ --with-png=/usr/local/libpng2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype2/ (
请指定及格插件的安装路径,否则安装php的时候可能出错
!)
# make 
# make install 

安装
php5:
# tar -zxf php5-200411260130.tar.gz 
# cd php5-200411260130 
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng2/ --with-gd=/usr/local/gd2/ --with-freetype-dir=/usr/local/freetype2/ --with-zlib-dir=/usr/local/zlib2/ -with-mysql=/var/lib/mysql
# make 
# make install 
# cp php.ini-dist /usr/local/php/lib/php.ini

make之前需要make test,有几个包是必须的:openssl,mysql-shared,mysql-devel等几个包必须安装。

在编译gd-2.0.35.tar.gz时报错:gd_png.c:16:53: error: png.h: No such file or directory2011-03-04 21:40编译gd-2.0.35.tar.gz时报错:

gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/local/freetype/include/freetype2 -I/usr/local/freetype/include -I/usr/local/freetype/include -I/usr/local/jpeg/include -g -O2 -MT gd_png.lo -MD -MP -MF .deps/gd_png.Tpo -c gd_png.c -fPIC -DPIC -o .libs/gd_png.o
gd_png.c:16:53: error: png.h: No such file or directory
gd_png.c:47: error: expected specifier-qualifier-list before ‘jmp_buf’
gd_png.c:54: error: expected ‘)’ before ‘png_ptr’
gd_png.c:82: error: expected ‘)’ before ‘png_ptr’
gd_png.c:92: error: expected ‘)’ before ‘png_ptr’

解决办法:

vi gd_png.c

#include “png.h”              /* includes zlib.h and setjmp.h */
替换成:
#include “/usr/local/libpng/include/png.h”              /* includes zlib.h and setjmp.h */

 

复制PHP.INI文件到正确位置
PHP目录下运行

#cp php.ini-dist /usr/local/php/lib/php.ini

编辑apache配置文件
httpd.conf
#vi /usr/local/apache2/conf/httpd.conf

要改的有如下几处
:

一般都在

#AddType application/x-tar .tgz
下加一行

#LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
如果你搜索其它地方没有以下这行


LoadModule php5_module modules/libphp5.so
请把上面的#号去掉


还有找到

DirectoryIndex index.html index.html.var 
在后面加 index.php 让它把index.php做为默认页



再找

#ServerName 
#去掉,后面的IP改成你的
IP.

找到

DocumentRoot "/usr/local/apache2/htdocs"
/usr/local/apache2/htdocs改为你存放网页文件的路径


保存httpd.conf文件
.

启动
apache
# /usr/local/apache2/bin/apachectl start 
selinux安全机制还会导致一些稀奇古怪的问题,其中一个可以

chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache2/modules/libphp5.so
解决伊。

编辑<?php phpinfo(); ?>,存为index.php放到设置的目录中,就可以看到php的信息了,至此大功告成。

 

 

        在安装的过程中,一定不要乱,要把所需要的包都装全,切不可忽视报错信息,另外make uninstall可能经常会用到。

 

 





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值