REDHAT9下Apache2+MySQL5.0.33+PHP5.2.0安装指南

以下内容主要是综合网上经典安装,经自己仔细安装测试通过,并附上安装过程中所遇问题的更正。



    为了取得更大的主动权和配置灵活性,我没有选择使用RPM方式安装,全部都使用源代码方式进行安装。
    需要用到的软件列表:



mysql-5.0.33.tar.gz、freetype-2.2.1.tar.gz、gd-2.0.33.tar.gz、



httpd-2.2.4.tar.gz、jpegsrc.v6b.tar.gz、libiconv-1.11.tar.gz、



libpng-1.2.12.tar.gz、libxml2-2.6.16.tar.gz、php-5.2.0.tar.gz、



zlib-1.2.3.tar.gz

  所有的源代码下载完毕后,把他们都集中到一起,以便于进行管理,我的习惯是放在/usr/local/src里面。那么这些东西都安装到什么地方呢?我的习惯是安装到/usr/local/下面。当然了,这个路径你可以随意指定了(即便是全部都安装到/tmp里面都可以,只要你觉得很爽,嘿嘿)。

Action!

  第一个登场的是谁呢?当然是身材最魁梧的MySQL。

  安装MySQL

建立mysql组和mysql用户
[root@localhost lamp]#groupadd mysql
[root@localhost lamp]#useradd -g mysql mysql



解压源代码
[root@localhost lamp]#tar -zxvf mysql-5.0.33.tar.gz
[root@localhost lamp]#cd mysql-5.0.33



建立配置参数
[root@localhost mysql-5.0.33]#./configure --prefix=/usr/local/mysql --sysconfdir=/usr/local/mysql --without-isam --without-debug --enable-assembler  --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-mysqld-user=mysql --with-extra-charset=all --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --localstatedir=/usr/local/mysql/data --enable-thread-safe-client


我这里配置的参数比较多,因为我懒,也没有耐心仔细解释每个参数的意义了。如果你觉得很麻烦的话,也可以使用比较简单一点的参数,例如:
[root@localhost mysql-5.0.33]#./configure --prefix=/usr/local/mysql --enable-thread-safe-client

这最后一个参数一定要加上,目的是为了使用MySQL的客户端线程,否则的话后面编译PHP时是要出错的。

编译
[root@localhost mysql-5.0.33]#make
[root@localhost mysql-5.0.33]#make install


只要步骤3没有出任何错误,那么现在这个过程就会是整个安装过程中最费时的步骤,因此我建议在你按下回车以后,最好找一点有意义的事情(许三多说的,不是我说的……)做。反正我利用这个时间把DS论坛的首页帖子翻了一遍。

复制配置文件
[root@localhost mysql-5.0.33]#cp support-files/my-medium.cnf /etc/my.cnf



初始化数据库
[root@localhost mysql-5.0.33]#cd /usr/local/mysql
[root@localhost mysql]#bin/mysql_install_db --user=mysql



修改目录权限
  注意,在修改目录权限的时候,我按照源代码包中的INSTALL-SOURCE文档提示的进行权限设置时,发现MySQL没法启动成功,后来我干脆按照自己的方式进行设置后,数据库就可以启动了,问题在哪里呢?下面是两种方法,哪种方法适合你,你就用哪种吧。

方法一(原版):
[root@localhost mysql]#chown -R root .
[root@localhost mysql]#chown -R var
[root@localhost mysql]#chgrp -R mysql .


方法二(俺的版本):
[root@localhost mysql]#mkdir tmp
[root@localhost mysql]#chown -R root .
[root@localhost mysql]#chgrp -R mysql .
[root@localhost mysql]#chown -R mysql data
[root@localhost mysql]#chown -R mysql tmp


为什么没有为var设置权限那句呢?因为我发现我的这个目录里面并没有这个目录,你让我怎么设置呢?

启动服务器
  按照INSTALL-SOURCE文档的说法,使用下面的命令就可以启动MySQL数据库了:
[root@localhost mysql]#bin/mysqld_safe --user=mysql &


  其实,MySQL数据库早就提供了另外一种更加方便的启动方式。进入/usr/local/mysql/share/mysql/下面会找到一个mysql.server文件,它的属性是755。我们把它复制到/etc/init.d/下面,并把它加入到系统服务表中,您就可以在任何地方用service mysql start语句来启动它,并用service mysql stop停止它。怎么做呢?
[root@localhost mysql]#cp ./mysql.server /etc/init.d/mysql
[root@localhost mysql]#chkconfig --add mysql
[root@localhost mysql]#service mysql start



测试数据库服务器
到此,MySQL已经安装完毕了,是不是成功了呢?测试一下就知道了。
[root@localhost mysql]#bin/mysql -u root -p
[root@localhost mysql]#Enter password:


