内容が古くなっている可能性がありますのでご注意下さい。
マイクロソフトのクラウドプラットフォームAzureに、防災科学技術研究所が開発したオープンソース(GPLライセンス)のWebマッピングシステムeコミマップをインストールしてみました。
CentOSのインストールと設定
Azureでは、Windows Serverをはじめとして様々なOSを利用できますが、今回はeコミマップの推奨環境でもあるCentOSを使用します。
エンドポイントは、
- リモートで作業するためのSSH(ポート22)
- eコミマップを公開するためのHTTP(ポート80)
- eコミマップのモジュールをアップロードするためのFTP(ポート21)
- FTPのパッシブモードで使用するためのポート(任意。ここでは12000と12001)
を設定します。
ここからはSSHで作業します。
root権限の必要な作業をする際に毎回sudoするのは面倒ですので、はじめにrootのパスワードを設定してsuできるようにします。
$ sudo passwd root
このままでは、SSHでrootにログインできますので、/etc/ssh/sshd_configファイルの
#PermitRootLogin yes
となっている箇所を
PermitRootLogin no
に変更し、rootのログインを不許可にして
# service sshd restart
sshdを再起動します。
HTTP/FTPサーバのインストール
AzureのCentOS環境には、初期状態ではHTTPサーバもFTPサーバもインストールされていません。HTTPサーバはeコミマップで、FTPサーバはeコミマップのモジュールのアップロードに使用しますので、yumでインストールします。
# yum install httpd # yum install vsftpd
FTPサーバはパッシブモードで動作するよう設定します。/etc/vsftpd/vsftpd.confファイルに以下の記述を追加します。
pasv_enable=YES pasv_min_port=12000 pasv_max_port=12001 pasv_address=■■■■■.cloudapp.net pasv_addr_resolve=YES
ポート番号(ここでは12000と12001)は任意ですが、エンドポイントの設定と合わせる必要があります。pasv_addressにはサーバのFQDNを設定します。また、
anonymous_enable=YES
となっている箇所は
anonymous_enable=NO
に修正し、匿名ログインは無効にしておきます。
HTTPサーバとFTPサーバは自動起動するよう設定しておきます。
# chkconfig httpd on # chkconfig vsftpd on
後は、ほぼインストール手順書通りの作業になります。
ネットワークの設定
まずはネットワーク関係の設定をします。
/etc/hostsファイルにサーバのFQDNを追加します。
127.0.0.1 ■■■■■.cloudapp.net
HOSTNAME環境変数にサーバのFQDNを設定します。
# export HOSTNAME=■■■■■.cloudapp.net
再起動後もFQDNが設定されるよう、/etc/sysconfig/networkファイルに追加します。
HOSTNAME=■■■■■.cloudapp.net
次に、SELinuxを無効化します。
# setenforce 0
さらに/etc/selinux/configファイルの
SELINUX=enforcing
となっている箇所を
SELINUX=disabled
と変更し、再起動後もSELinuxが無効になるようにしておきます。
モジュールのアップロード
ここで
# service vsftpd start
FTPサーバを起動し、eコミマップのサイトからダウンロードしたインストールパッケージ(ecommap-package-2.3.0_20140205.zip)とミドルウェア(ecommap-files-2.3.0.zip)をサーバにアップロードしておきます。
PostgreSQLのインストール
はじめに、PostgreSQLのインストールに使用するyumリポジトリを登録します。
# wget http://yum.postgresql.org/9.1/redhat/rhel-6-x86_64/pgdg-centos91-9.1-4.noarch.rpm # rpm -ivh pgdg-centos91-9.1-4.noarch.rpm
つぎに、アップロードしておいたeコミマップのインストールパッケージを使用してPostgreSQLをインストールします。
# unzip ecommap-package-2.3.0_20140205.zip # cd ecommap-package-2.3.0/server # tar xvfz redhat-el6.tar.gz # cd redhat-el6 # sh install_yum_postgresql.sh
インストール後、/var/lib/pgsql/9.1/data/postgresql.confファイルで
#listen_addresses = 'localhost' #port = 5432 max_connections = 100
となっている箇所を
listen_addresses = 'localhost' port = 5432 max_connections = 256
に修正します。
Javaのインストール
アップロードしておいたeコミマップ用ミドルウェアのファイルを解凍します。
# unzip ecommap-files-2.3.0.zip
解凍してできたrpmパッケージでJava実行環境をインストールします。
# rpm -ivh java/jre-7u51-linux-x64.rpm
さらに、Javaコマンドのシンボリックリンクを書き換えます。
mv /usr/bin/java /usr/bin/java.bak ln –s /usr/java/default/bin/java /usr/bin/java
こうしないと、CentOSに元々入っていたOpenJDKが動作してしまいます。
ミドルウェアのインストール
eコミマップ本体の前に、残りのミドルウェアをインストールします。まずはインストール先のディレクトリを作成します。
# mkdir /home/map # mkdir /home/map/webapps # mkdir /home/map/webapps/map
ecommap-files-2.3.0.zipを解凍してできたecommapディレクトリの中にあるの4つのファイル
- geoserver-2.3.5-bin.zip
- OpenLayers-2.13.1.tar.gz
- dojo-release-1.9.2.tar.gz
- IPAfont00303.zip
を/home/mapにコピーし、/home/mapで以下のコマンドを実行します。
# unzip geoserver-2.3.5-bin.zip # mv geoserver-2.3.5 geoserver # tar xvfz OpenLayers-2.13.1.tar.gz # mv OpenLayers-2.13.1 webapps/map/OpenLayers # tar xvfz dojo-release-1.9.2.tar.gz # mkdir webapps/map/js # mv dojo-release-1.9.2 webapps/map/js/dojo-1.9 # unzip IPAfont00303.zip # mkdir webapps/map/WEB-INF # mv IPAfont00303 webapps/map/WEB-INF/fonts
eコミマップ本体のインストール
さて、いよいよeコミマップ本体のインストールです。eコミマップのインストールパッケージを解凍してできたecommap-package-2.3.0ディレクトリにインストーラのファイルecommap-installer-2.3.0.tar.gzがあります。これを/home/mapにコピーし、解凍します。
# cp ecommap-installer-2.3.0.tar.gz /home/map # cd /home/map # tar xvfz ecommap-installer-2.3.0.tar.gz
最後にcommons-loggingを置き換えます。
# rm geoserver/lib/commons-logging-1.0.jar # cp geoserver/webapps/geoserver/WEB-INF/lib/commons-logging-1.1.1.jar geoserver/lib/
Webサーバの設定
/home/mapで以下のコマンド
# sh proxypass.sh ■■■■■.cloudapp.net >> /etc/httpd/conf.d/mod_proxy.conf
を実行し、
# service httpd start
Webサーバを起動します。
eコミマップ用データベースの作成
以下のコマンドを実行してeコミマップ用データベースを作成します。
# createdb -U postgres -E UTF-8 ecommap
インストール作業用eコミマップの起動
eコミマップのインストール作業の最終ステップは、ブラウザで行います。そのためのサーバを起動します。環境変数JAVA_HOMEを設定する必要があります。
# export JAVA_HOME=/usr/java/default # cd /home/map/geoserver/bin # sh startup.sh
サイトの設定
ブラウザで以下のURLに接続します。
■■■■■.cloudapp.net/map/install
以下のような画面が表示されれば成功です。
あとは、インストール手順書に従ってサイトの初期設定を行います。
初期設定が完了したら、eコミマップの自動起動を設定して完了です。
# cp /home/map/ecommap /etc/init.d # chkconfig ecommap on