JDC 引っ越し

玉突き的にサーバ引っ越し中。空き家になったサーバに FreeBSD 10.1 を 改めてクリーンインストールして、ウェブアプリ系を移動させる。

JDC が動かないと始まらないのでまずそれから。

最大の難点は distribute/setuptools の開発状況の混乱で、 ネットの状況によると現在は setuptools に統合されているらしい。 そこで setuptools を使うことにしたのだが、生憎 ports/pkg に 収録されているバージョンが 5.5.1 とかなり古く、 これを使用すると buildout かなんかのバージョンチェックに通らなかった。 ports/pkg の setuptools は libxml2 などと依存関係にあるので setuptools だけ最新版を入れるというのも混乱の元になるから避けることとし、 一方 virtualenv では比較的新しいバージョン 12 がインストールされることから、

  • bluebream 環境の構築は virtualenv 環境下で実施

  • JDC は直にサーバ環境で実行

することに。

BlueBream 環境の構築

手順。

  • virtualenv 環境作成

  • 素の BlueBream プロジェクトで buildout の確認

  • JDC で buildout 実行

  • 設定等を実環境用に修正

virtualenv 環境作成

virtualenv インストール。

# pkg install py27-setuptools
# pkg install py27-virtualenv

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

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

隔離環境を作成して切り替え。

$ virtualenv venv
$ source venv/activate

BlueBream buildout 確認

(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 で buildout 実行

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

注釈

openpyxl はメジャーバージョンが上がっていた (1 -> 2) ので、 新バージョンでも動くか後で確認する。

JDC 起動テスト。

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

Apache httpd の設定

リバースプロキシ、および、JDCに正しいURLを通知する設定を加える。 例えば、

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

メモ

画像ファイルをアップロードする時にエラーが出ることに気付いた。 後で調べる。