需要输入密码?!密码是什么呢?
root用户的默认密码是空,直接输入回车就可以了。
看看是不是出现下面的信息了:
Welcome to the MySQL monitor.  Commands end with ; or /g.
Your MySQL connection id is 2
Server version: 5.0.33-log Source distribution

Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

mysql>


那么恭喜你,MySQL数据库安装成功,并且已经启动了!
  下一个!
  下面是不是就该Apache出场了呢?别急,在安装Apache之前先把zlib包装上,因为Apache需要用到它。

  安装zlib

解压源代码
[root@localhost lamp]#cd /home/downloads/software/lamp/
[root@localhost lamp]#cd zlib-1.2.3
[root@localhost zlib-1.2.3]#tar -zxvf zlib-1.2.3.tar.gz



配置参数
[root@localhost zlib-1.2.3]#./configure --prefix=/usr/local/zlib



编译安装
[root@localhost zlib-1.2.3]#make
[root@localhost zlib-1.2.3]#make install



  安装完毕了,下面该拿Apache开刀了!

  安装Apache

解压源代码
[root@localhost zlib-1.2.3]#cd ..
[root@localhost lamp]#tar -zxvf httpd-2.2.4.tar.gz



配置参数
[root@localhost lamp]#cd httpd-2.2.4
[root@localhost httpd-2.2.4]#./configure --prefix=/usr/local/httpd --enable-so --with-mysql=/usr/local/mysql --enable-cgi --with-config-file-path=/usr/local/httpd/conf --enable-track-vars --enable-mods-shared=all --enable-cache --enable-disk-cache --enable-mem-cache --enable-rewrite --with-mpm=worker --with-z-dir=/usr/local/zlib


编译没有出错,就可以进行编译安装了。如果出了错,没办法,好好找找错误处在哪里咯,呵呵……

编译安装
[root@localhost httpd-2.2.4]#make
[root@localhost httpd-2.2.4]#make install


只要配置参数时没有错误,这一步基本上不会出错的。

