您的位置:程序门 -> linux/unix社区 ->



fedora5 下 httpd-2.2.4+php-5.2.1+gd+mysql 5.0.27安装


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


fedora5 下 httpd-2.2.4+php-5.2.1+gd+mysql 5.0.27安装
发表于:2007-02-27 07:15:10 楼主
?
发表于:2007-02-27 07:15:301楼 得分:0
本操作系统fedora   core   5
fedora5   下   httpd-2.2.4+php-5.2.1+gd+mysql   5.0.27安装实录
我在用fedora5时,想用这些程序的时候,在fedora   5   下,这些程序放在太多文件夹下,对一名对fedora   5不熟的人很是麻烦。所以决定把这些程序删了重装。
我之所以写这些文字,因为我在google   搜了太多不能实现的教程,希望这篇文章对初学者有点帮助,在开源精神下,任何人可以复制本文字,但要标示出处:http://dragonflyxu12.blog.sohu.com/       qq:632307939


主要软件包:

  mysql-standard-5.0.27-linux-i686-glibc23.tar.gz
  url:http://dev.mysql.com/downloads/mysql/5.0.html#downloads     下找个镜像


php-5.2.1.tar.gz
url:http://www.php.net/downloads.php  
用第2个,第一个包好像少东西,我就是第一个不成功,所以才用第2个包,
这个包一定要选好,安装时候大部分问题都出在这个包


httpd-2.2.4.tar.gz
url:http://www.apache.org/dyn/closer.cgi   选个镜像

ps:源程序尽量到官方网站下,国内站点编辑好多不负责任,源程序少东西


安装php所需的软件包
(其中libxml2是安装php5必须的)
libxml2-2.6.26.tar.gz
libxslt-1.1.17.tar.gz
curl-7.16.1.tar.gz
以上安装包在安装fc5的时候都安装了   没有安装的   请下载后安装

gd库所需要软件包
(有人说php源码包里自带了gd2.0.28和zlib,
只要安装gd的三个支持包:jpg,png和freetype,但是我们还是下载)
gd-2.0.34.tar.gz
freetype-2.3.1.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.16.tar.gz
zlib-1.2.3.tar.gz

ps:这些源程序只要你在www.google.com   里搜   名称+download(例如:libxml2-2.6.26.tar.gz   ,就输入:libxml   download,第1页就可以找到官方网站)

发表于:2007-02-27 07:15:492楼 得分:0
卸载:
我们需要把原来系统自带的或者后来采用rpm方式安装的apache   ¦   mysql   ¦   php软件卸载掉,我听说不卸载rpm也是可以的,不会影响源码包或者二进制包的安装,就是将来你不起动那些进程就没问题了,但我还是建议卸载,因为   rpm方式安装的软件把各种文件放在很多奇怪的地方,我感觉是非常不好管理的。

下面的卸载范例是fedora   core2默认安装的包。

卸载mysql
[root@yourdomainname/]#   rpm   -qa   ¦   grep   mysql

mysql-3.23.58-9

php-mysql-4.3.4-11

mod_auth_mysql-20030510-4.1

mysql-server-3.23.58-9


        说明:rpm   –qa   ¦   grep   mysql   命令是为了把mysql相关的包都列出来,我上面的例子是fedora   core2默认安装mysql的rpm软件包列表,如果是别的linux版本列出来的列表有可能会不一样,不过不用担心,不管是什么,卸载都从最下面的一个包开始,直到卸载掉第一个为止。

      比如:在这个例子中,我们应该先卸载mysql-server-3.23.58-9   方法如下:
rpm   –e   mysql-server

        说明:rpm   –e   是卸载rpm包的命令,后面是包名称,最后的版本号是不用打的,比如我们下一步卸载mod_auth_mysql-20030510-4.1包,方法如下:

rpm   –e   mod_auth_mysql

卸载apache
[root@   yourdomainname   /]#   rpm   -qa   ¦   grep   httpd

httpd-2.0.49-4

system-config-httpd-1.2.0-3

httpd-manual-2.0.49-4

说明:方法跟卸载mysql一样,不用说了吧

卸载php
[root@   yourdomainname   /]#   rpm   -qa   ¦   grep   php

php-odbc-4.3.4-11

php-4.3.4-11

php-mysql-4.3.4-11

php-pear-4.3.4-11

php-ldap-4.3.4-11

php-pgsql-4.3.4-11

      说明:方法跟卸载mysql一样,不用说了吧

        注意:卸载的时候如果卸载不掉,系统一般会提示包的依赖关系,并且列出依赖的包的名称,先卸载提示依赖的包就可以了。

        如果实在实在有卸载不掉的包,可以加—nodeps这个参数来卸载,比如我们卸载php-4.3.4-11,实在卸不掉了。就用:
[root@   yourdomainname   /]#   rpm   -e   php-4.3.4-11   –nodeps     命令很强硬,应该行的。

