当前位置:Linux教程 - RedHat - mysql - RedHat9下apache1.3+php4+mysql4安装手记

mysql - RedHat9下apache1.3+php4+mysql4安装手记

RedHat9下apache1.3+php4+mysql4安装手记
2004-04-23 15:18 pm
来自:Linux文档
现载:Www.8s8s.coM
地址:无名

花了三天的时间,终于在redhat9下安装成功了apache1.3+php4+mysql4.
期间从网上找的介绍文章时间都比较早,软件版本低,各家说法又不统一,
在安装过程中遇到了很多问题,好在通过借鉴前辈的经验和自己的摸索,
最后还是成功了,真是苦尽甘来啊^_^
在这里,我想写一个完整的安装过程,顺便包括中间遇到的问题.文中
部分内容引自网上的文章,述不一一列出出处.
--
操作系统: RedHat 9
软件版本: apache_1.3.28.tar.gz, php-4.3.3.tar.gz, mysql-4.0.15.tar.gz
所有操作都假定在root下执行.

1.mysql
我曾经尝试过安装mysql的3.22和3.23不下4种,没有一个能编译通过.
去mysql主页,没查到各版本支持的操作系统列表,只是说明4.1版可支持rh9.
到download页,那里推荐4.0版,正好网上有篇文章写在rh9下成功安装了4.0.12,
我就下了4.0.15版,编译通过.
1.1创建mysql组和mysql用户
groupadd mysql
useradd -g mysql mysql
修改/root下的.bash_profile的这一行:
PATH=$PATH:$HOME/bin 为
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
1.2安装mysql
tar -xzvf mysql-xx.tar.gz
cd mysql-xx
./configure --prefix=/usr/local/mysql
make
make install
cd scripts
./mysql_install_db
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
cp ../support-files/my-medium.cnf /etc/my.cnf
向/etc/ld.so.conf中加入两行:
/usr/local/mysql/lib/mysql
/usr/local/lib
载入库,执行
ldconfig -v
1.3测试mysql是否工作
cd /usr/local/mysql/bin/
./mysqld_safe --user=mysql&
#ps -ef |grep mysql
看mysql_safe是否工作
1.4设置mysql为自启动
将mysql安装目录下的support-files目录中的
mysql.server文件拷到/etc/init.d目录
cp mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
创建硬链接
cd /etc/rc3.d(文本方式启动)
ln -s /etc/init.d/mysql S85mysql
ln -s /etc/init.d/mysql K85mysql
cd /etc/rc5.d (图形方式启动)
ln -s /etc/init.d/mysql S85mysql
ln -s /etc/init.d/mysql K85mysql

2.apache和php
关于apache和php的安装,有两种模式,动态(Dynamic)和静态(Static),这就是
为什么网上说法不一的原因.一般推荐动态模式,因为这中模式下是先安装apache,
有利于php的维护和升级(后面邮箱有详细说明).
2.1安装apache
tar -zxvf apache_xxx.tar
cd apache_xxx
./configure --prefix=/usr/local/apache --enable-module=so
make
make install
2.2确认
要使动态模式工作,apache必需激活mod_so,可以用
/usr/local/apache/bin/httpd -l来查看.
你应该至少能看到以下内容:
Compiled-in modules:
http_core.c
mod_so.c
只要有mod_so.c就可以进行下面的操作了.
2.3安装php
如果你前面安装过php,在重新配置前,你需要先清除原来的配置,否则是无法编
译通过的.有文章说可以用make clean命令,不过我没试过,我用的是笨办法,就是
先用find命令搜出php所在位置,然后手动删除:P
另外看php的文档说,重新编译前,解压目录下的config.cache要删除.
tar -zxvf php-xxx.tar
cd php-xxx
./configure --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache
/bin/apxs
make
make install
cp php.ini-dist /usr/local/lib/php.ini

2.4配置httpd.conf
vi /usr/local/apache/conf/httpd.conf
对apache做如下配置:
Listen 12.34.56.78:80 #将IP改为自己机器的IP
ServerAdmin [email protected] #改为你的邮箱地址
ServerName abc.123.net #改为对应的域名
DocumentRoot "/usr/local/apache/htdocs/" #此处为html文件主目录

确认以下几行存在并且没有被注释
LoadModule php4_module libexec/libphp4.so

AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps

在LoadModule语句右边的路径必须指向你的PHP模块所在的路径。

2.5设置Apache为自启动
cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
cd /etc/rc3.d
ln -s /etc/init.d/httpd S85httpd
ln -s /etc/init.d/httpd K85httpd
cd /etc/rc5.d
ln -s /etc/init.d/httpd S85httpd
ln -s /etc/init.d/httpd K85httpd

2.6测试PHP
起动apache
cd /etc/init.d
./httpd start
建立文件 test.php
cd /usr/local/apache/htdocs
vi test.php
加入
<?php
phpinfo();
?>
用浏览器访问http://IP_address/test.php,成功的话,出现一些系统,apache,
php信息,恭喜你,安装成功.
现在本地可以访问了,如果要让外网也能访问,一定要注意在防火墙上打开http.