RedHat9 下 LAMP 环境的架设记录

系统 Linux
用过LAMP的人们都知道,LAMP是由 Linux+Apache+Mysql+Perl/PHP/Python 一起组成的,有许多Linxu用户是用的 RedHat,还想在RedHat构建一个LAMP环境,让我们来在文章中看看是怎么做的!

 

[[20287]] 

图-LAMP

RedHat9 下 LAMP 环境的架设如下

  先说下运行环境!

  RedHat 9 +httpd-2.2.17(apache)+ mysql-5.1.56-linux-i686-glibc23 + php-5.2.17.tar.gz

  以上文件,除了RedHat 没有之外,其余的组件,我会在文章最后,放出下载地址! 是在115U 盘上!均是在官网下载,包括在安装过程中需要更新的一些额外的组件!比如“libxml2” 等等!

  反正基本上,我就是在一个纯净的Redhat 9 下,依靠下面的组件架设好了LAMP! 当然,有些组件还是没有装的!比如GD ,在假设好之后,我还安装了DIscuz 7.0 来验证了,是否可行,当然,貌似没有GD 库下,至少DIscuz 7.0 还是可以正常运行的!

  下面先上张截图!

  

 

  !

  在安装过程,也是遇到了一些列的问题,虽说教程都是一样,也写的很详细! 但是由于个人的操作环境不一样,当然,对计算机的熟练程度等都不同! 通过这个过程,总是还会有点个人的认识,该文纯属记录和归档!

  在这其中也Baidu,google了很多的问题! 参考了很多前辈的解决方法! 总算把问题解决了,在搜到的帖子中,可能其中的问题还没有解决,但是,我解决了,只是,我没有去回复他们我的解决方法,其中原因一是因为ie,搜了很多的帖子,等到问题解决了,都不知道帖子地址在哪了,其次,也是没有时间! 昨天,晚上解决完了这个问题的时候,已是将近凌晨,实在太困了!就去睡了,知道今天才来总结!请原谅!

  首先安装顺序按照手册上来,Mysql-》Apache-》PHP

  先复制下别人的安装过程

  “

  一般安装步骤是:mysql,apache,php

  1.mysql install

  //下载安装包并解压缩

  tar zxvf mysql*

  cd mysql*

  //添加用户

  # groupadd mysql

  # useradd -g mysql mysql

  //开始编译

  #./configure --prefix=/usr/local/mysql

  #cp my-medium.cnf /etc/my.cnf

  #./scripts/mysql_install_db --user=mysql

  #chown -R root .

  #chown -R mysql data

  #chgrp -R mysql .

  //启动mysql server在后台运行

  #./bin/mysqld_safe --user=mysql &

  设置密码

  # ./bin/mysqladmin -u root password 'passwd'

  //进入mysql

  # ./bin/mysql -u root -p

  2.install apache2.0.50

  检查原先是否有安装,如果要安装新版本,可将原来删除

  #rpm -qa httpd

  #httpd-2.0.40-21

  # rpm -e --nodeps httpd-2.0.40-21

  //下载安装包并解压缩

  #tar zxvf httpd*

  #cd httpd*

  #./configure --prefix=/usr/local/apache2 --enable-module=so

  把apache和mysql加到启动启动文件中

  vi /etc/rc.d/rc.local

  /usr/local/apache2/bin/apachectl start

  /usr/local/mysql/bin/mysqld_safe --user=mysql &

  安装时的问题:

  Q:httpd: could not open document config file /usr/local/apache/conf/httpd.conf

  A:Try manually starting your server with the -f option pointing to the location of your

  httpd.conf.

  httpd -f /httpd.conf.

  If that works then you need to change your .rc files to include the -f option.

  Q:# ./httpd -f /usr/local/apache2/conf/httpd.conf

  ./httpd: error while loading shared libraries: libaprutil-0.so.0: cannot open shared object

  file: No such file or directory

  A: vi /etc/ld.so.conf,增加/usr/local/apache2/lib 或者

  # cp libaprutil-0.so.0 /usr/kerberos/lib

  或者创建/usr/local/apache/conf目录,ln -s /usr/local/apache2/conf/httpd.conf

  /usr/local/apache/conf/httpd.conf

  vi /usr/local/apache2/conf/httpd.conf

  LoadModule php5_module modules/libphp5.so

  AddType application/x-httpd-php .php .phtml

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

  #/usr/local/apache2/bin/apachectl restart

  3.php install

  下载并解压安装包

  #bunzip2 -d php*

  #tar xvf php*

  #cd php*

  #cp php.ini-dist /usr/local/lib/php.ini

  #./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql

  //编译后不能运行make可能是由于configure出了问题

  #make && make install

  # vi /usr/local/lib/php.ini

  mysql.default_port = 3306

  mysql.default_host = localhost

  mysql.default_user = root

  //启动apache

  #/usr/local/apache2/bin/apachectl start

  测试php:

  vi /usr/loacl/apache2/conf/httpd.conf

  默认把php文件放在/var/www下

  更改DocumentRoot "/var/www"

