WorkStyle (with django)

looking for English? see here

WorkStyleはGTDツールです。

TODOはタグ付けとステータスで管理されます。

使い方とインストールは簡単です。

サンドボックスがここにあります

必要な物

  • linuxかOSXかBSD (Windowsはまだ添付ファイルがうまく動作しません。そもそもどのOSでも日本語添付ファイル名は正しく動作しません。。)
  • python(version 2.3以降)
  • django0.91
  • djangoのサポートしているデータベース(PostgreSQL,SQLite3,MySQLのどれか)とそのデータベースを利用するためのPythonブリッジ。
  • 動作させるウェブサーバ(apacheとmod_fastcgi+fcgiかlighttpd+fcgi。apacheからlighttpdに転送してさらにfcgiへ転送するといった動作はまだ出来ません。テスト的に動作させるだけであれば、django付属のサーバで代替できます)

インストール方法

Python2.3以降、データベースとそのPythonバインディングのインストールついてはここでは説明しません。
各データベースで必要なPythonバインディングは次の通りです。

1.Django0.91とWorkStyle-django0.2.1のダウンロード

Djangoのプロジェクトページへ行き、Django0.91をダウンロードしてください。
WorkStyleのプロジェクトページへ行き、WorkStyle-django0.2.1をダウンロードしてください。

2.Djangoのインストール

django-0.91.tar.gzを展開して、setup.pyを実行してください。

 tar xzf django-0.91.tar.gz
 cd Django-0.91
 sudo python setup.py install

今後、このdjangoディレクトリをDJANGO_HOMEと記述します。

3.WorkStyleのインストールと設定

まずWorkStyle-0.2.1.zipを展開して、setup.pyを実行してください。

 unzip WorkStyle-0.2.1.zip
 cd WorkStyle-0.2.1
 sudo python setup.py install

今後、このWorkStyleディレクトリをWORKSTYLE_HOMEと記述します。

次に、WORKSTYLE_HOME/settings.pyを環境に合わせて編集します(utf-8で編集・保存してください)。

  • PostgreSQL/MySQLを使用する場合
    まずWorkStyleで使用するDBユーザとデータベースを作成してください(psql等の各データベース管理ツールを使用します)。
    その後、settings.pyの編集を行います。
    DATABASE_ENGINEにpostgresqlかmysqlを指定します。
    DATABASE_NAMEにデータベースに作成したデータベース名を指定します。
    DATABASE_USERにデータベースに作成したユーザを指定します。
    DATABASE_PASSWORDにデータベースへの接続パスワードを指定します。
    DATABASE_HOSTはデータベースが別のホストで稼働している場合にのみ対象のホストを指定します。
    DATABASE_PORTはデータベースのデフォルトポート以外で稼働させている場合のみ対象のポートを指定します
  • SQLite3を使用する場合
    DATABASE_ENGINEにsqlite3を指定します。
    DATABASE_NAMEにデータを保存したいファイル名をフルパスで記述します

データベースの種類に関わらない設定を続けて行います。
TIME_ZONEにはhttp://www.postgresql.org/docs/current/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLEに存在するタイムゾーンを指定します。日本の場合はJapanです。
LANGUAGE_CODEにはhttp://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodesに存在するコードを指定します。日本語の場合はjaです。
WORKSTYLE_BASE_DIRにはPythonのsite-packagesの下にあるWorkStyleのディレクトリを指定してください
TAG_TYPE_1TAG_TYPE_10はタグ種別の名前として使用されますので、適当な名前をつけてください。いつでも変更可能です。

ファイルアップロード用のディレクトリを作成します。
WORKSTYLE_ROOT/apps/workstyle/media/resourcesの直下にjunkというディレクトリを作成し、読み書きの権限を与えます。

4.WorkStyleのインストール

次のコマンドでDjangoフレームワークが使用するテーブルをデータベースに作成します。

  django-admin.py init --settings=WorkStyle.settings

次のコマンドでWorkStyleが使用するテーブルをデータベースに作成します。

  django-admin.py install workstyle --settings=WorkStyle.settings

次のコマンドでデータベースのINDEX作成用SQLが出力されますので、必要に応じてデータベースに適用してください。

  django-admin.py sqlindexes --settings=WorkStyle.settings

5.ここまでの確認

次のコマンドでdjangoの開発サーバが起動します(停止はCtl+c)。9000という数字は任意のポートに変更可能です。

  django-admin.py runserver 9000 --settings=WorkStyle.settings

ブラウザでhttp://host:9000/WorkStyle/を開いてみてください。apacheやlighttpdと連携させない場合はこれで終了です。

6.apache+mod_rewrite+mod_fastcgi+fastcgiの設定

5で起動した開発サーバはCtl+cで停止しておきます。
django-fcgi.pyをPATHの通った所に配置します。
Pythonが2.4以上でない場合はflupをインストールします。

svn co http://svn.saddi.com/flup/trunk flup
cd flup/
sudo python setup.py install
cd ..; sudo rm -rf flup

django.fcgiというファイルをドキュメントルート直下に作成します(django-fcgi.pyと名前が似ていますが別物です)。中身は空で構いません。

次にhttpd.confを編集します。
FastCgiExternalServerにはdjango.fcgiへのフルパスと、ホスト・ポートを指定します。
Servernameにはサーバ名を入力します。
ErrorLog,CustomLogは好きにしてください。無くても構いませんが。
Aliasにはresourcesディレクトリのフルパスを指定します。

FastCgiExternalServer PATH/django.fcgi -host 127.0.0.1:9000
	
<VirtualHost *:80>
    Servername django.loc
    ErrorLog /var/log/httpd/django-error.log
    CustomLog /var/log/httpd/django-access.log combined
    DocumentRoot /var/www/
    RewriteEngine On
    RewriteRule ^/WorkStyle/resources - [PT]
    RewriteRule ^/(WorkStyle.*)$ /django.fcgi/$1 [L]
    Alias /WorkStyle/resources "WORKSTYE_HOME/apps/workstyle/media/resources"
</VirtualHost>

django-fcgi.pyの一番上にpythonへのパスが記述されていますので、環境が違う場合は修正してください。
次のコマンドでfastcgiを起動し、apacheを再起動します(fastcgiを終了する場合はプロセスを直に終了してください。)。

django-fcgi.py --settings=WorkStyle.settings --host 127.0.0.1 --port 9000 --daemon

http://host/WorkStyle/でWorkStyleが表示されれば、インストールは完了です。

SourceForge.net Logo