2011年4月24日日曜日

UbuntuにAipo6をinstall

UbuntuにAipo6をインストール
付属のインストールスクリプトは見ておく。
付属のインストールスクリプトは使用しない。

インストール対象は 仮想マシン上のUbuntu 10.04
JREやTomcatから始める


このインストール方法のメリット

その1
Apache/PHP/MySQLが動作しているサーバーにインストールできる
Wordpressなどと一緒のサーバーにインストールできるので、電気代などがお得

その2
ポート番号80からアクセスできる
セキュリティの関係でポート番号80は許可されているが、ポート番号81は許可されてないということがある

その3
64bit環境にもインストールできる
Aipo付属のJREは32bit版なので、64bit環境にインストールしようとするとTomcatが起動できなくて失敗する
しかし、インストーラーに頼らない方法なら、64bit環境にもインストールできる

その4
Aipoが自動起動できる。
apt-getしていれたtomcatが自動起動になるはずなので、Aipoの自動起動スクリプトを用意しなくてもよい。


このインストール方法のデメリット
インストールが面倒



Tomcat6準備


必要なパッケージを入れる

JRE
$ sudo apt-get -y install openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib

Tomcat6
$ sudo apt-get -y install tomcat6
$ sudo apt-get -y install tomcat6-admin tomcat6-examples tomcat6-docs

$ sudo vi /etc/default/tomcat6

# 修正前
#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk
# 修正後
JAVA_HOME=/usr/lib/jvm/java-6-openjdk

tomcat-users.xmlの編集
$ sudo vi /etc/tomcat6/tomcat-users.xml

コメントアウトされているtomcat-usersを有効にする

以下追記

<role rolename="admin"/>
<role rolename="manager"/>
<user username="admin" password="admin" roles="admin,manager"/>

Apache2

$ sudo apt-get -y install apache2

proxy proxy_ajpの有効化
$ sudo a2enmod proxy
$ sudo a2enmod proxy_ajp

以下のファイルを作成する
$ sudo vi /etc/apache2/conf.d/tomcat


<Location /aipo/>
ProxyPass ajp://localhost:8009/aipo/
Order allow,deny
Allow from All
</Location>

$ sudo vi /etc/tomcat6/server.xml

以下のようにコメントアウトされている部分を探す


<!--
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-->

以下のようにコメントアウトを解除する

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


PostgresSQLの準備


(04) PostgresSQLのインストール
$ sudo apt-get -y install postgresql
$ sudo apt-get -y install pgadmin3

ユーザーpostgresのパスワードを設定する
$ sudo passwd postgres
password

認証ユーザーの追加
$ sudo vi /etc/postgresql/8.4/main/pg_hba.conf

local all postgres,aipo_postgres ident

変更したら再起動する
$ sudo /etc/init.d/postgresql-8.4 restart


PostgresSQLの設定


unixユーザーを作る
$ sudo useradd aipo_postgres

postgresqlユーザー aipo_postgresの作成
$ sudo -u postgres createuser aipo_postgres
新しいロールをスーパーユーザとしますか? (y/n) y

postgresqlユーザーにパスワードを設定する準備
$ sudo -u postgres psql template1

postgresqlユーザー aipo_postgresにパスワード設定
template1=# alter user aipo_postgres with password 'aipo';
(パスワードはaipoにした)

postgresqlユーザー postgresパスワード設定
template1=# alter user postgres with password 'postgres_db_pass';
(パスワードはpostgres_db_passにした)

抜ける
template1=# \q


データーベース作成
$ sudo -u postgres createdb org001 --owner=aipo_postgres

現在、作成済みデーターベースを確認
$ sudo -u aipo_postgres psql -l
qで抜ける

$ sudo service tomcat6 restart
$ sudo service apache2 restart
ここでtomcat,apache2,postgresqlが正常にインストール出来たか確認しておく


Aipo6の準備


Aipo6の解凍
$ tar zxvf aipo6000ja_linux.tar.gz
$ tar zxvf aipo6000.tar.gz

ツールを配置
$ sudo cp aipo/src/postgresql-8.4-702.jdbc4.jar /usr/share/tomcat6/lib/
$ sudo cp aipo/src/tools.jar /usr/share/tomcat6/lib/

Aipo6本体を Tomcatに追加
$ sudo cp -R aipo/src/webapps/aipo /var/lib/tomcat6/webapps/
$ sudo cp -R aipo/src/webapps/ROOT/* /var/lib/tomcat6/webapps/ROOT/
$ sudo cp -rf aipo/src/initdata/psml /var/lib/tomcat6/webapps/aipo/WEB-INF
$ sudo cp -rf aipo/src/initdata/files /var/lib/tomcat6/webapps/aipo/WEB-INF
$ sudo cp -rf aipo/src/initdata/mail /var/lib/tomcat6/webapps/aipo/WEB-INF


Aipo6の設定


データベース初期化とデータ登録


#ファイル書き換え

設定ファイル書き換え

$ sudo sed -i "s/cayenne.dbcp.username=postgres/cayenne.dbcp.username=aipo_postgres/g" /var/lib/tomcat6/webapps/aipo/WEB-INF/datasource/dbcp-org001.properties
2行に見えても、ターミナルからの入力は1行でする


$ sudo sed -i "s/cayenne.dbcp.username=postgres/cayenne.dbcp.username=aipo_postgres/g" /var/lib/tomcat6/webapps/ROOT/WEB-INF/datasource/dbcp-org001.properties
2行に見えても、ターミナルからの入力は1行でする


$ sudo sed -i "s/aipo.webappserver.port=8080/aipo.webappserver.port=80/g" /var/lib/tomcat6/webapps/aipo/WEB-INF/conf/AipoResources.properties
2行に見えても、ターミナルからの入力は1行でする

db初期化

$ sudo -u aipo_postgres /usr/bin/psql -U aipo_postgres -d org001 -p 5432 -f aipo/src/initdata/sql/org001.sql
2行に見えても、ターミナルからの入力は1行でする

サンプルデータ挿入

$ sudo -u aipo_postgres /usr/bin/psql -U aipo_postgres -d org001 -p 5432 -f aipo/src/initdata/sql/sample.sql
2行に見えても、ターミナルからの入力は1行でする

port番号挿入

$ sudo -u aipo_postgres /usr/bin/psql -U aipo_postgres -d org001 -p 5432 -c "UPDATE EIP_M_COMPANY SET PORT_INTERNAL=80"
2行に見えても、ターミナルからの入力は1行でする

ユーザー無制限

$ sudo -u aipo_postgres /usr/bin/psql -U aipo_postgres -d org001 -p 5432 -c "UPDATE AIPO_LICENSE SET LIMIT_USERS=0"
2行に見えても、ターミナルからの入力は1行でする

Aipo6関連ファイルの所有権を全て Tomcat6 に変更
$ sudo chown -R tomcat6:tomcat6 /var/lib/tomcat6/webapps/aipo

Aipo6にアクセステスト
http://127.0.0.1:80/aipo/portal
http:localhost/aipo/portal


セキュリティキーの作成


rootになる
$ sudo su -

セキュリティキーの作成スクリプトを作成
$ vi TokenKey.sh


#!/bin/sh
#securityTokenKey作成
seed="0123456789abcdefghijklmnopqrstuvwxyz"
key=""
count=0
while [ $count -lt 128 ]; do
        ran=`expr $RANDOM % 36 + 1`
        char=`expr substr $seed $ran 1`
        key=$key$char
        count=`expr $count + 1`
done
echo -n $key > /var/lib/tomcat6/webapps/aipo/WEB-INF/conf/securityTokenKey.txt
echo -n $key > /var/lib/tomcat6/webapps/ROOT/WEB-INF/classes/aipo/securityTokenKey.txt

変更前のファイルのバックアップを取る
# cp /var/lib/tomcat6/webapps/aipo/WEB-INF/conf/securityTokenKey.txt /var/lib/tomcat6/webapps/aipo/WEB-INF/conf/securityTokenKey.txt.backup

# cp /var/lib/tomcat6/webapps/ROOT/WEB-INF/classes/aipo/securityTokenKey.txt /var/lib/tomcat6/webapps/ROOT/WEB-INF/classes/aipo/securityTokenKey.txt.backup

スクリプト実行
# bash TokenKey.sh

その他


#############################
セ​ッ​シ​ョ​ン​が​タ​イ​ム​ア​ウ​ト​し​ま​し​た​。​
​ブ​ラ​ウ​ザ​が​切​り​替​わ​ら​な​い​場​合​は​、​再​読​み​込​み​を​お​願​い​い​た​し​ま​す​。​ ​
​t​i​m​e​o​u​t​
#############################

このエラーメッセージはデータベースへの認証に失敗した場合に出た。
パスワードのtypo

0 コメント: