(轉(zhuǎn))CentOS6環(huán)境下編譯部署LAMP平臺
本文描述在Linux環(huán)境下搭建LAMP平臺,所用軟件均為最新版,CentOS6.0+Apache2.2.21+MySQL5.5.17+PHP5.3.8。
L部分就不用說了吧,下面按照AMP的順序挨個操作。
0、準備工作
檢查依賴包是否安裝:
# rpm -qa zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel
關(guān)閉防火墻
# service iptables stop;
關(guān)閉selinux
# vi /etc/selinux/config
修改
SELINUX=enforcing
為:
SELINUX=disabled
安裝libiconv
# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.10.tar.gz
# tar xvfz libiconv-1.10.tar.gz
# cd libiconv-1.10
# ./configure --prefix=/usr/local/webserver/libiconv
# make && make install
安裝cronolog日志輪循
# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
# tar xvfz cronolog-1.6.2.tar.gz
# cd cronolog-1.6.2
# ./configure --prefix=/usr/local/webserver/cronolog
# make && make install
1、安裝apache
apache官網(wǎng):http://httpd.apache.org/download.cgi
安裝步驟如下:
# wget http://mirror.bjtu.edu.cn/apache//httpd/httpd-2.2.21.tar.gz
# tar xvfz httpd-2.2.21.tar.gz
# cd httpd-2.2.21
# ./configure \
--prefix=/usr/local/webserver/apache2.2.21 \
--enable-deflate \
--enable-headers \
--enable-modules=so \
--enable-so \
--with-mpm=worker \
--enable-rewrite \
--enable-cgi
# make
# make install
2、安裝mysql
MySQL官網(wǎng):http://dev.mysql.com/downloads/
注,本步非必須,如果php需要連接mysql數(shù)據(jù)庫,那么就必須在該server端安裝mysql客戶端(當(dāng)然直接裝mysql服務(wù)端也是可以的),為了簡便起見,這里直接選擇rpm方式安裝mysql的client,源碼編譯方式可以參考三思筆記:源碼編譯方式安裝MySQL5.5
# rpm -ivh MySQL-client-5.5.17-1.linux2.6.x86_64.rpm
3、安裝php
PHP官網(wǎng):http://www.php.net/downloads.php
安裝步驟如下:
# wget http://cn2.php.net/get/php-5.3.8.tar.gz/from/this/mirror
# tar xvfz php-5.3.8.tar.gz
# cd php-5.3.8
./configure \
--prefix=/usr/local/webserver/php \
--with-apxs2=/usr/local/webserver/apache2.2.21/bin/apxs \
--with-mysql=/usr/local/mysql55 \
--with-freetype-dir \
--with-gd \
--with-zlib \
--with-jpeg-dir \
--with-png-dir \
--with-iconv=/usr/local/webserver/libiconv \
--enable-short-tags \
--enable-sockets \
--enable-zend-multibyte \
--enable-soap \
--with-openssl \
--enable-mbstring \
--enable-static \
--enable-gd-native-ttf \
--with-curl \
--with-xsl \
--enable-ftp \
--with-libxml-dir
# make
# make install
# cp php.ini-production /usr/local/webserver/php/lib/php.ini
提示:編譯過程中可能會提示:
configure: error: libjpeg.(a|so) not found.
configure: error: libpng.(a|so) not found.
configure: error: libXpn.(a|so) not found.
這類錯誤,如果確認系統(tǒng)安裝了這些包(可以通過rpm -qa查詢),那么一般是由于相應(yīng)的鏈接文件未被正確找到導(dǎo)致的,對于這種情況,有兩種解決方案:
1、重新源碼編譯安裝這些包,而后在configure時通過相應(yīng)參數(shù)指定具體的目錄
2、可以手動通過rpm -ql查看這些包的安裝路徑,而后將相應(yīng)的so文件復(fù)制(rpm安裝可能會存在于/usr/lib64下)到/usr/lib中,然后再重新執(zhí)行configure即可。
如果編譯過程中遇到下列信息:
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
這說明沒有安裝PEAR,解決方案有兩種:
1、./configure時附加--without-pear
2、從http://pear.php.net/go-pear下列未打包的pear安裝包并執(zhí)行,步驟如下:
# wget http://pear.php.net/go-pear.phar
# /usr/local/webserver/php/bin/php go-pear.phar
4、安裝php擴展
本步非必須,安裝memcache客戶端是為了使PHP能夠連接Memcache,如果沒有這項需求,可以不安裝。
官網(wǎng):http://pecl.php.net/package/memcache
安裝步驟如下:
# wget http://pecl.php.net/get/memcache-2.2.6.tgz
# tar xvfz memcache-2.2.6.tgz
# cd memcache-2.2.6
# /usr/local/webserver/php/bin/phpize
# ./configure --with-php-config=/usr/local/webserver/php/bin/php-config
# make
# make install
5、配置apache
Apache的定制性比較強,以下所做改動僅做演示,實際上即使不做任何改動,apache也是可以直接啟動的。
進入目錄:
# cd /usr/local/webserver/apache2.2.21/conf/
# vi httpd.conf
配置監(jiān)聽端口,默認為80,一般在第40行:
Listen 80
修改apache進程所屬用戶,一般在65行:
User apache
Group apache
修改機器名,對于網(wǎng)站可以寫成域名的形式,一般在第98行
ServerName 127.0.0.1:80
設(shè)置訪問目錄時的默認文件名,一般在165行:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
啟用虛擬主機:
Include conf/extra/httpd-vhosts.conf
而后可以編輯conf/extra/httpd-vhosts.conf文件,對網(wǎng)站服務(wù)的解析做進一步的設(shè)置:
# vi extra/httpd-vhosts.conf
增加下列內(nèi)容:
<VirtualHost *:80>
ServerAdmin webmaster@5ienet.com
DocumentRoot "/data/webserver"
ServerName www.5ienet.com
ErrorLog "logs/dummy_error_log"
CustomLog "|/usr/local/sbin/cronolog /app/logs/%Y/%m/access_%Y%m%d.log" combined env=!IMAG
CustomLog "|/usr/local/sbin/cronolog /app/logs/%Y/%m/%d/access_%Y%m%d%H.log" combined
</VirtualHost>
注,此處可配置性極強,包括日志輸出,查詢重寫等均可在此定義。
配置完成后,可以通過apachectl -t檢查配置文件格式是否有誤:
# /usr/local/webserver/apache2.2.21/bin/apachectl -t
Syntax OK
如無問題,啟動apache服務(wù):
# /usr/local/webserver/apache2.2.21/bin/apachectl start
|