RedHat9 下 LAMP 環(huán)境的架設記錄
圖-LAMP
RedHat9 下 LAMP 環(huán)境的架設如下
先說下運行環(huán)境!
RedHat 9 +httpd-2.2.17(apache)+ mysql-5.1.56-linux-i686-glibc23 + php-5.2.17.tar.gz
以上文件,除了RedHat 沒有之外,其余的組件,我會在文章最后,放出下載地址! 是在115U 盤上!均是在官網(wǎng)下載,包括在安裝過程中需要更新的一些額外的組件!比如“libxml2” 等等!
反正基本上,我就是在一個純凈的Redhat 9 下,依靠下面的組件架設好了LAMP! 當然,有些組件還是沒有裝的!比如GD ,在假設好之后,我還安裝了DIscuz 7.0 來驗證了,是否可行,當然,貌似沒有GD 庫下,至少DIscuz 7.0 還是可以正常運行的!
下面先上張截圖!

!
在安裝過程,也是遇到了一些列的問題,雖說教程都是一樣,也寫的很詳細! 但是由于個人的操作環(huán)境不一樣,當然,對計算機的熟練程度等都不同! 通過這個過程,總是還會有點個人的認識,該文純屬記錄和歸檔!
在這其中也Baidu,google了很多的問題! 參考了很多前輩的解決方法! 總算把問題解決了,在搜到的帖子中,可能其中的問題還沒有解決,但是,我解決了,只是,我沒有去回復他們我的解決方法,其中原因一是因為ie,搜了很多的帖子,等到問題解決了,都不知道帖子地址在哪了,其次,也是沒有時間! 昨天,晚上解決完了這個問題的時候,已是將近凌晨,實在太困了!就去睡了,知道今天才來總結(jié)!請原諒!
首先安裝順序按照手冊上來,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
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
或者創(chuàng)建/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:可以先查找系統(tǒng)是否有l(wèi)ibphp5.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是第一個安裝的,問題不大,下載了二進制包,已經(jīng)編譯好的,不需要編譯,直接安裝就可以了!然后,之后,的apache和php都是源碼,需要編譯,其中,就熟php的安裝最麻煩了!
當然,網(wǎng)上說了很多的方法,比如redhat 下可以直接用rmp 安裝,這個很簡單,還有更簡單,redhat 注冊之后,可以直接用Yum 安裝!輕松就可以搞定! 但是,本著學習加實踐的原則,我還是選擇了源碼編譯!之所以,沒有用rpm 主要是因為,被他的依賴關(guān)系給弄的一點脾氣都沒有!
其中應該mysq 安裝花了一個晚上,apache安裝花了一個安裝,都沒什么大問題,當然說是一個晚上,其實還做了些別的亂七八糟的事情! 比如聊聊QQ,看看Cnblog和csdn 之類的!
最后是php的安裝倒是正兩個晚上,主要是問題多了,容易卡殼!
首先是php 編譯過程中由于“libxml2”版本的問題報錯,因為原來redhat上面可能是自帶有l(wèi)ibxml 組件,但由于版本的問題和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 沒有安裝好!
于是,就反復的再配置,編譯,安裝,花了好久,之后,沒有效果,最后在發(fā)現(xiàn)配置命令寫錯,純屬筆誤!
#./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql
這個里面的apxs2 我因為經(jīng)常用.net 的緣故,卻偏偏寫成了aspx2 自己檢查了好幾遍都沒有發(fā)現(xiàn)! 哎不說什么了!
好了,有了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 一下發(fā)現(xiàn)還沒少解決方案!倒是發(fā)現(xiàn)php官網(wǎng)上有這樣一個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環(huán)境下重新編譯下!報錯!
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
”
這是這個帖子里面比較關(guān)鍵的一句!然后編譯,通過安裝!
然后restart apache 問題解決!
通過正文的描述和安裝問題的解答,我們清楚的了解了RedHat9 下 LAMP 環(huán)境的架設的全過程!希望本文對你們有幫助!
【編輯推薦】
- ubuntu10.04下安裝LAMP
- CentOS LAMP配置手冊
- 簡單的在 ubuntu 下安裝lamp
- 搭建LAMP測試平臺
- LAMP架構(gòu)——我的工作心得
- LAMP攻略之MySQL常用語法語句