インストールとセットアップ

環境など

サーバ:さくらのVPS
OS:FreeBSD 10.1-RELEASE-p9
検証日:2015-04-10

OS の状態は、基本設定(ネットワーク等)を行い、 bash と vim を pkg から インストールした状態とする。

FreeBSD 特有の問題として、python の setuptools は、 pkg に収録されているバージョンが 5.5.1 とかなり古いことが 厄介である。 ウェブフレームワークのインストールには比較的新しいバージョンが必要である 一方で、pkg の setuptools は libxml2 などと依存関係にあるので、 単純に setuptools を新しいバージョンに入れ替えるというのも 混乱を生じそうで避けたい。

そこでここでは、virtualenv 環境下で比較的新しい setuptools で フレームワークのセットアップを実行し、JDC の実行は実環境で行うこととする。

フレームワークのセットアップ

JDC ではフレームワークとして BlueBream を使用している。

virtualenv 環境作成

virtualenv 自体のインストール。

# pkg install py27-virtualenv

easy_install 用に CA 証明書インストール。

# pkg install ca_root_nss
# ln -s /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem

venv という名前の環境を作成して、その環境に移行する。

$ virtualenv venv
$ source venv/bin/activate

BlueBream 環境セットアップのテスト

BlueBream 環境を新規作成してセットアップしてみる。

基本的には不要だが、何かトラブルがあって原因切り分けの必要があったら 以下を実行する。

(venv)$ easy_install bluebream
(venv)$ paster create -t bluebream test
(venv)$ cd test
(venv)$ python bootstrap.py --setuptools
(venv)$ ./bin/buildout
(venv)$ ./bin/paster serve debug.ini
(Ctl-C)

BlueBream のコアが立ち上がって listen 状態になったら OK。

JDC に BlueBream環境をセットアップ

JDC のソースを展開してトップディレクトリに移動する。 たとえば、

(venv)$ svn export file:///svn/.../trunk jdc
(venv)$ cd jdc

そして buildout を実行する。

(venv)$ python bootstrap.py --setuptools
(venv)$ ./bin/buildout

実環境用設定

virtualenv 環境から抜ける。

(venv)$ deactivate

bin/paster を実環境用に修正。

#!/usr/local/bin/python     <- 修正
..snip..
  '/.../venv/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg',  <- トル

Paste 関連を実環境にインストールする。

# pkg install py27-Paste
# pkg install py27-PasteDeploy
# pkg install py27-PasteScript

JDC 実行環境の構築

JDC が使用する python ライブラリをインストールする。

# pkg install py27-libxml2
# pkg install py27-libxslt
# pkg install py27-imaging
# pkg install py27-dateutil
# pkg install py27-xlrd
# pkg install py27-openpyxl

JDC の起動テスト。 listen 状態になったら正常。

# ./bin/paster serve debug.ini
(Ctl-C)

listen するポート番号は deploy.ini で指定する。

port = 8081

JDC をデーモンとして起動する場合は –daemon オプションを付ける。 デーモンを停止す場合は –stop-daemon を付ける。

# ./bin/paster serve deploy.ini --daemon
# ./bin/paster serve --stop-daemon

Apache httpd の設定

Apache にリバースプロキシさせる場合、 JDCに正しいURLを通知するための設定が必要である。

たとえば JDC のトップページの URL が http://www.emaita.jp/jdc/ の場合、 Apache の設定ファイルに以下のように記述する。

ProxyPass /jdc/ http://localhost:8081/++vh++http:www.emaita.jp:80/jdc/++/
ProxyPassReverse /jdc/ http://localhost:8081/