Apache+mysql+php的安裝
由于安裝redhat後可能系統會自帶了php和mysql,建議先把它們解除安裝掉,自己重新安裝。解除安裝方法參考網站http://www.jb51.net/os/RedHat/1346.html,裡面講的很詳細。
我的linux核心版本是:2.6.18-128.el5
下載下傳了httpd-2.0.63.tar.gz,php-5.2.13.tar.gz和mysql-5.1.47.tar.gz軟體包後就進入安裝階段。
1.Apache的安裝
安裝apache至/usr/local/apache2并配置apache支援dso方式
指令清單如下:
# tar zxvf httpd-2.0.63.tar.gz解壓縮檔案
# cd httpd-2.0.63
# ./configure --prefix=/usr/local/apache2 --enable-module=so
# make
# make install
安裝完畢,啟動apache:
# /usr/local/apache2/bin/apachectl start
現在就可以在浏覽器中輸入是否安裝成功,如果成功,将會出現apache的歡迎界面。
2. mysql的安裝
# tar zvxf mysql-5.1.47.tar.gz
# cd mysql-5.1.47
# ./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql
# make
# make install
安裝完成,開始初始化資料庫
(如果使用者不存在需要添加一個mysql使用者)
# groupadd mysql
# useradd -g mysql -G root -d /usr/local/mysql mysql
# /usr/local/mysql/bin/mysql_install_db --user=mysql
# chown -R root /usr/local/mysql
# chgrp -R mysql /usr/local/mysql
啟動配置檔案
# cpsupport-files/my-medium.cnf/etc/my.cnf啟動mysql:
/use/local/mysql/bin/mysqld_safe --user=mysql &
修改密碼:初始的root密碼是空的
# /usr/local/mysql/bin/mysqladmin -u root -p password 123456
enter password:
把密碼修改為123456,由于初始密碼為空,是以enter password直接回車就行
假如順利的話就能進入mysql:
# cd /usr/local/mysql/bin
# ./mysql –umysql
如果成功就會出現:
mysql>
輸入quit退出。
設定環境路徑在root下的.bashrc中添加兩行
export PATH=/usr/local/mysql/bin:/usr/local/apache2/bin:$PATH
export PATH=/usr/local/php5/bin:$PATH
以後即可在任何路徑下輸入
# ./mysql –umysql
或
# ./mysql –uroot -p123456
就可進入Mysql
3.Php的安裝
#tar zxvf php-5.2.13.tar.gz
# cd php-5.2.13
# ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql \
--with-apxs2=/usr/local/apache2/bin/apxs
注:其中apache和mysql是根據你安裝的目錄名變,我的apache是安裝在、usr/local/apache2下;mysql是安裝在/usr/local/mysql;php是安裝在/usr/local/php5目錄下。
# make
#make install
4.接下來就是一些配置了
1)# cp php.ini-dist /usr/local/lib/php.ini
2)編輯httpd.conf檔案:
# vi /usr/local/apache2/conf/httpd.conf
對apache做如下配置:找到DocumentRoot "/usr/local/apache2/htdocs"處,此處為預設的php檔案放置
目錄,你可以自己指定,例如:DocumentRoot "/usr/local/apache2/htdocs/why"
找到,将此處的路徑改成和DocumentRoot一緻的路徑。
在DirectoryIndex後加入index.php在檔案中找到對應位置添加如下兩行AddType application/x-httpd-php .php .phtml .php3 .php4 .php5 .inc
AddType application/x-httpd-php-source .phps
找到ServerName那一行,把屏蔽符号去掉存盤退出(:wq)
3)編輯php.ini檔案:# vi /usr/local/lib/php.ini将register-golbals = Off改為On存盤退出
5啟動服務
# /usr/local/apache2/bin/apachectl start
注:在修改了httpd.conf後,需重新啟動apache,配置才能生效。
6測試
安裝完畢,寫個php測試頁info.php進行測試
内容如下:〈phpphpinfo();?>
然後在浏覽器中輸入http://localhost/info.php,如果成功會出現相關資訊的頁面:
7安裝過程中可能遇到的問題
1)啟動apache時提示cannot load /……/libphp.so的解決辦法
關閉SELINUX的方法:
vi /etc/selinux/config将SELINUX=enforcing改成SELINUX=disabled需要重新開機
不關閉SELINUX的方法:
#setforce 0
#chcon –c –v –R –u system_u –r object_r –t textrel_shlib_t /usr/local/apache2/modules/libphp5.so
#service httpd restart
#setenforce 1
2)安裝mysql時運作到./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql時出現
configure: error: No curses/termcap library
解決方法有兩種:1)./configure --with-named-curses-libs=/usr/lib/libncursesw.so.5
2)yum list|grep ncurses
yum -y install ncurses-devel.i386
運作到make時又出現:exec: g++: not found 報錯
解決方法:安裝g++
yum list|grep gcc-c++
yum install -y gcc-c++
安裝了g++之後重新make了之後發現出現了新的報錯:../include/my_global.h:1099:錯誤:對 C++ 内建類型 'bool’ 的重聲明
原因是:
這個錯誤 是因為你 先./congfigure 又 裝的GCC 又make 的?
是的話 重新./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql
再make clean ; make ;make install 就解決了
3)安裝php時運作到./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql \
--with-apxs2=/usr/local/apache2/bin/apxs出現
configure: error: xml2-config not found
解決方法:安裝libxml2
yum list|grep libxml2
yum -y install libxml2-devel.i386
在php安裝完畢時的第6個步驟測試的時候出現了web這邊不顯示phpinfo的頁面,隻顯示源代碼
〈phpphpinfo();?>
具體到底是什麼原因造成的我實在是不知道,但是最後是解決了,
1)首先是去把相關各個檔案夾的權限變大chown -R 777 檔案夾
2)修改php.ini檔案
找到該行extension=php_gd2.dll,把其前面的分号去掉
3)修改httpd.conf檔案中
User daemon
Group daemon
4)重新啟動apache服務
5)清空浏覽器的浏覽記錄
最後可以正常顯示了,但是至于是那個步驟起的關鍵作用那就不知道了,呵呵~~
ps:我想是第二個步驟起的作用