RedHatLinuxAS4LAMP網(wǎng)站搭建實(shí)例 |
發(fā)布時(shí)間: 2012/8/11 11:00:05 |
Apache是世界排名第一的Web服務(wù)器,根據(jù)Netcraf(www.netsraft.co.uk)所作的調(diào)查,世界上百分之五十以上的Web服務(wù)器在使用Apache。
尤其是現(xiàn)在,使用LAMP(Linux+Apache+MySQL+PHP)來(lái)搭建中等級(jí)別的應(yīng)用已經(jīng)是一種流行的方式,因此,掌握Apache的配置是系統(tǒng)工程師必備的技能之一。 使用LAMP(Linux+Apache+MySQL+PHP)來(lái)搭建中等級(jí)別的應(yīng)用(尤其是電子商務(wù))已經(jīng)是一種流行的方式,因?yàn)槿渴情_(kāi)源和免費(fèi)的軟件,所以成本非常低廉。本節(jié)介紹平臺(tái)的搭建。在搭建平臺(tái)時(shí),也可以直接使用RPM包來(lái)安裝,但是由于使用RPM包在一些系統(tǒng)上不支持,因此我們使用更通用的方法:直接從源代碼來(lái)裝。 Apache的特性: 1)幾乎可以運(yùn)行在所有的計(jì)算機(jī)平臺(tái)上. 2)支持最新的HTTP/1.1協(xié)議 3)簡(jiǎn)單而且強(qiáng)有力的基于文件的配置(HTTPD.CONF) 4)支持通用網(wǎng)關(guān)接口(CGI) 5)支持虛擬主機(jī). 6)支持HTTP認(rèn)證. 7)集成PERL. 8)集成的代理服務(wù)器 9)可以通過(guò)WEB瀏覽器監(jiān)視服務(wù)器的狀態(tài),可以自定義日志. 10)支持服務(wù)器端包含命令(SSI). 11)支持安全SOCKET層(SSL). 12)具有用戶會(huì)話過(guò)程的跟蹤能力. 13)支持FASTCGI 14)支持JAVASERVLETS. 從源代碼安裝Apache 通常,對(duì)于大多數(shù)電子商務(wù)網(wǎng)站而言,都會(huì)有在線支付系統(tǒng)。為安全起見(jiàn),對(duì) 于支付系統(tǒng)需要使用https協(xié)議來(lái)進(jìn)行訪問(wèn),也就是需要SSL的支持,因此,在開(kāi) 始安裝apache軟件之前,首先要安裝OpenSSL。 安裝OpenSSL的步驟如下: (1)獲取源代碼: 創(chuàng)建存放軟件的目錄: mkdir/root/software(可以存放在任何自己想存放的目錄) 到http://www.openssl.org/source/下載源代碼包,放到/root/software/。 本案例中下載的是openssl-0.9.8.tar.gz (2)解壓軟件 tar-zxvfopenssl-0.9.8.tar.gz (3)進(jìn)入源代碼目錄: cdopenssl-0.9.8 (4)配置編譯選項(xiàng): ./config——prefix=/usr/local/openssl——shared ——shared的含義是創(chuàng)建共享庫(kù)文件,如果不加,在編譯時(shí)只生成靜態(tài)庫(kù)文件。 (5)編譯: make maketest#測(cè)試 (6)安裝 makeinstall 執(zhí)行后將把相關(guān)的文件拷貝到/usr/local/openssl的對(duì)應(yīng)目錄下。 如果想升級(jí)原有rpm包安裝的openssl的話,按照以下幾步操作: A、rpm–e–nodepsopenssl(強(qiáng)制刪除rpm包的openssl,盡量不要用遠(yuǎn)程登錄方式作) B、將/usr/include/openssl備份,并把/lib下兩個(gè)指向libcrypto.so.0.9.7x和libssl.so.0.9.7x的軟連接刪除 C、安裝openssl-0.9.8.tar.gz(步驟如上面所說(shuō))安裝目錄為/usr/local/openssl D、手動(dòng)修改lib庫(kù)得軟連接以備ssh和其他程序調(diào)用 ln–s/usr/local/openssl/lib/libcrypto.so.0.9.8/lib/libcrypto.so.4 ln–s/usr/local/openssl/lib/libcrypto.so.0.9.8/lib/libcrypto.so ln–s/usr/local/openssl/lib/libssl.so.0.9.8/lib/libssl.so ln–s/usr/local/openssl/lib/libssl.so.0.9.8/lib/libssl.so.4 E、echo/usr/local/openssl/lib>>/etc/ld.so.conf F、ldconfig–v G、/etc/init.d/sshdrestart H、Ssh–V檢查版本信息 在安裝完OpenSSL后,接下來(lái)就可以安裝Apache了,安裝Apache的步驟如下: (1)獲取源代碼 創(chuàng)建存放軟件的目錄: mkdir/root/software 到http://www.apache.org/下載最新穩(wěn)定版的源代碼,放到/root/software。 本案例中下載的是httpd-2.0.59.tar.bz2 (2)解壓軟件包 tar–jxvfhttpd-2.0.59.tar.bz2 cdhttpd-2.0.59 (3)配置編譯選項(xiàng) Apache是模塊化的服務(wù)器,核心服務(wù)器中只包含了功能最常用的模塊,而擴(kuò)展功能由其他模塊提供。設(shè)置過(guò)程中,你必須指定需要包含的模塊。Apache文檔中有模塊清單備查,其中狀態(tài)為"Base"的模塊會(huì)被默認(rèn)地包含進(jìn)核心服務(wù)器,如果不需要包含某個(gè)模塊(比如mod_userdir),則必須明確地禁用它;其他狀態(tài)的模塊(比如mod_expires),也必須明確啟用以使之包含進(jìn)核心服務(wù)器。 Apache有兩種使用模塊的方法,其一是永久性包含進(jìn)核心;如果操作系統(tǒng)支持動(dòng)態(tài)共享對(duì)象(DSO),而且能為autoconf所檢測(cè),則模塊還可以被動(dòng)態(tài)編譯。DSO模塊的存儲(chǔ)是獨(dú)立于核心的,可以被核心使用由mod_so模塊提供的運(yùn)行時(shí)刻配置指令包含或排除。如果編譯中包含有任何動(dòng)態(tài)模塊,則mod_so模塊會(huì)被自動(dòng)包含進(jìn)核心。如果希望核心能夠裝載DSO,而不實(shí)際編譯任何動(dòng)態(tài)模塊,需要明確指定——enable-so。 在我們的電子商務(wù)網(wǎng)站中,一般情況下,核心模塊功能我們?nèi)繂⒂;除此之外,我們還要啟用SSL加密(mod_ssl);為了使搜索引擎更容易收錄我們的網(wǎng)頁(yè),需要將動(dòng)態(tài)頁(yè)面的URL重寫為靜態(tài)頁(yè)面的URL,需要mod_rewrite;為了今后動(dòng)態(tài)添加模塊而不重新編譯apache(例如添加PHP的支持),需要啟用mod_so。基于上面的分析,我在配置編譯選項(xiàng)時(shí),推薦使用以下選項(xiàng): ./configure——prefix=/usr/local/apache2——with-ssl=/usr/local/openssl ——enable-ssl——enable-so——enable-rewrite——enable-mime-magic——enable-mem-cache 每個(gè)項(xiàng)目及網(wǎng)站的情況不同,如果還需要支持其它的模塊,請(qǐng)?jiān)诰幾g時(shí)使用相 應(yīng)的選項(xiàng)。在工作或?qū)W習(xí)中,如有問(wèn)題請(qǐng)及時(shí)到http://www.vfast.com/進(jìn)行答疑。 (4)編譯并安裝 make makeinstall 從源代碼安裝PHP PHP是一種嵌入在HTML并由服務(wù)器解釋的腳本語(yǔ)言。它可以用于管理動(dòng)態(tài) 內(nèi)容、支持?jǐn)?shù)據(jù)庫(kù)、處理會(huì)話跟蹤,甚至構(gòu)建整個(gè)電子商務(wù)站點(diǎn)。它支持許多流行 的數(shù)據(jù)庫(kù),包括MySQL、PostgreSQL、Oracle、Sybase、Informix和MicrosoftSQL Server。 要使PHP支持相關(guān)的功能那么在安裝前需要安裝相應(yīng)的軟件,例如要使PHP 支持MySQL數(shù)據(jù)庫(kù),在編譯PHP之前,必須首先安裝MySQL數(shù)據(jù)庫(kù),關(guān)于MySQL 數(shù)據(jù)庫(kù)的安裝,查閱第9章MySQL數(shù)據(jù)庫(kù)的安裝。 (1)獲取源代碼 創(chuàng)建存放軟件的目錄: mkdir/root/software(可以存放在任何自己想存放的目錄) 到http://www.php.net/下載最新穩(wěn)定版的源代碼,放到/root/software。 本案例中下載的是php-5.1.4.tar.bz2 (2)解壓 tar–jxvfphp-5.1.4.tar.bz2 cdphp-5.1.4 (3)配置編譯選項(xiàng) 剛才已經(jīng)提到,打算使用MySQL來(lái)存儲(chǔ)數(shù)據(jù),因此必須要指名支持MySQL數(shù)據(jù)(——with-mysql),并指名MySQL數(shù)據(jù)的安裝位置;如果需要處理XML數(shù)據(jù),需要——wiht-xml和–with-dom;如果需要使用PHP腳本來(lái)生成圖片,需要使用——with-gd。 總之如果需要使用的功能的庫(kù)文件不在系統(tǒng)路徑內(nèi),必須要明確支持,如果不明確支持,那么配置腳本自動(dòng)進(jìn)行處理。集體需要使用什么功能,這取決于站點(diǎn)的PHP腳本使用的函數(shù)大多數(shù)情況下,需要這樣來(lái)配置編譯選項(xiàng): ./configure——prefix=/usr/local/php ——with-apxs2=/usr/local/apache2/bin/apxs——with-mysql=/usr/local/mysql ——with-mysql-sock=/usr/local/mysql/tmp/mysql.sock——with-xml——with-dom ——with-mcrypt——with-iconv——with-gd——with-mime-magic ——with-openssl=/usr/local/openssl——enable-ftp 其中——with-apxs2=/usr/local/apache2/bin/apxs選項(xiàng)的作用是:在安裝時(shí)會(huì)修改APACHE的配置文件,加入PHP模塊,同時(shí)將模塊復(fù)制到apache的模塊目錄下。 (4)編譯并安裝 make makeinstall (5)拷貝php的配置文件 cpphp.ini-dist/usr/local/php/php/php.ini 在編譯php時(shí)使用——with-config-file-path=[dir]來(lái)明確指明配置文件的存儲(chǔ)位置,那么就拷貝到指定位置,否則就拷貝到:安裝目錄/usr/local/php/ 測(cè)試安裝是否成功 要進(jìn)行測(cè)試,vi/usr/local/apache2/conf/httpd.conf: (1)修改DocumentRoot,的值,指定web頁(yè)面的存儲(chǔ)位置 DocumentRoot"/web" (2)確保文件中已經(jīng)存在并且啟用下面的行 LoadModulephp5_modulemodules/libphp5.so (3)在文件中添加下面的行: AddTypeapplication/x-httpd-php.php 目的是使以php為擴(kuò)展名的文件會(huì)使用PHP程序來(lái)解析。 (4)創(chuàng)建一個(gè)測(cè)試文件/web/vfast.php,其內(nèi)容如下:
/usr/local/apache2/bin/apachectlstart (6)在瀏覽器中訪問(wèn)剛才的頁(yè)面,例如:http://localhost/vfast.php 如果成功返回php的相關(guān)信息,說(shuō)明安裝成功。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |