this is a extra element for clear the floated element
RedHat9下apache1.3+php4+mysql4安装手记
  • 12/31
  • 2008
MYSQL | Linux 5009 次查看
  花了三天的时间,终于在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 root@domain.com #改为你的邮箱地址

  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.