Apache安裝及配置
1.1下載軟件
1、Apr:(wgethttp://mirrors.hust.edu.cn/apache//apr/apr-1.5.1.tar.gz)
2、Apr-util:(wgethttp://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz)
3、Pcre:(wgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.bz2)
4、Openssl:(wgethttp://www.openssl.org/source/openssl-1.0.2.tar.gz)
5、Apache:(wgethttp://www.eu.apache.org/dist/httpd/httpd-2.4.12.tar.gz)
1.2安裝Apache
請按照下面的順序安裝:
1.2.1安裝apr
[root@xttest]#tar-zxfapr-1.5.1.tar.gz
[root@xttest]#cdapr-1.5.1
[root@xtapr-1.5.1]#./configure--prefix=/usr/local/apr
[root@xtapr-1.5.1]#make&&makeinstall
1.2.2安裝apr-util
[root@xttest]#tar-zxfapr-util-1.5.4.tar.gz
[root@xttest]#cdapr-util-1.5.4
[root@xtapr-util-1.5.4]#./configure--prefix=/usr/local/apr-util-with-apr=/usr/local/apr/bin/apr-1-config
[root@xtapr-util-1.5.4]#make&&makeinstall
1.2.3安裝pcre
[root@xttest]#tar-xjfpcre-8.35.tar.bz2
[root@xttest]#cdpcre-8.35
[root@xtpcre-8.35]#./configure--prefix=/usr/local/pcre
[root@xtpcre-8.35]#make&&makeinstall
1.2.4安裝openssl
[root@xttest]#tar-zxfopenssl-1.0.2.tar.gz
[root@xttest]#cdopenssl-1.0.2
[root@xtopenssl-1.0.2]#./config--prefix=${destination_dir}-fPICno-gostno-sharedno-zlib
[root@xtopenssl-1.0.2]#makedepend;makeinstall
1.2.5安裝apache
[root@xttest]Tar-zcfhttpd-2.4.12.tar.gz
[root@xttest]Cdhttpd-2.4.12
[root@xthttpd-2.4.12]./configure--prefix=/opt/wacos/tools/apache--enable-so--enable-ssl--with-ssl=/usr/local/ssl--enable-mods-shared=all--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util--with-pcre=/usr/local/pcre
[root@xthttpd-2.4.12]#make;makeinstall
1.3配置Apache,讓apache支持https和fcgi
1.3.1對https的支持
原理:一般一個http請求默認是80端口,一個https請求默認是443端口,這就要對apache配置虛擬主機以支持同域名多端口。在apache安裝目錄的conf/extra文件中有一個httpd-ssl.conf文件,里面是這些內容。
Listen443
DocumentRoot"/opt/wacos/tools/apache/htdocs"
ServerNamewww.example.com:443
ErrorLog"/opt/wacos/tools/apache/logs/error_log"
TransferLog"/opt/wacos/tools/apache/logs/access_log"
https協議是http協議里面加了一層ssl加密過程。服務器端需要一個證書文件和一個密鑰文件。下面是生成證書和密鑰的過程:
1、opensslgenrsa-outserver.key2048
運行openssl命令,生成2048位長的私鑰server.key
2、opensslreq-new-keyserver.key-outserver.csr
輸入命令以后,需要填寫如下內容:
CountryName(國家:中國填寫CN)
StateorProvinceName(區域或是省份:CHONGQING)
LocalityName(地區局部名字:CHONGQING)
OrganizationName(機構名稱:填寫公司名)
OrganizationalUnitName(組織單位名稱:部門名稱)
CommonName(網站域名)
EmailAddress(郵箱地址)
Achallengepassword(輸入一個密碼)
Anoptionalcompanyname(一個可選的公司名稱)
輸入完這些內容,就會在當前目錄生成server.csr文件
3、opensslx509-req-days365-inserver.csr-signkeyserver.key-outserver.crt
使用上面的密鑰和CSR對證書進行簽名
到此為止,就有了服務器私有密鑰(server.key)和服務器證書(server.crt)。
接下來把密鑰和證書路徑添加到上面配置的虛擬主機里面:
SSLCertificateFile"/opt/wacos/tools/apache/conf/server.crt"
SSLCertificateKeyFile"/opt/wacos/tools/apache/conf/server.key"
把https的開關打開
SSLEngineon
這樣就完成了對httpd-ssl.conf文件的配置。
在conf目錄下有一個httpd.conf文件,打開,
找到#Includeconf/extra/httpd-ssl.conf一行,把#去掉。
找到#LoadModulessl_modulemodules/mod_ssl.so一行,把#去掉。
重啟apache服務器,在瀏覽器上進行https測試。
1.3.2對fcgi的支持
Fcgi是一個進程,需要在apache啟動的時候同時加載進程。Apache要支持fcgi,需要加載mod_fcgid.so模塊。
安裝mod_fcgid.so模塊:
[root@xttest](wgethttp://www.apache.org/dist/httpd/mod_fcgid/mod_fcgid-2.3.9.tar.gz)
[root@xttest]tar-zxfmod_fcgid-2.3.9.tar.gz
[root@xttest]cdmod_fcgid-2.3.9
[root@xttest]APXS=/opt/wacos/tools/apache/bin/apxs./configure.apxs
[root@xttest]make&&makeinstall
安裝成功后,會在module目錄中生成mod_fcgid.so文件
打開httpd.conf文件,找到#LoadModulefcgid_modulemodules/mod_fcgid.so一行,去掉#號。添加以下代碼:
ScriptAlias/fcgi-bin/"/opt/wacos/tools/apache/fcgi-bin/"
SetHandlerfcgid-script
Options+ExecCGI
Orderallow,deny
Allowfromall
至此,對fcgi支持的配置已經完成。
寫一個cgi程序放在fcgi-bin目錄中,重啟apache測試。