- Install mod_JK
將mod_jk.so(http://jakarta.apache.org/tomcat/)複製到/www/modules/mod_jk.so
如果找不到已經編譯好的檔案,請下載原始碼來編譯,方法如下:
將下載的檔案jakarta-tomcat-connectors-jk-1.2-src-current.tar.gz放到一各暫存資料夾(/usr/local/src/)解壓縮
cd /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native
./buildconf.sh
./configure --with-apxs=/www/bin/apxs
make ; make install
再把產生的mod_jk.so拷貝到/www/modules/
請注意mod_jk.so的屬性是否為可執行以及擁有人屬性應該跟執行apache的人一樣 - 在/www/conf/下建立一個workers.properties的檔案,內容如下,基本上不需要修改內容:
# In Unix, we use forward slashes:
ps=/
# list the workers by name
worker.list=tomcat
worker.tomcat.port=8009
worker.tomcat.host=localhost
worker.tomcat.type=ajp13 - 變更檔案擁有者屬性,改成可執行apache的人chown apache.users workers.properties
- 修改/www/conf/httpd.conf
- 在LoadModule那一大串宣告裡加上一段
LoadModule jk_module modules/mod_jk.so
JkWorkersFile /www/conf/workers.properties
JkLogFile /www/logs/mod_jk.log
JkLogLevel info - 在"DocumentRoot"附近加上
JkMount /servlets/* tomcat
JkMount /*/servlets/* tomcat
JkMount /*.jsq tomcat
JkMount /*.jsp tomcat
主要是在宣告要mount進去的目錄,例如JkMount /*.jsp表示會將Tomcat的ROOT目錄底下的所有.jsp檔案都看成跟apache的文件目錄下一樣,類似IIS的虛擬路徑。 - 修改/www/tomcat/conf/server.xml
尋找
把註解取消掉 啟動tomcat和apache
/www/tomcat/bin/startup.sh
Using CATALINA_BASE: /www/tomcat
Using CATALINA_HOME: /www/tomcat
Using CATALINA_TMPDIR: /www/tomcat/temp
Using JAVA_HOME: /usr/local/jdk
/www/bin/apachectl startssl
httpd (pid 729) already running
2002年10月21日
Apache與Tomcat整合方法
在Apache上安裝SSL支援
前言:
要讓 Apache可以支援SSL有兩個做法,分別是是安裝Apache-SSL及安裝mod_ssl模組,其中Apache-SSL專案使用的是舊版的 apache,目前只有進行到1.3.27這個版本,2.0以上的Apache目前(2004/7/1)還無法使用,檔案可以到www.apache-ssl.org及www.apache.org 下載。而mod_ssl則必須到http://www.modssl.org下載mod_ssl模組,並重新編譯apache讓他可以支援mod_ssl 模組。目前我在使用apache-ssl並讓他和tomcat整合時,發現無法載入模組,也許是我編譯apache時沒有加上參數,這個會再有空時在測 試。
安裝:
不管是哪一種解決方案,SSL加解密的部分都需要openssl軟體來協助,www.openssl.org,在RedHat的套件裡,預設應該都是有安裝的。在安裝前建議先執行以下指令
ln -s /usr/kerberos/include/com_err.h /usr/include/
ln -s /usr/kerberos/include/profile.h /usr/include/
ln -s /usr/kerberos/include/krb5.h /usr/include/
不然當我們編譯ssl的時候有可能會出現問題
一、 Apache-SSL解決方案:
以Apache -SSL和mod_ssl兩種解決方案來說,apache-ssl的檔案較小,編譯起來比較快,且在啟動apache的時候不需要另外輸入憑證的密碼,而 mod_ssl的設定就比較簡單明瞭,但檔案大,編譯起來會花費不少時間,且mod_ssl這個方案可以正常的支援tomcat整合,所以推薦使用 mod_ssl方案。
要讓 Apache可以支援SSL有兩個做法,分別是是安裝Apache-SSL及安裝mod_ssl模組,其中Apache-SSL專案使用的是舊版的 apache,目前只有進行到1.3.27這個版本,2.0以上的Apache目前(2004/7/1)還無法使用,檔案可以到www.apache-ssl.org及www.apache.org 下載。而mod_ssl則必須到http://www.modssl.org下載mod_ssl模組,並重新編譯apache讓他可以支援mod_ssl 模組。目前我在使用apache-ssl並讓他和tomcat整合時,發現無法載入模組,也許是我編譯apache時沒有加上參數,這個會再有空時在測 試。
安裝:
不管是哪一種解決方案,SSL加解密的部分都需要openssl軟體來協助,www.openssl.org,在RedHat的套件裡,預設應該都是有安裝的。在安裝前建議先執行以下指令
ln -s /usr/kerberos/include/com_err.h /usr/include/
ln -s /usr/kerberos/include/profile.h /usr/include/
ln -s /usr/kerberos/include/krb5.h /usr/include/
不然當我們編譯ssl的時候有可能會出現問題
一、 Apache-SSL解決方案:
- 先 到http://www.apache-ssl.org下載最新的apache-ssl軟體,下載後由最新版本的序號為準,再到 www.apache.org找相對應的版本,例如在www.apache-ssl.org找到apache_1.3.27+ ssl_1.48.tar.gz,表示這個版本支援的是apache 1.3.27,所以必須要到http://www.apache.org再下載apache_1.3.27-x86_64-whatever- linux22.tar.gz像這樣的檔案
- 到/usr/local/src(暫存原始檔用)資料夾,將apache_1.3.27- x86.tar.gz解壓縮(tar zxvf apache_1.3.27-x86_64-whatever-linux22.tar.gz ),解完之後進入apache的目錄裡,再將apache_1.3.27+ssl_1.48.tar.gz的檔案解到到相同的目錄裡。
- 執行”./FixPatch openssl的所在目錄”,這個程式會將apache更新成可以支援SSL的版本,如果一切正常的話,會顯示Patch完成。
一 般常遇到的應該是找不到openssl安裝目錄的錯誤訊息為多,根據我測試的結果當我指定我的openssl位址(我安裝在 /usr/bin/openssl)不管我指定的是./FixPatch /usr/bin/openssl或./FixPatch /usr/bin/都會說找不到該檔案,但是如果用./FixPatch /usr/就可以正常完成,這點相當詭異。 - 接下來執行./configure 來產生安裝所需要的檔案,我使用的是最陽春的./configure --prefix="/wwwssl/",這邊的—prefix為指定安裝目錄,所以事實上我沒有將其他的模組一起編譯進去。
- 產生正確的Makefile之後,就可以開始編譯Apache-SSL,指令為
make ; make install - 安 裝完成之後,apache就會被安裝在/wwwssl的目錄底下,接下來產生SSL的鑰匙對及證書請參考第三節,產生後的xxx.key及xxx.crt 請放在同一個目錄裡方便控管,並將屬性改成chmod 400,在這個例子中,我放在/wwwssl/conf/目錄底下。
- 修改 /wwwssl/conf/httpsd.conf檔案,有一段設定為#Listen 3000,如果這台機器還要提供一般的http服務的話,請將#拿掉,並將3000改成80,然後再最後一行加上Include ssl.conf,再加上這一段文字:(請依照需求填寫)
Listen w.x.y.z:443
DocumentRoot /wwwssl/htdocs
SSLCertificateFile /wwwssl/conf/xxx.crt
SSLCertificateKeyFile /wwwssl/conf/xxx.key
SSLVerifyClient 0
SSLVerifyDepth 10
SSLBanCipher NULL-MD5:NULL-SHA
SSLEnable - 存檔離開後,請在/wwwssl/conf/底下建立一個ssl.conf檔案,這個檔案主要在指定cache的位址:
SSLDisable
SSLNoCAList
SSLRandomFile file /var/tmp 1024
SSLCacheServerPath /wwwssl/bin/gcache
SSLCacheServerPort logs/gcache_port
SSLCacheServerRunDir /tmp
SSLSessionCacheTimeout 15 - 最後再幫httpsd.conf建立一個軟鏈結到httpd.conf:
ln -s httpsd.conf httpd.conf - 啟動apache,/wwwssl/bin/httpsdctl start。
- 打開瀏覽器觀看成果吧
http://w.x.y.z/index.html.zh
https://w.x.y.z/index.html.zh
- 安裝Mod_SSL,方法省略(可直接下載RPM檔來安裝)
- 將最新版Apache解壓縮,並進入該目錄,測試的版本是httpd-2.0.49.tar.gz
- 產生Apache設定檔,必須將mod_ssl支援編譯進去
./configure --prefix="/www" --enable-mods-shared=most --enable-so --enable-ssl=static --with-ssl=/usr/include/openssl/
make; make install進行安裝 - 安裝完成之後在/www/conf/會產生一個ssl.conf檔,尋找
SSLCertificateFile /www/conf/adbanner.crt 和
SSLCertificateKeyFile /www/conf/adbanner.key 將正確的key和證書位址帶入 - 啟動apache /www/bin/apache startssl
- 打開瀏覽器觀看成果吧
http://w.x.y.z/index.html.zh
https://w.x.y.z/index.html.zh
- openssl req -new > xxx.csr,接下來會問一些問題,請按照自己的環境回答,其中Common Name:這項請回答你的網址,以後才不會出現困擾。也請您牢記您的密碼。
- openssl rsa -in privkey.pem -out xxx.key 利用第一個步驟產生的檔案來建立一把私鑰。(這裡使用RSA編碼),這個步驟必須輸入第一個步驟設定的密碼。
- openssl x509 -in xxx.csr -out xxx.crt -req -signkey xxx.key -days 365 建立一個自行簽署期限365天的CA證書(不經過第三方認證)
- 如果要申請第三方認證的憑證,只需要將xxx.csr傳給該公司,他們就會回覆相關的xxx.crt檔
- 關於第一個和第二個指令,也有人是這樣做的
openssl genrsa 1024 > /etc/httpd/conf/ssl.key/server.key(先建立私鑰)
openssl req -new -key /etc/httpd/conf/ssl.key/server.key -out /etc/httpd/conf/ssl.csr/server.csr(再利用私鑰建立要求文件)
以Apache -SSL和mod_ssl兩種解決方案來說,apache-ssl的檔案較小,編譯起來比較快,且在啟動apache的時候不需要另外輸入憑證的密碼,而 mod_ssl的設定就比較簡單明瞭,但檔案大,編譯起來會花費不少時間,且mod_ssl這個方案可以正常的支援tomcat整合,所以推薦使用 mod_ssl方案。
訂閱:
文章 (Atom)
精選文章
利用Selenium IDE進行UI測試
安裝與執行 Selenium IDE是Firefox的一個plugin,用來做UI的自動測試:下載網址為http://docs.seleniumhq.org/download/ 安裝後,點一下firefox 的工具 -> Selenium IDE ,就會...
-
關閉mysql 服務: sudo mysqld_safe --skip-grant-tables & sudo /etc/init.d/mysqld stop mysql -uroot 登入後指令: use mysql; ...
-
去 年因為要評估機房租用的成本,認識了幾家固網業者;主機代管應該是個很賺的業務項目吧,不只一家廠商安排我們去參觀他們的機房,還做了精美的簡報,在在顯示他們非常希望我們能將機房搬到他們公 司,因為這將帶來相當大的商機以及分紅;雖然機房都參觀過了,但是機房遷移牽涉到太多的東西了,所以...
-
騎腳踏車到捷運站轉乘上班已經有好長一段時間了,之前為了安全都會買車尾燈跟前燈以確保安全。但是目前買到需要裝電池的車燈,不是下雨天進水就是常常短路,時亮時不亮,平均兩三個月就要換一組。 後來改用塑膠型的快拆車燈,防水是防水了,但是常常被偷,塑膠一扯就帶走了。因為要常...