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