卸载这段话是抄网上的,我在fedora5   上照葫芦划瓢,还可以,你不要担心会不会把不该删的删掉了,因为即使你删了不该删的,你用上时,可以到网上找相应模块,加到相应的位置就行了,linux下没有注册表这一说,不像windows
发表于:2007-02-27 07:16:133楼 得分:0
安装:  
假定你压缩的源代码放在:/software   下
#   mkdir   -p   /software
进入   /software目录
#   cd   /software
解压httpd-2.2.4.tar.gz
#   tar   -zvxf   httpd-2.2.4.tar.gz
进入httpd-2.2.4目录
#   cd   httpd-2.2.4
配置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   /software
#   tar   -zvxf   mysql-standard-5.0.27-linux-i686-glibc23.tar.gz
#   mv   mysql-standard-5.0.27-linux-i686-glibc23   /usr/local/mysql
#   cp   /usr/local/mysql/support-files/my-medium.cnf   /etc/my.cnf
#cd   /usr/local/mysql

添加mysql用户及用户组
#   groupadd   mysql
#   useradd   -g   mysql   mysql

生成mysql系统数据库
#   /usr/local/mysql/scripts/mysql_install_db   --user=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/bin/mysqld_safe   --user=mysql&
如果没出现错,代表正常启动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   /software
#   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


安装步骤如下
#   cd   /software
#   tar   -zvxf   libpng-1.2.16.tar.gz
#   cd   libpng-1.2.16
#   cp   scripts/makefile.std   makefile
#   make;   make   install


c.安装   freetype
#   cd   /software
#   tar   -zvxf   freetype-2.3.1.tar.gz
#   cd   freetype-2.3.1
#   ./configure   --prefix=/usr/local/module/freetype
#   make;make   install

d.:安装zlib
这个一般不用安装
#   cd   /software
#tar   -zxvf   zlib-1.2.3.tar.gz
#cd   zlib.1.2.3
#   ./configure
#   make;make   install

e.安装curl库
这个一般不用安装
#   cd   /software
#   tar   -zvxf   curl-7.16.1.tar.gz
#   mkdir   -p   /usr/local/curl
#   ./configure   --prefix=/usr/local/curl
#   make;   make   install

f.安装gd

#   cd   /software
#   tar   -zvxf   gd-2.0.34.tar.gz
#   mkdir   -p   /usr/local/module/gd
#   cd   gd-2.0.33
#   ./configure   --prefix=/usr/local/module/gd   /
>   --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   /software
#   tar   -zxf   libxml2-2.6.26.tar.gz
#   cd   libxml2-2.6.26
#   mkdir   -p   /usr/local/module/libxml2
#   ./configure   --prefix=/usr/local/module/libxml2
#   make;   make   install

b.安装   libxslt(可选安装,你可以不安装)
#   cd   /software
#   tar   -zxf   libxslt-1.1.15.tar.gz
#   mkdir   -p   /usr/local/module/libxslt
#   cd   libxslt-1.1.17
#   ./configure   --prefix=/usr/local/module/libxslt   --with-libxml-prefix=/usr/local/module/libxml2
#   make;   make   install

c.安装php5
#   cd   /software
#   tar   -zvxf   php-5.2.1.tar.gz
#   mkdir   -p   /usr/local/php
#   cd   php-5.2.1
#   ./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-libxml-dir=/usr/local/module/libxml2   /
--with-xsl=/usr/local/module/libxslt   /
--enable-xslt

#   make
#   make   install
#   cp   php.ini-dist   /usr/local/php/lib/php.ini   (别忘记了呵呵)

如果通不过,运行下面2行
#   cp   php.ini-dist   /usr/local/lib/php.ini
#   cp   php.ini-dist   /etc/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
在/usr/local/apache2/htdocs目录里建一内容为:   <php?   phpinfo();   ?>           的php文件,命名为index.php,   输入url地址:http://127.0.0.1/index.php,查看php配置是否正确

如果不正确,可以重启机子在试,

我机子apache启动有问题:httpd:   syntax   error   on   line   86   of   /usr/local/apache2/conf/httpd.conf:   cannot   load   /usr/local/apache2/modules/mod_proxy_http.so   into   server:   /usr/local/apache2/modules/mod_proxy_http.so:   undefined   symbol:   ap_proxy_location_reverse_map  


我把/usr/local/apache2/conf/httpd.conf第86行注释了,就行了,我到网上查了mod_proxy_http.so,好像我现在用不上.


ps:如果有什么问题,把问题放到google上查一下,在对照程序手册,一般都可以解决


ok,web环境apache2+mysql5+php5就介绍到这里。
更详细的apache2的配置和mysql配置和php.ini的配置参考相应文档。
--------------------------------------------------------


让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   &



快速检索

最新资讯
热门点击