#p# 

  安装时碰到的问题:

  Q:configure: error: Cannot find MySQL header files under yes.

  A:编译的时候指定mysql的路径 /usr/local/mysql

  //重新编译

  #make clean

  #./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql

  Q:# ./apachectl start

  Syntax error on line 1070 of /usr/local/apache2/conf/httpd.conf:

  Cannot load /usr/local/apache2/modules/libphp5.so into server:

  /usr/local/apache2/modules/libphp5.so: undefined symbol: sqlite3SelectDelete

  A:# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs

  --with-mysql=/usr/local/mysql --with-zlib

  Q:# /usr/local/apache2/bin/apachectl restart

  Syntax error on line 1051 of /usr/local/apache/conf/httpd.conf:

  Cannot load /usr/local/apache2/libexec/libphp5.so into server:

  /usr/local/apache2/libexec/libphp5.so: cannot open shared object file: No such file or

  directory

  A:可以先查找系统是否有libphp5.so,如果没有则重新编译php

  4.phpmyadmin install

  4.install apache 2.0.55

  # ./configure --prefix=/usr/local/apache2

  #make && make install

  #/usr/local/apache2/bin/apachectl start

  5.phpmyadmin 2.8.0.2 install

  #tar xvf php*

  #cd php*

  #mv php* /var/www/phpmyadmin

  #cd /var/www/phpmyadmin

  #cp ./libraries/config.default.php ./config.inc.php

  #vi config.inc.php

  $cfg['PmaAbsoluteUri']='http://localhost/phpmyadmin'

  $cfg['Servers'][$i]['host'] = 'localhost';

  $cfg['Servers'][$i]['port'] = '3306';

  $cfg['Servers'][$i]['passwd'] = 'root passwd'

  ”

  参考了这个过程,主要没什么大问题,而且上面遇到了问题,也都有解决之道!本人就不再赘述!

  但是,有几点其中没有的,需要注意下!

  其中mysql是第一个安装的,问题不大,下载了二进制包,已经编译好的,不需要编译,直接安装就可以了!然后,之后,的apache和php都是源码,需要编译,其中,就熟php的安装最麻烦了!

  当然,网上说了很多的方法,比如redhat 下可以直接用rmp 安装,这个很简单,还有更简单,redhat 注册之后,可以直接用Yum 安装!轻松就可以搞定! 但是,本着学习加实践的原则,我还是选择了源码编译!之所以,没有用rpm 主要是因为,被他的依赖关系给弄的一点脾气都没有!

  其中应该mysq 安装花了一个晚上,apache安装花了一个安装,都没什么大问题,当然说是一个晚上,其实还做了些别的乱七八糟的事情! 比如聊聊QQ,看看Cnblog和csdn 之类的!

  最后是php的安装倒是正两个晚上,主要是问题多了,容易卡壳!

  首先是php 编译过程中由于“libxml2”版本的问题报错,因为原来redhat上面可能是自带有libxml 组件,但由于版本的问题和php5 不兼容,只有先卸了原来用rpm 安装的libxml,再重新编译安装libxml2最新版本!

  尤其是在php 安装好了之后,在restart apache 的时候,总是报错!

  先就是php 都没有装好,但自己却不知道了,正如上面提到的 restart apache 的时候report this error:

  Syntax error on line 1051 of /usr/local/apache/conf/httpd.conf:

  Cannot load /usr/local/apache2/libexec/libphp5.so into server:

  /usr/local/apache2/libexec/libphp5.so: cannot open shared object file: No such file or

  directory

  字面上理解就是 libphp5.so 这个组件不存在,我也是通过 locate,find 找了半天都没有找到!最终确定这个文件的确不存在,为什么不存在,这时候才知道,是php 没有安装好!

  于是,就反复的再配置,编译,安装,花了好久,之后,没有效果,最后在发现配置命令写错,纯属笔误!

  #./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql

  这个里面的apxs2 我因为经常用.net 的缘故,却偏偏写成了aspx2 自己检查了好几遍都没有发现! 哎不说什么了!

  好了,有了modules目录下有了libphp5.so 这个组件之后,心想应该没有为问题了吧,restart 的时候,error:

  Syntax error on line 1070 of /usr/local/apache2/conf/httpd.conf:

  Cannot load /usr/local/apache2/modules/libphp5.so into server:

  /usr/local/apache2/modules/libphp5.so: undefined symbol: sqlite3SelectDelete

  这个问题以为是sqllite的问题,baidu 一下发现还没少解决方案!倒是发现php官网上有这样一个bug

  http://bugs.php.net/bug.php?id=35737

  但是没找到解决之道!

  以上上面的步骤中的回答!

  A:# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs

  --with-mysql=/usr/local/mysql --with-zlib

  按照这样的配置命令再在php环境下重新编译下!报错!

  checking if the location of ZLIB install directory is defined... no

  configure: error: Cannot find libz

  这个问题于是就下载了libz 来安装,在确保安装了libz 之后,重新配置php 还是报错!

  最后在这片帖子中找到了解决方法

  http://ubuntuforums.org/showthread.php?t=257926

  “

  In my php install I added in the configuration command: --with-zlib-dir=/usr/local/lib

  ”

  这是这个帖子里面比较关键的一句!然后编译,通过安装!

  然后restart apache 问题解决!

通过正文的描述和安装问题的解答,我们清楚的了解了RedHat9 下 LAMP 环境的架设的全过程!希望本文对你们有帮助!

【编辑推荐】

 

责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-03-11 10:39:04

2011-03-09 09:25:53

RedHatLinuxLAMP

2010-03-02 17:19:56

Linux telne

2011-03-09 16:16:54

CentOSLAMP

2011-07-28 13:36:53

2011-03-09 16:16:57

CentOSLAMP

2011-03-23 14:38:02

LAMP架设

2011-03-23 09:49:17

LAMPRedhatLinux

2011-09-09 17:23:53

CentOSLAMPmysql

2011-03-09 16:17:20

2011-03-09 16:16:56

CentOSLAMP

2011-03-14 10:30:15

Ubuntu10.04LAMP

2011-03-22 10:25:54

UbuntuLAMP

2011-03-21 14:13:44

LAMPApacheSSL

2011-03-09 16:17:21

CentOSLAMP

2011-03-09 16:28:25

2011-03-17 13:02:07

iptables na

2011-03-09 13:02:31

LAMP环境搭建

2011-03-14 13:06:58

LAMP搭建

2011-03-10 14:40:48

LAMP搭建
点赞
收藏

51CTO技术栈公众号