2013年7月22日月曜日

CenOSにもtomcatをいれてみた。

まず CentOSをインストール。
CentOS-6.4-x86_64-bin-DVD1.iso をダウンロードしてインストール。

次に日本語化

# yum groupinstall "Japanese Support"

# vi /etc/sysconfig/i18n
#LANG="en_US.UTF-8"
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"
 

再起動して、古い名前のままを指定。

(1) JAVAのインストール

http://www.oracle.com/technetwork/java/javase/downloads/index.html

ここから JREをダウンロード(jre-7u25-linux-x64.rpm)





ここから tomcatをダウンロード(apache-tomcat-7.0.42.tar.gz)


useradd -s /sbin/nologin tomcat

tar xvzf apache-tomcat-7.0.42.tar.gz
mv apache-tomcat-7.0.42 /usr/local
chown tomcat:tomcat -R apache-tomcat-7.0.42
ln -s apache-tomcat-7.0.42 tomcat


vi /usr/local/tomcat/bin/startup.sh /usr/local/tomcat/bin/shutdown.sh

次を追加。(先頭に追加)

JAVA_HOME=/usr/java/default
CATALINA_HOME=/usr/local/tomcat
export JAVA_HOME CATALINA_HOME


vi /usr/local/tomcat/conf/tomcat-users.xml

<user username="takahab" password="xxxxxxx" roles="admin-gui,manager-gui"/>


vi  /etc/init.d/tomcat

#!/bin/bash
#
# Startup script for the Tomcat Servlet Container
#
# chkconfig: 2345 35 65
# description: Tomcat is the servlet container that is used in the official \
#              Reference Implementation for the Java Servlet and JavaServer \
#              Pages technologies

TOMCAT_USER=tomcat
CATALINA_HOME=/usr/local/tomcat

. /etc/rc.d/init.d/functions
prog=tomcat

start() {
    echo -n $"Starting $prog: "
    daemon --user $TOMCAT_USER $CATALINA_HOME/bin/startup.sh > /dev/null
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo_success
    else
        echo_failure
    fi
    echo
    [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
    return $RETVAL
}
stop() {
    echo -n $"Stopping $prog: "
    daemon --user $TOMCAT_USER $CATALINA_HOME/bin/shutdown.sh > /dev/null
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo_success
    else
        echo_failure
    fi
    echo
    [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog
    return $RETVAL
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  status)
    INSTANCES=`ps --columns 512 -aef|grep java|grep tomcat|grep org.apache.catalina.startup.Bootstrap|wc -l`
    if [ $INSTANCES -eq 0 ]; then
        echo $prog is stopped
        RETVAL=3
    else
        if [ $INSTANCES -eq 1 ]; then
            echo $prog is running 1 instance...
        else
            echo $prog is running $INSTANCES instances...
        fi
        RETVAL=0
    fi
    ;;
  *)
    echo $"Usage: $prog {start|stop|restart|status|help}"
    exit 1
esac

exit $RETVAL











chmod a+x /etc/init.d/tomcat

/sbin/chkconfig --add tomcat

/etc/init.d/tomcat start

chkconfig httpd on
chkconfig tomcat on
chkconfig --list







(3) Tomcat コネクタの設定

vi /usr/local/tomcat/conf/server.xml

【8080ポート無効】

<!-- <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    by takahab -->

【8009ポート有効】

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
 


【tomcatに渡すロケーションを設定】
# vi /etc/httpd/conf/httpd.conf
 
ーーーファイルの最後に追加

# by takahab
Include /etc/httpd/conf/extra/httpd-proxy.conf
 



vi /etc/httpd/conf/extra/httpd-proxy.conf      ------新規ファイル作成

<Location / >
ProxyPass ajp://localhost:8009/ 
</Location>


※servlet以下であれば、<Location /servlet > 上記はルート

マップするディレクトリが異なる時。

<Location /servlet/>
        ProxyPass ajp://localhost:8009/ keepalive=on
        ProxyPassReverse ajp://localhost:8009/
        ProxyPassReverseCookiePath / /servlet/
</Location>

 
 






【ついでに!!】

# yum -y install vsftpd
# /etc/init.d/vsftpd start
# chkconfig vsftpd on

# yum -y install ftp
# yum -y install telnet-server
# yum -y install telnet


# 192.1.168.1.*を許可
# vi /etc/hosts.allows
in.telnetd : localhost  127.0.0.1 192.168.1.


# vi /etc/sysconfig/iptables
 # Generated by iptables-save v1.4.7 on Tue Oct  1 11:33:21 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [69:7864]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 23 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20:21 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Tue Oct  1 11:33:21 2013

# service iptables restart
# iptables -L  で確認。


SElinuxを一時的に無効。
# setenforce 0
# sestatus
# getsebool -a


#FTPパッシブモードを設定




#vi /etc/sysconfig/iptables-config

IPTABLES_MODULES=”ip_conntrack_ftp ip_nat_ftp”

#vi /etc/vsftpd/vsftpd.conf



































#パッシブモードを利用にする
pasv_promiscuous=YES
#パッシブモード利用時のポート範囲(例:50000~50030)
pasv_min_port=50000
pasv_max_port=50030












0 件のコメント:

コメントを投稿

シャットダウン時の後処理 (shutdown)

# vi /etc/systemd/system/drop.service [Unit] Description= stop httpgwd DefaultDependencies=no Before=shutdown.target RefuseManualStart=true ...