Linux+Apache2+MySQL5.0.33+PHP5.2.0完全安装配置指南

 来源:http://x.discuz.net/252122/

原创)Linux+Apache2+MySQL5.0.33+PHP5.2.0完全安装配置指南

(该文档为鄙人原创,您可以自由的转载,唯一的要求请您注明出处,嘿嘿……要求不是很高吧,多多交流……)

序幕

  因为自己的项目开发需要配置一个LAMP环境进行试验。我个人比较懒,不想自己去慢慢摸索,就在网上找了很多相关的文章,然后总结在安装过程中遇到的问题,写下了下面这个安装指南(呵呵,希望不要指北就行了)。

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

沙发

  要安装上面那些东东,总要给它们一个沙发吧。首先介绍一下我的沙发吧:操作系统是Redhat Enterprise AS 4,没有安装任何Web服务器和数据库服务器。

主角和配角

  该主角出场了,本次安装的主角分别是:

  主角有了,也要有一些配角才能让这个平台更好得进行服务。如果要使用PHP图形函数,必须要安装GD库吧;需要xml支持吗?libxml必须要安装吧。

  当然了,如果你上面那些都不需要,也可以不安装,俺可没有说必须要安装,不然他们就是主角了。呵呵,是不是太唐僧了?

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

Action!

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

  安装MySQL

  1. 建立mysql组和mysql用户

    [root@localhost lamp]#groupadd mysql
    [root@localhost lamp]#useradd -g mysql mysql


  2. 解压源代码

    [root@localhost lamp]#tar -zxvf mysql-5.0.33.tar.gz
    [root@localhost lamp]#cd mysql-5.0.33


  3. 建立配置参数

    [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时是要出错的。
  4. 编译

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


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

    [root@localhost mysql-5.0.33]#cp support-files/my-medium.cnf /etc/my.cnf


  6. 初始化数据库

    [root@localhost mysql-5.0.33]#cd /usr/local/mysql
    [root@localhost mysql]#bin/mysql_install_db --user=mysql


  7. 修改目录权限
      注意,在修改目录权限的时候,我按照源代码包中的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设置权限那句呢?因为我发现我的这个目录里面并没有这个目录,你让我怎么设置呢?
  8. 启动服务器
      按照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


  9. 测试数据库服务器
    到此,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

  1. 解压源代码

    [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


  2. 配置参数

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


  3. 编译安装

    [root@localhost zlib-1.2.3]#make
    [root@localhost zlib-1.2.3]#make install


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

  安装Apache

  1. 解压源代码

    [root@localhost zlib-1.2.3]#cd ..
    [root@localhost lamp]#tar -zxvf httpd-2.2.4.tar.gz


  2. 配置参数

    [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


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

    [root@localhost httpd-2.2.4]#make
    [root@localhost httpd-2.2.4]#make install


    只要配置参数时没有错误,这一步基本上不会出错的。
  4. 测试一下……
    安装完毕了,总要测试一下是不是可以用吧,先让我们把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://127.0.0.1),屏幕上是不是显示:It works !这个就不用解释了吧,人家已经说得很明白了,俺开始工作了!
  5. 系统设置
    我想你肯定不想每次启动电脑后,都要打一遍启动Apache服务的命令吧,但是怎么让电脑自动运行呢?别急,有办法,输入下面的命令就可以了:

    [root@localhost httpd-2.2.4]#echo "/usr/local/httpd/bin/apachectl start" >> /etc/rc.d/rc.local


    这样,每次启动服务器后,Apache就会乖乖的自动启动了,呵呵……

  在开始安装PHP前,还是一样要把它需要的组件先装完,这个是顺序。

  安装libpng

  1. 解压源代码

    [root@localhost httpd-2.2.4]#cd ..
    [root@localhost lamp]#tar -zxvf libpng-1.2.8.tar.gz


  2. 复制预编译文件

    [root@localhost lamp]#cd libpng-1.2.8
    [root@localhost libpng-1.2.8]#cp scrīpts/makefile.linux makefile


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

    [root@localhost libpng-1.2.8]#make
    [root@localhost libpng-1.2.8]#make install

  安装freetype

  1. 解压源代码

    [root@localhost libpng-1.2.8]#cd ..
    [root@localhost lamp]#tar -zxvf freetype-2.1.10.tar.gz


  2. 配置参数

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


  3. 编译安装

    [root@localhost freetype-2.1.10]#make
    [root@localhost freetype-2.1.10]#make install

  安装jpegsrc.v6b

  1. 解压源文件

    [root@localhost freetype-2.1.10]#cd ..
    [root@localhost lamp]#tar -zxvf jpegsrc.v6b.tar.gz


  2. 建立默认目录
    这个模块安装比较麻烦,它不会自己建立目录,所以所有的目录都需要我们自己建立,烦……

    [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 


  3. 配置参数

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


  4. 编译安装

    [root@localhost jpeg-6b]#make
    [root@localhost jpeg-6b]#make install
    [root@localhost jpeg-6b]#make install-lib

  安装libxml2

  1. 解压源代码

    [root@localhost jpeg-6b]#cd ..
    [root@localhost lamp]#tar -zxvf libxml2-2.6.27.tar.gz


  2. 建立目录
    唉,又是一个需要自己建立目录的……

    [root@localhost libxml2-2.6.27]#mkdir -p /usr/local/libxml2 


  3. 配置参数

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


  4. 编译安装

    [root@localhost libxml2-2.6.27]#make
    [root@localhost libxml2-2.6.27]#make install


  5. 复制配置文件
    俺也不知道为什么要手动复制这个东东!

    [root@localhost libxml2-2.6.27]#cp xml2-config /usr/bin

  安装GD库

  1. 解压源代码

    [root@localhost libxml2-2.6.27]#cd ..
    [root@localhost lamp]#tar -zxvf gd-2.0.33.tar.gz


  2. 建立安装目录
    啥也不说了……

    [root@localhost lamp]#cd gd-2.0.33
    [root@localhost gd-2.0.33]#mkdir -p /usr/local/gd


  3. 配置参数

    [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


  4. 编译安装

    [root@localhost gd-2.0.33]#make
    [root@localhost gd-2.0.33]#make install

  最后一个主角出场了!

  安装PHP

  1. 解压源代码

    [root@localhost gd-2.0.33]#cd ..
    [root@localhost lamp]#tar -zxvf php-5.2.0.tar.gz


  2. 配置参数

    [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


  3. 编译安装

    [root@localhost php-5.2.0]#make
    [root@localhost php-5.2.0]#make install


  4. 复制配置文件

    [root@localhost php-5.2.0]#cp php.ini-dist /usr/local/php/lib/php.ini


  5. 修改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


  6. 测试
    测试也很简单,在/usr/local/httpd/htdocs/下面建立一个phpinfo.php文件,里面写

    <?php
      phpinfo();
    ?>


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

  晕,终于写完了,试试吧,看看有没有写错什么

  Over

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值