<b>RedHat 5.4下安装Apache+MySQL+PHP经验</b>[服务器安全]
本文“<b>RedHat 5.4下安装Apache+MySQL+PHP经验</b>[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
公司的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大概常常会用到.
以上是“<b>RedHat 5.4下安装Apache+MySQL+PHP经验</b>[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |