CentOS6.6にAipo7.0.2の開発環境を構築する手順

CentOS6.6 64bit minimal インストール状態で 日本語化、ネットワークの設定、ユーザーの作成およびsudo権限設定が完了している状態からの環境構築手順となります。

事前準備

ネットワーク経由で各種ミドルウェアを取得するために必要となるコマンドのインストール、確認用のブラウザのインストール、Ecliseを使うためのGUI環境のインストールを行います。

# yum install -y wget 
# yum install -y unzip 
# yum install -y firefox 
# yum -y groupinstall "X Window System" 
# yum -y groupinstall "Desktop" 
# yum -y groupinstall "General Purpose Desktop" 
# yum -y groupinstall "Japanese Support"

JDK のインストール

Aipo7.0.2はJava6になります。

# yum install -y java-1.6.0-openjdk-devel 

環境変数に定義をします。

$ vi ~/.bash_profile 
export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64 
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin 
$ source ~/.bash_profile

Maven のインストール

Aipo7.0.2ではmaven2を使用しています。yumでインストール出来ないため、バイナリファイルを落としてパスを通します。

# wget http://archive.apache.org/dist/maven/binaries/apache-maven-2.2.1-bin.tar.gz 
# tar xvzf apache-maven-2.2.1-bin.tar.gz 
# mv apache-maven-2.2.1 /usr/share 
# ln -s /usr/share/apache-maven-2.2.1 /usr/share/maven 
$ vi ~/.bash_profile 
export MAVEN_HOME=/usr/share/maven 
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$MAVEN_HOME/bin
$ source ~/.bash_profile

PostgreSQL のインストール

Aipo7.0.2 ではPostgreSQL8.4を使用しています。

インストール後、postgresユーザーのパスワードを[aipo]に設定します。

# yum install -y postgresql-server 
# service postgresql initdb 
# service postgresql start 
# chkconfig postgresql on 
# su - postgres 
$ psql template1 
template1=# alter user postgres password 'aipo'; 
template1=# \q 
$ exit 

yumでインストールを行うと、Linuxユーザーとしてpostgresユーザーが作成されますが、認証はパスワード認証にしたいため、設定を変更して再起動します。

# vi /var/lib/pgsql/data/pg_hba.conf 
local all all ident 
↓ 
local all all password 

host all all 127.0.0.1/32 ident 
↓ 
host all all 127.0.0.1/32 password 

host all all ::1/128 ident 
↓ 
host all all ::1/128 password 
service postgresql restart 

Tomcat のインストール

Aipo7.0.2ではTomcat6を使用しています。

postgresql用のJDBCドライバをlibに配置しておきます。

Eclipseでclasspathのエラーを無くすため、いくつかのjarファイルに対してシンボリックリンクを貼っておきます。

# yum install -y tomcat6 
# wget https://jdbc.postgresql.org/download/postgresql-8.4-703.jdbc3.jar -P /usr/share/tomcat6/lib/ 
# ln -s /usr/share/tomcat6/lib/tomcat6-el-2.1-api-6.0.24.jar /usr/share/tomcat6/lib/el-api.jar 
# ln -s /usr/share/tomcat6/lib/tomcat6-jsp-2.1-api-6.0.24.jar /usr/share/tomcat6/lib/jsp-api.jar 
# ln -s /usr/share/tomcat6/lib/tomcat6-servlet-2.5-api-6.0.24.jar /usr/share/tomcat6/lib/servlet-api.jar 

Eclipse のインストール

Eclipse4.3をインストールします。yumだとバージョンが古いため、wgetで取得します。

# wget http://ftp.jaist.ac.jp/pub/eclipse/technology/epp/downloads/release/kepler/SR2/eclipse-jee-kepler-SR2-linux-gtk-x86_64.tar.gz 
# tar xvzf eclipse-jee-kepler-SR2-linux-gtk-x86_64.tar.gz 
# mv eclipse /usr/share 

pleiadesに含まれるプラグインを使いたいため、インストールしたEclipseに適用をします。

# wget http://ftp.jaist.ac.jp/pub/mergedoc/pleiades/4.3/pleiades-e4.3-java_20140321.zip 
# unzip pleiades-e4.3-java_20140321.zip 
# \cp -rf pleiades/eclipse/dropins/* /usr/share/eclipse/dropins/ 
# \cp -rf pleiades/eclipse/plugins/* /usr/share/eclipse/plugins/ 
# \cp -rf pleiades/eclipse/features/* /usr/share/eclipse/features/ 
# vi /usr/share/eclipse/eclipse.ini 
末尾に以下を追加 
-javaagent:dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar 

mavenリポジトリにパスを通します。

$ mvn eclipse:add-maven-repo -Declipse.workspace=~/workspace 

GUIを起動してEclipseの設定を行います。

$ startx 

Eclipseを起動して環境設定から以下の設定を行っておきます。

Tomcatバージョン バージョン6.x

Tomcatホーム /usr/share/tomcat6

Cayenne のインストール

DB構造の変更などでCayenneを使う場合はインストールします。

# wget http://archive.apache.org/dist/cayenne/cayenne-2.0.4.tar.gz 
# tar xvzf cayenne-2.0.4.tar.gz 
# mv cayenne-2.0.4 /usr/share 

プロジェクトの作成

過去アーカイブからソースコードを取得する場合に該当します。

Aipo7.0.2のソースコードを取得します。

$ mkdir aipo 
$ wget https://aipo.googlecode.com/files/aipo7020ja_src.zip 
$ unzip aipo7020ja_src.zip

Eclipseからインポートを行います。

アプリケーションのビルド

データベースを作成します。

$ createdb -E UTF8 -O postgres -U postgres org001 
$ psql -Upostgres -d org001 < ~/aipo/sql/postgres/org001.sql 

ビルドします。

$ cd aipo 
$ mvn install

デプロイします。

$ sudo cp ~/aipo/war/target/aipo.war /usr/share/tomcat6/webapps/ 
$ sudo service tomcat6 restart

作成したユーザーをtomcatのグループに追加することで、ここの手順はもう少し簡略化してtomcatの再起動だけで済むようになると思います。