AIPOのインストール
概要:オープンソースグループウェア 『アイポ』は、スケジュール管理機能、Webメール機能、ワークフロー機能のほか、ブログ、掲示板機能などを搭載した、無料で利用できるグループウェアである。グループウェアの基本機能であるスケジュール管理やワークフローだけでなく、Webメール、ブログ・SNSなどのグループのコミュニケーション機能を持っている。
現在運用しているシステムにAIPOのインストーラを使用して導入した場合、既存のTomcatの起動停止が出来なくなり、AIPOのアクセスにURLにポート番号を指定する必要がある。従って既存のTomactとPostgreSQL上にAIPOをインストールし、AIPOパッケージのインストーラにより別途インストールされるAIPO専用のTomcatとPostgreSQLをインストールしない。また、Disk容量の節約にもなる。
前提:
1. ユーザーの作成
PostgreSQL導入のDBオーナーユーザーの作成に従って、AIPO用のPostgreSQLのDBオーナーユーザーを作成する。
ユーザーにはDB用のパスワードを設定する。
2. AIPOのインストール
- ) ダウンロード
# cd /tmp/work
# wget http://jaist.dl.sourceforge.jp/aipo/45984/aipo5020ja_linux.tar.gz
最新は[ http://sourceforge.jp/projects/aipo/releases/ ]で確認する。
- ) ファイルの解凍
# tar zxvf aipo5020ja_linux.tar.gz
# cd aipo5020ja_linux
# tar zxvf aipo5020.tar.gz
# mv aipo /usr/local/
- ) インストールシェルの置き換え
/usr/local/aipo/bin/utf8/installer.sh
を添付のインストールシェルに置き換える。
添付インストールシェルの下記をシステムに応じて修正する。各自の責任の元使用してください。
- postgres_user="xxxxxxxx" ← 上記で作成したAIPO用のユーザー名
- postgres_admin="postgres" ← PostgreSQLインストール時のユーザー名
- pass="xxxxxxxx" ← 上記で作成したAIPO用のユーザーのDBパスワード
このシェルの主な変更点は
- PosgreSQL用のユーザーの作成の削除 ← 上記「1. ユーザーの作成」でマニュアルで作成する必要があるため。
- コンパイルに必要なパッケージのチェックの削除
注:readline-develとzlib-develはAIPOの動作には不要。
- PostgreSQLとTomcatのポート計算の削除
- PostgreSQLのインストールの削除
- jreファイル解凍の削除
- Tomcatのインストールの削除
- tool.jarのインストールの削除 ← 既存のものを使用。
- pg_hba.conf書き換えの削除 ← 後でマニュアルで変更するため。
- タイムゾーンの設定の削除 ← 既存でCentOS導入時に設定済。
- PostgreSQL停止の削除
- 環境変数の変更
- コピー先ディレクトリーの変更
環境変数とコピー先ディレクトリーは既存の環境に合わせて変更した。
- ) AIPOのインストール
# cd /usr/local/aipo/bin
# sh installer.sh
注:sh ./installer.shのように「./」を付けたりして実行しない。
注:db初期化でaipo_db_sql.dumpの13、3730、3731、3732、3733行目で以下のようなERRORとWARNING
が出るがどれもスキーマpublicに対する処理で、変更内容が既存の値と同じ値なので問題ない。
psql:/usr/local/aipo/backup/postgresql/sample_dump/aipo_db_sql.dump:13: ERROR: must be ow
ner of schema public
psql:/usr/local/aipo/backup/postgresql/sample_dump/aipo_db_sql.dump:3730: WARNING: no pri
vileges could be revoked
psql:/usr/local/aipo/backup/postgresql/sample_dump/aipo_db_sql.dump:3731: WARNING: no pri
vileges could be revoked
psql:/usr/local/aipo/backup/postgresql/sample_dump/aipo_db_sql.dump:3732: WARNING: no pri
vileges were granted
psql:/usr/local/aipo/backup/postgresql/sample_dump/aipo_db_sql.dump:3733: WARNING: no pri
vileges were granted
注:/usr/local/aipo/binの下に作成される startup.sh、shutdown.shは使えない。PostgreSQLおよびTomcatの起動・停止は既存の方法で行う。
3. PostgreSQLの設定
TomcatからJDBCを使用してAIPO用のユーザーでパスワードを使用してログインできるようにpg_hba.confを編集する。
# vi /var/lib/pgsql/data/pg_hba.conf
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host org001 AIPOユーザー名 127.0.0.1/32 password crypt ← ここに追加
host all all 127.0.0.1/32 ident sameuser
# IPv6 local connections:
host all all ::1/128 ident sameuser
# /etc/init.d/postgresql reload ← PostgreSQLの設定を読み直す。
4. proxy_ajp.confの設定
URLにポート番号8080を指定せずにAIPOにアクセスするためにproxy_ajp.confを編集する。ApacheとTomcatの連携参照。
# vi /etc/httpd/conf.d/proxy_ajp.conf ← proxy_ajp.conf編集
以下を最終行へ追加する。
ProxyPass /aipo/ ajp://localhost:8009/aipo/
# /etc/rc.d/init.d/httpd restart ← Apache再起動
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
5. Tomcatの設定
Tomcatの起動時にcatalina.shで読み込まれる環境設定シェルを作成する。
# vi /usr/local/tomcat/bin/setenv.sh
#!/bin/sh
# -----------------------------------------------------------------------------
# Setting Environment for CATALINA Server
#
# $Id: setenv.sh 2010-04-29 21:06:00 K.Yamasaki $
# -----------------------------------------------------------------------------
# -server : Run as Server VM
# -Xmx : Max memory
# -Xms : Initial Memory
# -Xss : Thread stack size
# -Djava.awt.headless=true : Servlet processes image data
CATALINA_OPTS="-server -Xmx256M -Xms64M -Xss256k -Djava.awt.headless=true"
# chmod +x setenv.sh
# /etc/rc.d/init.d/tomcat restart ← Tomcat再起動
6. シェルスクリプトの修正
/usr/local/aipo/binの下に作成されるDBバックアップ・リストア用のbackup_handler.sh、restore_handler.shのシェルを修正する。
7. 不要ファイルの削除
# rm -f /tmp/work/aipo5020ja_linux.tar.gz
# rm -rf /tmp/work/aipo5020ja_linux
# rm -rf /usr/local/aipo/src
8. アンインストール
ここでは、上記方法でインストールした場合のアンインストールについて説明する。内容は上記の作業及びインストールシェルが行っていることを元に戻すことである。
- ) DBのDrop
# su - ユーザー名
$ dropdb org001
- ) AIPO用ユーザーのDB及びシステムからの削除
# su - postgres
$ psql
postgres=# dropuser ユーザー名
postgres=# \q
$ su -
# userdel ユーザー名
- ) インストールディレクトリーからAIPOの削除。
# rm -rf /user/local/aipo
- ) Apacheの設定を戻す
# vi proxy_ajp.conf ← 編集。
ProxyPass /aipo/ ajp://localhost:8009/aipo/ ← 削除する。
# /etc/rc.d/init.d/httpd restart ← Apache再起動
- ) PostgreSQLの設定を戻す
# vi /var/lib/pgsql/data/pg_hba.conf ← pg_hba.confを編集。
host org001 AIPOユーザー名 127.0.0.1/32 password crypt ← 削除。
# /etc/rc.d/init.d/postgresql reload ← PostgreSQLの設定の再読込み。
- ) TomcatのディレクトリーからAIPOの削除
# rm -rf /usr/local/tomcat/webapps/aipo
- ) Tomcatのライブラリーからの削除
# rm /usr/local/tomcat/common/lib/postgresql-8.1-407.jdbc3.jar
- ) Tomcatの設定を戻す
# rm /usr/local/tomcat/bin/setenv.sh ← setenv.shを削除する。
# vi /usr/local/tomcat/conf/server.xml ← 編集。
<!--Listener className="org.apache.catalina.core.AprLifecycleListener" /-->
↓ ← コメントアウトを外す。
<Listener className="org.apache.catalina.core.AprLifecycleListener" />
# vi /usr/local/tomcat/conf/catalina.properties ← 編集。
最終行のuser.timezone=Asia/Tokyoを削除する。
# /etc/rc.d/init.d/tomcat restart ← Tomcat再起動