CentOS 6.5
Apache HTTP Server 2.2.27
Apache Tomcat 7.0.42
Oracle Java(JDK) 7u45
で、各バージョンはお客さん指定。
CentOSのインストールとパッケージの更新
Minimalモードでインストール。
ネットワークとプロキシの各設定。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 # vi /etc/sysconfig/network # vi /etc/profile.d/proxy.sh # vi /etc/yum.conf # vi /etc/hosts # yum update
wgetのインストールとプロキシの設定
# yum install wget # vi /etc/wgetrc
JDKのダウンロードとインストール
特定のバージョンのダウンロードURLは、Webページのリンクを辿って特定した。
# wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.rpm # mkdir /usr/java # cd /usr/java # rpm -ivh ~/jdk-7u45-linux-x64.rpm
Apache HTTP Serverのダウンロードとビルドとインストール
古いバージョンはビルドからせんといかんのか。。。
# yum search gcc libtool openssl-devel
- Apache HTTP Serverのダウンロード。
# wget http://archive.apache.org/dist/httpd/httpd-2.2.27.tar.gz # gzip -d httpd-2.2.27.tar.gz # tar xvf httpd-2.2.27.tar
- aprとapr-utilのビルドとインストール。
# cd ~/httpd-2.2.27/srclib/apr # ./configure --prefix=/usr/local/apr-httpd/ # make # make install # cd ~/httpd-2.2.27/srclib/apr-util # ./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/ # make # make install
- httpdのビルドとインストール
# cd ~/httpd-2.2.27 #./configure --with-apr=/usr/local/apr-httpd/ --with-apr-util=/usr/local/apr-util-httpd/ --enable-cache --enable-disk-cache --enable-mem-cache --enable-logio --enable-headers --enable-ssl --enable-rewrite --enable-so --enable-proxy --enable-proxy-ajp # make # make install
実際には「--enable-headers」「--enable-headers」「--enable-headers」を指定し忘れており、apxsコマンドを利用して、各モジュールをコンパイルし、httpd.confにLoadModuleの指定を追記。
オプション | 指定 |
---|---|
--enable-cache | ドキュメントキャッシュを有効 |
--enable-disk-cache | ディスクキャッシュに対応させる |
--enable-mem-cache | メモリキャッシュに対応させる |
--enable-logio | 転送量を access.logへ記録する |
--enable-headers | httpヘッダーのコントロールを有効にする |
--enable-ssl | SSL/TLSを有効にする |
--enable-rewrite | アクセスURLのリダイレクトを可能にする |
--enable-so | DSO(Dynamic Shared Objects)モジュールを有効にする |
--enable-proxy | Tomcat連携用のproxyを有効にする |
--enable-proxy-ajp | Tomcat連携用のajpでのproxyを有効にする |
- ファイアウォール(HTTP80ポートを許可)の設定
80ポートを追記。
# vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT # /etc/rc.d/init.d/iptables restart
- Apache HTTP Serverの実行ユーザの作成と所有者の変更
# groupadd apache # useradd -g apache apache # chown -R apache:apache /usr/local/apache2
- Apache HTTP Serverの設定
# vi /usr/local/apache2/conf/httpd.conf User apache Group apache ServerName hostname:80 ServerName hostname.domain:80 ServerName (IPアドレス):80
# cp httpd-2.2.27/build/rpm/httpd.init /etc/rc.d/init.d/httpd # chkconfig --add httpd # chkconfig httpd on # vi /etc/rc.d/init.d/httpd (各パスをインストールディレクトリのパスに設定) httpd=${HTTPD-/usr/local/apache2/bin/httpd} pidfile=${PIDFILE-/usr/local/apache2/logs/${prog}.pid} CONFFILE=/usr/local/apache2/conf/httpd.conf # /usr/local/apache2/bin/apachectl -k start
ブラウザからhttp://hostname/にアクセスして"It's Work!"と表示されれば完了。
Apache Tomcatのダウンロードとインストール
# wget https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42.tar.gz # gzip -d apache-tomcat-7.0.42.tar.gz # tar xvf apache-tomcat-7.0.42.tar # mv apache-tomcat-7.0.42 /usr/local/apache-tomcat-7.0.42
# groupadd tomcat # useradd -g tomcat tomcat # chown -R tomcat:tomcat /usr/local/apache-tomcat-7.0.42/
# vi /etc/rc.d/init.d/tomcat (中身は下に記載) # mkdir tmp # cp /usr/local/apache-tomcat-7.0.42/bin/commons-daemon-native.tar.gz ~/tmp/ # cd tmp # tar -xvzf commons-daemon-native.tar.gz # cd commons-daemon-1.0.15-native-src/unix/ # ./configure --with-java=/usr/java/default # make # cp jsvc /usr/local/apache-tomcat-7.0.42/bin/ # chown tomcat:tomcat jsvc /usr/local/apache-tomcat-7.0.42/bin/jsvc # chkconfig --add tomcat # chkconfig tomcat on
/etc/rc.d/init.d/tomcatの中身(JavaVMのヒープを1024MBに設定)
#!/bin/sh # # tomcat Startup script for the Apache Tomcat Servlet/JSP container. # # chkconfig: - 80 10 # description: The Apache Tomcat Servlet/JSP container. # # Source function library. . /etc/init.d/functions RETVAL=0 JAVA_HOME=/usr/java/default CATALINA_HOME=/usr/local/apache-tomcat-7.0.42 JAVA_OPTS="-Xms1024M -Xmx1024M" DAEMON=$CATALINA_HOME/bin/daemon.sh LOCKFILE=/var/lock/subsys/tomcat start() { echo -n $"Starting tomcat: " $DAEMON --java-home $JAVA_HOME --catalina-home $CATALINA_HOME start RETVAL=$? if [ $RETVAL -eq 0 ]; then echo_success touch $LOCKFILE else echo failure fi echo return $RETVAL } stop() { echo -n $"Shutting down tomcat: " $DAEMON --java-home $JAVA_HOME --catalina-home $CATALINA_HOME stop RETVAL=$? if [ $RETVAL -eq 0 ]; then echo_success rm -f $LOCKFILE else echo failure fi echo return $RETVAL } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status $CATALINA_HOME/bin/jsvc ;; *) echo $"Usage: $0 {start|stop|restart|status}" exit 3 esac exit 0
- 一時的に8080ポートを開けてTomcatの稼働確認
# /etc/rc.d/init.d/tomcat start # vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT # /etc/rc.d/init.d/iptables restart
ブラウザからhttp://hostname:8080/にアクセスして、Tomcatの管理画面のTOPが表示されれば完了。
その後、一時的に追記したの8080ポートの行を削除し、ファイアウォールを再起動。
8080ポートの定義をコメントアウト。
# vi /usr/local/apache-tomcat-7.0.42/conf/server.xml <!-- <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> -->
httpd.confに、全てのリクエストをTomcatに連携する設定を追記。
「mod_proxy」と「mod_proxy_ajp」を追加コンパイルしたため、LoadModuleの記述も追記。
# cd /usr/local/apache2/modules/ # /usr/local/apache2/bin/apxs -i -a -c ~/httpd-2.2.27/modules/proxy/mod_proxy.c ~/httpd-2.2.27/modules/proxy/proxy_util.c # /usr/local/apache2/bin/apxs -i -a -c ~/httpd-2.2.27/modules/proxy/mod_proxy_ajp.c ~/httpd-2.2.27/modules/proxy/ajp_*.c # vi /usr/local/apache2/conf/httpd.conf LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so <Location / > ProxyPass ajp://localhost:8009/ </Location>
- Tomcatアプリケーションマネージャにログインするためのアカウントを追加
# vi /usr/local/apache-tomcat-7.0.42/conf/tomcat-users.xml <role rolename="admin"/> <role rolename="manager-gui"/> <user username="takuso" password="takuso" roles="admin,manager-gui"/> # /etc/init.d/tomcat restart || - httpdとTomcatを再起動して連携を確認 >|| # /etc/init.d/tomcat restart # /etc/init.d/httpd restart
ブラウザからhttp://hostname/にアクセスして、Tomcatの管理画面のTOPが表示されれば完了。