Aipo を Apache で動かす

Apacheが動いているにも関わらず 81 番のポートにリクエストするのはスッキリしません。

http://xx.xx.xx.xx/aipo/ で動くようにしてみました。

参考にしたところ

  1. 『アイポ』 ユーザーコミュニティ – 日本発オープンソースグループウェア
  2. archive.apache.org

Aipo を止めておく

[root@develop src]# /usr/local/aipo/bin/shutdown.sh

Shutdown Aipo.

jk_module をダウンロード

[root@develop ~]# cd /usr/local/src/

[root@develop src]# wget http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.30/i586/mod_jk-1.2.30-httpd-2.2.X.so

–2010-10-25 14:35:34–

http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.30/i586/mod_jk-1.2.30-httpd-2.2.X.so

archive.apache.org をDNSに問いあわせています… 140.211.11.131

archive.apache.org|140.211.11.131|:80 に接続しています… 接続しました。

HTTP による接続要求を送信しました、応答を待っています… 200 OK

長さ: 806485 (788K) [application/octet-stream]

`mod_jk-1.2.30-httpd-2.2.X.so’ に保存中

100%[=================================================================>] 806,485 149K/s 時間 6.2s

2010-10-25 14:35:41 (127 KB/s) – `mod_jk-1.2.30-httpd-2.2.X.so’ へ保存完了 [806485/806485]

さっきダウンロードした so に実行権をつけとく

[root@develop src]# mv mod_jk-1.2.30-httpd-2.2.X.so /etc/httpd/modules/

[root@develop src]# chmod u+x /etc/httpd/modules/mod_jk-1.2.30-httpd-2.2.X.so

[root@develop src]# ls -la /etc/httpd/modules/mod_jk-1.2.30-httpd-2.2.X.so

-rwxr–r– 1 root root 806485 3月 1 2010 /etc/httpd/modules/mod_jk-1.2.30-httpd-2.2.X.so

httpd.conf を編集

[root@develop src]# vim /etc/httpd/conf/httpd.conf

以下を追加

LoadModule jk_module modules/mod_jk-1.2.30-httpd-2.2.X.so

jk_module の conf を新規作成

[root@develop src]# vim /etc/httpd/conf.d/jk.conf

LoadModule jk_module modules/mod_jk-1.2.30-httpd-2.2.X.so
<IfModule mod_jk.c>
JkWorkersFile     conf/workers.properties
JkShmFile         logs/mod_jk.shm
JkLogFile         logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "{%a %b %d %H:%M:%S %Y}"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
</IfModule>

/etc/httpd/conf/workers.properties を新規作成

参考にしたところからのコピペです。

[root@develop src]# vim /etc/httpd/conf.d/jk.conf

<IfModule mod_jk.c>
# ステータスワーカの定義
worker.list=jkstatus
worker.jkstatus.type=status
worker.jkstatus.mount=/jkstatus/*
worker.jkstatus.css=/jkmanager.css
# 使用するワーカの指定(負荷分散を使用)
# !!注意!!
#    負荷分散を使用する場合は以下のワーカリストにメンバーワーカを追加して
#    はいけない
worker.list=lb
# ワーカタイプを指定(負荷分散タイプを指定する)
worker.lb.type=lb
# 負荷分散ワーカの負荷の分散手法を指定する(Rはリクエスト数を元に分散する
# 設定)
worker.lb.method=R
# 負荷分散ワーカにセッション維持をさせるかの指定
worker.lb.sticky_session=true
# メンバーワーカがエラーの時にセッションID付きのリクエストを他のメンバー
# ワーカへ転送するか否かを定義。trueの場合は500エラーを返し、falseの場合
# は他のワーカへ転送する
worker.lb.sticky_session_force=true
# エラー状態のメンバーワーカを使用しない時間間隔を指定する。この値は
# worker.basic.maintainと関係する。worker.basic.maintainはリカバリ可能な
# ワーカがいるかをチェックする処理(=グローバルメンテナンス)の起動間隔を秒
# 単位で指定している。
# (推測するに worker.basic.maintain <= worker.lb.recover_time とすると、
#  復帰可能となったメンバーワーカを使用するまでのタイムラグが少ないよう
#  に思う。但し、パフォーマンスへの留意が必要。)
worker.lb.recover_time=10
# 負荷分散に加えるメンバーワーカを指定する。
# (複数のワーカを指定する場合はワーカ名をカンマ区切りで指定する。)
worker.lb.balance_workers=member1
# 負荷分散メンバーワーカの共通設定を定義します。
# (後に設定するworker.<member worker name>.reference の項目で
#  下記の設定を継承する。)
worker.basic.port=8009
worker.basic.type=ajp13
worker.basic.socket_keepalive=true
worker.basic.recovery_options=4
worker.basic.maintain=10
# JK-リモートホスト間通信チのソケットタイムアウト値の指定。リモー
# トホストがそのタイムアウト値以内にレスポンスしなかったらJKはエ
# ラーを起こし、リトライする。
worker.basic.socket_timeout=10
worker.basic.retries=2
# コネクションの確立後にウェブサーバがajp13上のリクエストにPINGを
# 送信する。このパラメータはPONGの応答を待つディレイ時間をミリ秒
# 単位で指定する。
worker.basic.connect_timeout=10000
# ウェブサーバはリクエストの転送前にajp13コネクション上のリクエス
# トにPINGを送信する。このパラメータはPONGの応答を待つディレイ時
# 間をミリ秒単位で指定します
worker.basic.prepost_timeout=10000
# Tomcatがハングもしくはプロセスキルの状態になった場合、別のクラ
# スタグループのTomcatにスイッチする。このパラメータはスイッチした
# かどうかを確認する前にウェブサーバが転送したリクエストの応答を
# 待つ時間をミリ秒単位で指定する。サーブレットを長時間稼動させる
# 際には慎重な調整が必要。
worker.basic.reply_timeout=10000
worker.basic.activation=A
# 負荷分散ワーカlb に加えるメンバーワーカを定義する。
worker.member1.host=127.0.0.1
# lb 用のメンバーワーカの共通項目をbasicから継承する設定。
worker.member1.reference=worker.basic
# lb 用メンバーワーカの対応するjvm_routeの値を指定します。
# (Tomcat側の server.xml 内に記載されている Engineタグのプロパティにある
#  jvmRoute の値と同じにする必要がある。メンバーワーカ1つに対して1つの
#  Tomcatサーバが対応するように値を設定する必要がある。)
worker.member1.route=0
# URIマップ
# lb 用のURIマップをbasicを使って定義します
# AIPO4
worker.lb.mount=/aipo/*

tomcat の server.xml を編集

これを編集すると動かないから server.xml は編集しなくてよい

###[root@develop src]# vim /usr/local/aipo/tomcat/conf/server.xml
###	変更前
###	    <!-- You should set jvmRoute to support load-balancing via JK/JK2 ie :
###	    <Engine name="Standalone" defaultHost="localhost" debug="0" jvmRoute="jvm1">
###	    -->
###
###	変更後(上下のコメント行を外して)
### 	   <Engine name="Standalone" defaultHost="localhost" debug="0" jvmRoute="0">
###

作業前に止めておいた aipo を開始する

[root@develop src]# /usr/local/aipo/bin/startup.sh

found temp directory

Starting Aipo Version 5.1.0.1

Aipo URL: http://xx.xx.xx.xx:81/aipo/

apache を再起動する

[root@develop src]# service httpd restart

以上です。

仕上げにファイアーウォールの設定で 81 番ポートを閉めておけば、よりスッキリします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください