インストールとセットアップ ============================ 環境など --------- :サーバ: さくらの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 自体のインストール。 .. code-block:: none # pkg install py27-virtualenv easy_install 用に CA 証明書インストール。 .. code-block:: none # pkg install ca_root_nss # ln -s /usr/local/share/certs/ca-root-nss.crt /etc/ssl/cert.pem venv という名前の環境を作成して、その環境に移行する。 .. code-block:: none $ virtualenv venv $ source venv/bin/activate BlueBream 環境セットアップのテスト ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BlueBream 環境を新規作成してセットアップしてみる。 基本的には不要だが、何かトラブルがあって原因切り分けの必要があったら 以下を実行する。 .. code-block:: none (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 のソースを展開してトップディレクトリに移動する。 たとえば、 .. code-block:: none (venv)$ svn export file:///svn/.../trunk jdc (venv)$ cd jdc そして buildout を実行する。 .. code-block:: none (venv)$ python bootstrap.py --setuptools (venv)$ ./bin/buildout 実環境用設定 ~~~~~~~~~~~~~~ virtualenv 環境から抜ける。 .. code-block:: none (venv)$ deactivate bin/paster を実環境用に修正。 .. code-block:: none #!/usr/local/bin/python <- 修正 ..snip.. '/.../venv/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg', <- トル Paste 関連を実環境にインストールする。 .. code-block:: none # pkg install py27-Paste # pkg install py27-PasteDeploy # pkg install py27-PasteScript JDC 実行環境の構築 --------------------- JDC が使用する python ライブラリをインストールする。 .. code-block:: none # 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 状態になったら正常。 .. code-block:: none # ./bin/paster serve debug.ini (Ctl-C) listen するポート番号は deploy.ini で指定する。 .. code-block:: none port = 8081 JDC をデーモンとして起動する場合は --daemon オプションを付ける。 デーモンを停止す場合は --stop-daemon を付ける。 .. code-block:: none # ./bin/paster serve deploy.ini --daemon # ./bin/paster serve --stop-daemon Apache httpd の設定 --------------------- Apache にリバースプロキシさせる場合、 JDCに正しいURLを通知するための設定が必要である。 たとえば JDC のトップページの URL が http://www.emaita.jp/jdc/ の場合、 Apache の設定ファイルに以下のように記述する。 .. code-block:: none ProxyPass /jdc/ http://localhost:8081/++vh++http:www.emaita.jp:80/jdc/++/ ProxyPassReverse /jdc/ http://localhost:8081/