在進行過mod_jk的結合之後…應該會想到把tomcat與apache(httpd)經chkconfig定為開機啟動吧…
然後,就會發現,恩?…奇怪,tomcat啟動了,但httpd沒有…
然後看了開機的服務啟動資訊,發現…「mod_jk cannot open share XXXXXX」的文字,大至上是說,mod_jk.so無法被include進server(httpd)…所以httpd啟動失敗…
這是為什麼?
明明進入本機執行service httpd start就ok的呀…
經我查詢了一些網站,得到的結果是…SELinux搞的鬼…
要讓httpd可以正常開機啟動的方法有二種…
一是把selinux給disable
二是用chcon指令把mod_jk.so的安全性等級更改…
一的方式就不介紹了,因為我在一些資安的角度,不建議這樣做…所以直接看二…
--
先進到apache的目錄,我這邊是在/etc/httpd
進入到模組目錄/etc/httpd/modules
先下ls -Z來看看mod_jk.so與其他的不同…沒錯,就只有我們額外加入的mod_jk.so不是httpd_modules_t,有一些安全性的等級在selinux會是認同的…但不認同的就會產生像在開機要load進httpd的問題一樣…
所以,輸入「chcon -u system_u -t httpd_modules_t mod_jk.so」來更動…
再重開機,看服務資訊就會明瞭了
2 則留言:
這位大大,
太感你的經驗.知識分享了,
這個問題的解決方式,幸得你
簡潔清楚的解說和方法。
讓我解決了這個棘手的問題,網路上和書本查了很久都找不到答案。
還好有逛到你的網誌 ,謝謝分享
^_^
不用客氣
能替你解決問題真是我的榮幸
張貼留言