天天看點

LAMP架設

一、環境

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在安裝時自動加上的,沒有的話就手動添加

手動添加以下内容:

&lt;FilesMatch \.php$&gt;

    SetHandler application/x-httpd-php

&lt;/FilesMatch&gt;

&lt;FilesMatch "\.ph(p[2-6]?|tml)$"&gt;

&lt;FilesMatch "\.phps$"&gt;

    SetHandler application/x-httpd-php-source

注:它是PHP5推薦的方法,這種方法比AddType更加安全

找到下面的部分,在index.html後面添加index.php:

&lt;IfModule dir_module&gt;

        DirectoryIndex  index.html

&lt;/IfModule&gt;

也有些配置檔案中沒有這個配置段,但一般會有DirectoryIndex這個關鍵字,找到它,把index.php添加進去即可

5) 配置php:根據需要自行配置!

6) 測試PHP是否安裝成功:

    在apache的DocumentRoot目錄中建立檔案index.php,并在其中寫入一行代碼:&lt;?phpinfo();?&gt;

    然後在浏覽器中輸入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