测试一下……
安装完毕了,总要测试一下是不是可以用吧,先让我们把httpd服务启动起来:
[root@localhost httpd-2.2.4]#/usr/local/httpd/bin/apachectl start
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName


  怎么会有错误提示呢?别害怕,那时因为在httpd的配置文件里面没有制定主机名,不过不影响使用的。
  用浏览器访问一下本地试试(http://p.g.yupoo.com/nph-proxy.cgi/000110A/http/127.0.0.1/),屏幕上是不是显示:It works !这个就不用解释了吧,人家已经说得很明白了,俺开始工作了!

系统设置
我想你肯定不想每次启动电脑后,都要打一遍启动Apache服务的命令吧,但是怎么让电脑自动运行呢?别急,有办法,输入下面的命令就可以了:
[root@localhost httpd-2.2.4]#echo "/usr/local/httpd/bin/apachectl start" >> /etc/rc.d/rc.local


这样,每次启动服务器后,Apache就会乖乖的自动启动了,呵呵……
  在开始安装PHP前,还是一样要把它需要的组件先装完,这个是顺序。

  安装libpng

解压源代码
[root@localhost httpd-2.2.4]#cd ..
[root@localhost lamp]#tar -zxvf libpng-1.2.8.tar.gz



复制预编译文件
[root@localhost lamp]#cd libpng-1.2.8
[root@localhost libpng-1.2.8]#cp scrīpts/makefile.linux makefile


说实话,我也不知道软件作者为啥还要搞这一步,把这个文件直接放在目录里面很难么?

编译安装
[root@localhost libpng-1.2.8]#make
[root@localhost libpng-1.2.8]#make install


  安装freetype

解压源代码
[root@localhost libpng-1.2.8]#cd ..
[root@localhost lamp]#tar -zxvf freetype-2.1.10.tar.gz



配置参数
[root@localhost libpng-1.2.8]#cd freetype-2.1.10
[root@localhost freetype-2.1.10]#./configure --prefix=/usr/local/freetype



编译安装
[root@localhost freetype-2.1.10]#make
[root@localhost freetype-2.1.10]#make install


  安装jpegsrc.v6b

解压源文件
[root@localhost freetype-2.1.10]#cd ..
[root@localhost lamp]#tar -zxvf jpegsrc.v6b.tar.gz



建立默认目录
这个模块安装比较麻烦,它不会自己建立目录,所以所有的目录都需要我们自己建立,烦……
[root@localhost lamp]#cd jpeg-6b
[root@localhost jpeg-6b]#mkdir -p /usr/local/jpeg6 
[root@localhost jpeg-6b]# mkdir -p /usr/local/jpeg6/bin 
[root@localhost jpeg-6b]# mkdir -p /usr/local/jpeg6/lib 
[root@localhost jpeg-6b]# mkdir -p /usr/local/jpeg6/include 
[root@localhost jpeg-6b]# mkdir -p /usr/local/jpeg6/man 
[root@localhost jpeg-6b]# mkdir -p /usr/local/jpeg6/man1 
[root@localhost jpeg-6b]# mkdir -p /usr/local/jpeg6/man/man1



配置参数
[root@localhost jpeg-6b]#./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static



编译安装
[root@localhost jpeg-6b]#make
[root@localhost jpeg-6b]#make install
[root@localhost jpeg-6b]#make install-lib


  安装libxml2

解压源代码
[root@localhost jpeg-6b]#cd ..
[root@localhost lamp]#tar -zxvf libxml2-2.6.27.tar.gz



建立目录
唉,又是一个需要自己建立目录的……
[root@localhost libxml2-2.6.27]#mkdir -p /usr/local/libxml2



配置参数
[root@localhost libxml2-2.6.27]#./configure --prefix=/usr/local/libxml2



编译安装
[root@localhost libxml2-2.6.27]#make
[root@localhost libxml2-2.6.27]#make install



复制配置文件
俺也不知道为什么要手动复制这个东东!
[root@localhost libxml2-2.6.27]#cp xml2-config /usr/bin


  安装GD库

解压源代码
[root@localhost libxml2-2.6.27]#cd ..
[root@localhost lamp]#tar -zxvf gd-2.0.33.tar.gz



建立安装目录
啥也不说了……
[root@localhost lamp]#cd gd-2.0.33
[root@localhost gd-2.0.33]#mkdir -p /usr/local/gd



配置参数
[root@localhost gd-2.0.33]#./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg6 --with-freetype=/usr/local/freetype --with-png=/usr/local/lib --with-zlib=/usr/local/zlib



编译安装
[root@localhost gd-2.0.33]#make
[root@localhost gd-2.0.33]#make install


  最后一个主角出场了!

  安装PHP

解压源代码
[root@localhost gd-2.0.33]#cd ..
[root@localhost lamp]#tar -zxvf php-5.2.0.tar.gz



配置参数
[root@localhost lamp]#cd php-5.2.0
[root@localhost php-5.2.0]#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --with-gd=/usr/local/gd --enable-gd --enable-gd-native-ttf --with-jpeg-dir=/usr/local/jpeg6 --with-png=/usr/local/lib --with-ttf --with-zlib=/usr/local/zlib --with-freetype-dir=/usr/local/freetype --enable-magic-quotes --with-mysql=/usr/local/mysql --with-mysql-sock=/usr/local/mysql/tmp/mysql.sock --with-iconv --with-mbstring --enable-mbstring --enable-track-vars --enable-force-cgi-redirect --enable-ftp --with-config-file-path=/usr/local/httpd/conf --with-pear=/usr/local/php/pear



编译安装
[root@localhost php-5.2.0]#make
[root@localhost php-5.2.0]#make install



复制配置文件
[root@localhost php-5.2.0]#cp php.ini-dist /usr/local/php/lib/php.ini



修改Apache配置
PHP是要和Apache配合使用,所以当然需要修改一下Apache的配置文件咯……
[root@localhost php-5.2.0]#vi /usr/local/httpd/conf/httpd.conf


找到文件中的“#AddType application/x-gzip .gz .tgz”这行,在下面手动添加两行:
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps


保存配置,然后重新启动Apache
[root@localhost php-5.2.0]#/usr/local/httpd/bin/apachectl restart



测试
测试也很简单,在/usr/local/httpd/htdocs/下面建立一个phpinfo.php文件,里面写
<?php
  phpinfo();
?>


  然后呢,在浏览器里面输入“http://127.0.0.1/phpinfo.php”,如果页面上出现了PHP的版权信息及系统配置情况,说明你的PHP已经可以使用了。如果页面上出现的是你刚才写的代码,麻烦了,回头检查一下哪里有问题咯……
  晕,终于写完了,试试吧,看看有没有写错什么

  Over



自己的初次测试:



一开始测试,报错显示如下:you dont have permission to access /phpinfo.php on this server.



终于测试php成功了,下面是修改的过程



编辑httpd.conf文件,我用gedit打开



在LoadModule处添加: LoadModule php5_module module/libphp5.so



在DirectoryIndex处添加: index.php



在AddType application处添加: AddType application/x-httpd-php .php .phtml



AddType applicatoin/x-httpd-php-source .phps



测试php模块的加载



# /usr/local/apache/bin/apachectl start //开启apache



在浏览器中输入:http://localhost/



浏览器中显示:It Works 表示apache开启www服务



# vi /usr/local/apache/htdocs/phpinfo.php



输入:<? phpinfo(); ?>



保存并退出



在浏览器中输入:http://localhost/phpinfo.php



浏览器中显示一个关于apache和php安装的Web页,表示成功加载php模块



这个网页提供的信息也是不错的,其中有些内容可以借鉴
    http://my.opera.com/cocobear/blog/show.dml/668649

你可能感兴趣的:(apache,mysql,PHP,浏览器,配置管理)