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が表示されれば完了。