威脅:
通常情況下,在配置Tomcat生產環境時,通常會配置Tomcat以特定的身份運行(非root),這樣有利於提高安全性,防止網站被黑后的進一步權限提升。
安裝jdk請參考:http://53cto.blog.51cto.com/9899631/1697368
安裝tomcat請參考:http://53cto.blog.51cto.com/9899631/1697386
1, 進入Tomcat安裝目錄下的bin目錄
cd /usr/local/apache-tomcat-8.0.30/bin
2,解壓commons-daemon-native.tar.gz
tar zxvf commons-daemon-native.tar.gz
cd commons-daemon-native/unix
3, 這里需要gcc、make等編譯工具,如果沒有指定JAVA_HOME環境變量,則需要 --with-java= 參數指定jdk目錄
./configure
make
4, make后,會在當前文件夾下生成一個名為 jsvc 的文件,將其復制到$CATALINA_HOME/bin目錄
cp jsvc /usr/local/apache-tomcat-8.0.30/bin
5, 添加一個程序用戶用來運行Tomcat
useradd -M -d / -s /usr/sbin/nologin tomcat
6,修改$CATALINA_HOME/bin目錄下的 daemon.sh 文件(如果已配置好jdk環境變量可以忽略此步驟)
設置其中的
修改啟動腳本文件
vi /opt/tomcat6/bin/daemon.sh
找到如下內容
test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat # Set JAVA_HOME to working JDK or JRE # JAVA_HOME=/opt/jdk-1.6.0.22
修改TOMCAT_USER=tomcat為你指定用來運行tomcat的用戶名,去除JAVA_HOME前的注釋(即“#”號),並設置為JDK的所在目錄。
#chkconfig --add tomcat
#chkconfig tomcatd on
daemon.sh文件靠前位置添加這兩行,少了這2行 無法支持chkconfig
# chkconfig: - 96 35
# description: Starts and stops tomcat
ln -s /opt/tomcat/bin/daemon.sh /etc/init.d/tomcat 將啟動腳本軟鏈接到/etc/init.d/目錄下方便以后啟動服務
7, 如果$CATALINA_HOME/bin下的*.sh文件沒有運行權限,則為其添加運行權限
chmod +x *.sh
8 , 設置$CATALINE_HOME文件夾及其所有子文件Owner為tomcat
chown -R tomcat:tomcat /usr/local/apache-tomcat-8.0.30
9, 啟動Tomcat
daemon.sh start [root@bogon bin]# ./daemon.sh -help Unknown command: `-help' Usage: daemon.sh ( commands ... ) commands: run Start Tomcat without detaching from console start Start Tomcat stop Stop Tomcat version What version of commons daemon and Tomcat are you running?