一、環境
centos5.4+ mysql5.1.42+ httpd2.2.14+php5.3.1+zend3.3.3+phpmyadmin3.2.5
二、安裝及配置
軟體下載下傳位址:
mysql-server、mysql-client、mysql-shared、mysql-devel:
gd庫、jpeg庫、libpng庫、zlib庫、freetype:
<a href="http://www.libgd.org/releases/gd-2.0.35.tar.bz2">http://www.libgd.org/releases/gd-2.0.35.tar.bz2</a>
<a href="http://www.ijg.org/files/jpegsrc.v8.tar.gz">http://www.ijg.org/files/jpegsrc.v8.tar.gz</a>
<a href="http://ncu.dl.sourceforge.net/project/libpng/01-libpng-master/1.4.0/libpng-1.4.0.tar.gz">http://ncu.dl.sourceforge.net/project/libpng/01-libpng-master/1.4.0/libpng-1.4.0.tar.gz</a>
<a href="http://www.zlib.net/zlib-1.2.3.tar.bz2">http://sourceforge.net/projects/libpng/files/zlib/1.2.3/zlib-1.2.3.tar.bz2</a>
<a href="http://ncu.dl.sourceforge.net/project/freetype/freetype2/2.3.11/freetype-2.3.11.tar.bz2">http://ncu.dl.sourceforge.net/project/freetype/freetype2/2.3.11/freetype-2.3.11.tar.bz2</a>
php-mbstring:YUM方式安裝。它用來使phpmyadmin能夠正确識别字元串,它要在PHP之前安裝,在編譯PHP時,用--enable-mbstring啟用mbstring
v<b>centos5.4:</b>
<b></b>
v<b>mysql:</b>
1) rpm --ivh MySQL-server-* *其它幾個軟體包的安裝過程與之雷同
2) 運作/usr/bin/mysql_secure_installation,按照提示進行操作
3) 把/usr/share/mysql下的my-medium.cnf複制到/etc中,并更名為my.cnf。
注:根據實際情況選擇複制my-small.cnf、my-medium.cnf或者my-large.cnf
4) 在shell中輸入mysql –u root –p 進行測試。
注:RPM安裝mysql,mysql是自動運作的,如果是源碼包安裝的話,在測試前要手動啟動mysql
5) 配置mysql:根據需要自行配置!
v<b>apache:</b>
1) tar –zxvf httpd-*
cd httpd-2.2.14
./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most
make
make install
2) 在shell中輸入/usr/bin/local/apache2/bin/apachectl start,啟動apache
4) 修改/etc/rc.d/rc.local檔案,在其末尾加上/usr/local/apache2/bin/apachectl start,讓apache自動啟動
5) 配置apache:根據需要自行配置!
apache2和以前版本的configure參數有所不同,要注意!比如說,這裡的--enable-so就等同于較早版本的--enable-module=so,功能是一樣的,就是讓apache支援DSO。如果在編譯apche2的時候輸入--enable-module=so會出現指令錯誤的提示,很不幸,我就犯過這樣的錯誤
--enable-mods-shared=most是讓apache的大多數子產品以DSO的方式運作,這是一個懶惰的做法。可以根據自己的需要或喜好選擇以DSO方式運作的子產品,指令為--enable-MODULE=shared,把MODULE替換成子產品的名稱。子產品名稱的寫法是有規定的,請參考幫助文檔
關于MPM,用預設的prefork。php也不建議使用worker等線程性MPM
v<b>php:</b>
選擇按Membership分類進行檢視,核心擴充子產品、綁定擴充子產品、外部擴充子產品;點開相應的子產品,裡面有它們的說明、依賴、安裝方法等。
我們找到GD子產品,進去看一下。總的來說,PHP自帶了GD庫,但是版本較低,而為了讓GD能夠處理更多的圖檔和字型格式,我們還需要其它的庫檔案,主要有:jpeg庫、png庫、freetype2庫,png又需要zlib庫檔案。 另外,我沒辦法按照幫助文檔給出的位址下載下傳jpeg的庫檔案,自己又找了其它的位址。最後别忘了yum -y install php-mbstring。
注意:GD要在PHP之前安裝,而它的外部庫要在其之前安裝,zlib又要在libpng之前安裝。它們的安裝過程無需多言,隻把zlib、jpeg和GD說一下。
1) tar --jxvf zlib-*
cd zlib-1.2.3
./configure
make
make install
注:zlib的安裝不要用--prefix指定安裝目錄,否則在安裝libpng的時候會出現error: zlib not installed zlib
2) tar --zxvf jpegsrc*
cd jpeg-8
./configure --prefix=/usr/local/jpeg --enable-shared
注:幫助文檔中說,一定要加上--enable-shared參數,否則會出錯
3) 安裝GD:
tar --jxvf gd-*
cd gd-2.0.35
./configure --prefix=/usr/local/gd
--with-jpeg-dir=/usr/local/jpeg
--with-png-dir=/usr/local/libpng
--with-freetype-dir=/usr/local/freetype
注:--with-jpeg-dir=…後面那個dir不要省略!其它幾個也是,後面安裝PHP時也是這樣
4) 安裝PHP:
一、tar --jxvf php-*
cd php-5.3.1
./configure --prefix=/usr/local/php5
--with-apxs2=/usr/local/apache2/bin/apxs
--with-mysql=/usr/share/mysql
--with-jpeg-dir=/usr
--with-png-dir=/usr
--with-freetype-dir=/usr
--with-gd --enable-exif
--enable-mbstring
--enable-soap
--with-mcrypt
--with-curl=/usr/local/curl
--with-libxml-dir=/usr/local/libxml2 /bin/xml2-config
--without-pdo-sqlite
--without-sqlite
----------------------------------------------------------------------
cp php.ini-development /usr/local/php5/lib/php.ini
在指定libxml時,--with-libxml-dir=/usr/local/libxml2/bin/xml2-config,出現了錯誤提示,說找不到xml2-cofig,是以省略了後面的部分。
php.ini-development這個檔案名沒錯,網上有很多文章寫的都是php.ini-dist,要注意厘清了: php5裡的配置檔案名稱是php.ini-development。
二、讓apache支援php:
查找httpd.conf檔案,應該有LoadModule php5_module modules/libphp5.so這一句,它是PHP在安裝時自動加上的,沒有的話就手動添加
手動添加以下内容:
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.ph(p[2-6]?|tml)$">
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
注:它是PHP5推薦的方法,這種方法比AddType更加安全
找到下面的部分,在index.html後面添加index.php:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
也有些配置檔案中沒有這個配置段,但一般會有DirectoryIndex這個關鍵字,找到它,把index.php添加進去即可
5) 配置php:根據需要自行配置!
6) 測試PHP是否安裝成功:
在apache的DocumentRoot目錄中建立檔案index.php,并在其中寫入一行代碼:<?phpinfo();?>
然後在浏覽器中輸入http://localhost/index.php,或把Localhost換成你的主機IP;
如果安裝成功,你應該能看到PHP的系統資訊。
v<b>zend:</b>
1) tar -zxvf Zend*
cd ZendOptimizer*
./install.sh
2) 按照提示一步步進行安裝。
如果php.ini不在/etc目錄下的話,會要求輸入它的路徑,比如我就要輸入/usr/local/php5/lib
另外,Zend會自動備份php的配置檔案,字尾為.bak
vphpmyadmin:
1) tar -jxvf phpMyAdmin*
2) mv phpMyAdmin-3.2.5-all-languages /usr/local/apache2/htdocs/phpmyadmin
3) cp config.sample.inc.php config.inc.php
4) 配置config.inc.php
<a href="http://down.51cto.com/data/2355871" target="_blank">附件:http://down.51cto.com/data/2355871</a>
本文轉自 li_qinshan 51CTO部落格,原文連結:http://blog.51cto.com/share/321328