天天看點

apache2 mysql_apache2+mysql+php安裝

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:我想是第二個步驟起的作用