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バインディングは次の通りです。
- PostgreSQL : psycopgバージョン1
- MySQL : MySQLdb
- SQLite3 : pysqlite2.0.3以降
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_1〜TAG_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 flupdjango.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 --daemonhttp://host/WorkStyle/でWorkStyleが表示されれば、インストールは完了です。