#!/bin/bash # Author: yeho # BLOG: https://blog.linuxeye.com # # Notes: OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+ # # Project home page: # http://oneinstack.com # https://github.com/lj2007331/oneinstack Install_tomcat-8() { cd $oneinstack_dir/src . /etc/profile src_url=http://mirrors.linuxeye.com/apache/tomcat/v$tomcat_8_version/apache-tomcat-$tomcat_8_version.tar.gz && Download_src src_url=http://mirrors.linuxeye.com/apache/tomcat/v$tomcat_8_version/catalina-jmx-remote.jar && Download_src id -u $run_user >/dev/null 2>&1 [ $? -ne 0 ] && useradd -M -s /bin/bash $run_user || { [ -z "`grep ^$run_user /etc/passwd | grep '/bin/bash'`" ] && usermod -s /bin/bash $run_user; } tar xzf apache-tomcat-$tomcat_8_version.tar.gz [ ! -d "$tomcat_install_dir" ] && mkdir -p $tomcat_install_dir /bin/cp -R apache-tomcat-$tomcat_8_version/* $tomcat_install_dir if [ -e "$tomcat_install_dir/conf/server.xml" ];then /bin/cp catalina-jmx-remote.jar $tomcat_install_dir/lib cd $tomcat_install_dir/lib [ ! -d "$tomcat_install_dir/lib/catalina" ] && mkdir $tomcat_install_dir/lib/catalina cd $tomcat_install_dir/lib/catalina jar xf ../catalina.jar sed -i 's@^server.info=.*@server.info=Tomcat@' org/apache/catalina/util/ServerInfo.properties sed -i 's@^server.number=.*@server.number=8@' org/apache/catalina/util/ServerInfo.properties sed -i "s@^server.built=.*@server.built=`date`@" org/apache/catalina/util/ServerInfo.properties jar cf ../catalina.jar ./* cd ../../bin rm -rf $tomcat_install_dir/lib/catalina OS_CentOS='yum -y install apr apr-devel' OS_Debian_Ubuntu='apt-get -y install libapr1-dev libaprutil1-dev' OS_command tar xzf tomcat-native.tar.gz cd tomcat-native-*-src/jni/native/ rm -rf /usr/local/apr ./configure --with-apr=/usr/bin/apr-1-config make && make install if [ -d "/usr/local/apr/lib" ];then [ $Mem -le 768 ] && Xms_Mem=`expr $Mem / 3` || Xms_Mem=256 cat > $tomcat_install_dir/bin/setenv.sh << EOF JAVA_OPTS='-server -Xms${Xms_Mem}m -Xmx`expr $Mem / 2`m' CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib" # -Djava.rmi.server.hostname=$IPADDR # -Dcom.sun.management.jmxremote.password.file=\$CATALINA_BASE/conf/jmxremote.password # -Dcom.sun.management.jmxremote.access.file=\$CATALINA_BASE/conf/jmxremote.access # -Dcom.sun.management.jmxremote.ssl=false" EOF cd ../../../;rm -rf tomcat-native-* chmod +x $tomcat_install_dir/bin/*.sh /bin/mv $tomcat_install_dir/conf/server.xml{,_bk} cd $oneinstack_dir/src /bin/cp ../config/server.xml $tomcat_install_dir/conf sed -i "s@/usr/local/tomcat@$tomcat_install_dir@g" $tomcat_install_dir/conf/server.xml [ ! -d "$tomcat_install_dir/conf/vhost" ] && mkdir $tomcat_install_dir/conf/vhost cat > $tomcat_install_dir/conf/vhost/localhost.xml << EOF EOF # logrotate tomcat catalina.out cat > /etc/logrotate.d/tomcat << EOF $tomcat_install_dir/logs/catalina.out { daily rotate 5 missingok dateext compress notifempty copytruncate } EOF [ -z "`grep '