VPSにAipo7を導入した
この記事はklis Advent Calendarの4日目(12/18で2本目)の記事です。
はじめまして。かみかみです。
まったくもってお前誰だという感じだと思いますので自己紹介します。 かみかみです。普通のklis14です。以上です。
さて、故あって先日Aipoというグループウェアのインストールをすることになり、それが意外と手間だったのでブログ記事にしようと思い立ち、下書き状態で放置していた記事をついでにklis Advent Calendarの一つにしてしまえと思った次第です。
Aipoとは
共有Todoやスケジュール管理といった機能を持つグループウェアです。www.aipo.comで利用できるクラウド版と、free.aipo.comで配布されているオープンソース版があります。後者はgithubでAGPLv3で公開されているので原理主義者の方でも安心して使えるのではないでしょうか。 別にクラウド版でもよかったのですが無料プランだとTodoが使えないみたいだったのでオープンソース版を導入しました。
基本的な手順
今回はCentOS6.5上にAipo7.0.2.0をインストールしました。基本的な手順はこのページにある通り、
yum install -y make gcc readline-devel zlib-devel nmap wget https://code.google.com/p/aipo/downloads/detail?name=aipo7020ja_linux64.tar.gz tar -xvzf aipo7020aja_linux32.tar.gz tar -xvzf aipo7000/aipo7000.tar.gz cp ~/aipo7020aja_linux/aipo /usr/local/ cd /usr/local/aipo/bin/ sh installer.sh (インストール後) ./startup.sh で起動 ./shutdown.sh で終了
で基本的にはOKですが、自分の環境ではすんなりとはいきませんでした。
インストール前にする設定
/usr/local/aipo/bin/ に install.confという意味深なファイルがありますね。installer.shを実行する前に編集しておきしましょう。
netitf=eth0 dest_str=linux check_pass=false enc_str=utf8 def_addr=127.0.0.1
自分の場合OpenVZのVPSだったためnetitfをeth0ではなくvenet0に変更しました。def_addrは変更なしでも問題なく動いていますが変更してもいいかも知れません。
インストール後にする設定
installer.shを実行するとゴリゴリmakeが走った後
... ==Aipo7.0.2.0インストール終了== user:aipo_postgres1 pass:XXXX directory:/usr/local/aipo/postgres port:5432 Aipo URL: http://127.0.0.1:80/aipo/
のように出力されインストールが終了します。 が、サーバーに次のようなソフトが入っていた場合、競合を解決する必要がある場合があります。
- Apache(などHTTPサーバー全般)
- PostgreSQL
- Tomcat
Apacheとの連携
自分の環境では既に動いているApacheがあるにも拘らず正常に検知されず上記のようなインストール結果となったのでポート80が競合してしまいました。 解決法としては、
があります。今回は後者の方法を用いました。 まず/usr/local/aipo/tomcat/conf/server.conf の92行目付近の、
<!-- Define an AJP 1.3 Connector on port 8009 --> <!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> --
のコメントアウトを外します。既に動いているTomcatがあれば適宜変更して下さい。 続いて /etc/httpd/conf/httpd.conf に以下の内容を追記します。
<Location /aipo/> ProxyPass ajp://localhost:8009/aipo/ </Location>
これで http://hostname/aipo/ からアクセスすることが可能となります。
PostgreSQLの競合解決
トップページにアクセスしようとして「セッションがタイムアウトしました。 」という画面が表示される場合、PostgreSQLへの接続に失敗している場合があります。 ポートが競合している場合
- /usr/local/aipo/postgres/data/postgresql.conf の63行目
- /usr/local/aipo/bin/startup.sh の5行目
- /usr/local/aipo/tomcat/webapps/ROOT/WEB-INF/datasource/dbcp-org001. properties の21行目
- /usr/local/aipo/tomcat/webapps/aipo/datasource/dbcp-org001. properties の21行目
を変更することでAipoの持つPostgreSQLのポートを変更できます。
Tomcatとの競合解決
システムでTomcatが既に実行されている状態でAipoを起動すると、それまで起動していたTomcatに接続できなくなります。逆もまた然り。 /usr/local/aipo/bin/startup.sh の6行目以降に
export CATALINA_BASE=$AIPO_HOME/tomcat export CATALINA_HOME=$AIPO_HOME/tomcat export CATALINA_TMPDIR=$AIPO_HOME/tomcat/temp export CLASSPATH=$AIPO_HOME/tomcat/bin/bootstrap.jar export JRE_HOME=$AIPO_HOME/jre
を書き足せばOKです。
自動起動の設定
init.dスクリプトやcronを使って自動起動する際は、/etc/sudoers の
Defaults requiretty
をコメントアウトする必要があります。
自分が行った手順は以上で終わりとなります。