単機能コードスニペットツール「Danpen」をapache + mod_wsgiで動かす
いくつか、Gistみたいなソースコードのスニペットツールをインストールして動かしてみました。
PasteBinやGistみたいなコードスニペット「stikked」をインストール
GistクローンのMemocurialをDebianで動かす
GistクローンのHesoをDebianで動かす
もっと簡単にスニペットを管理したかったので、自分で「Danpen(断片)」という
スニペットツールを作ってみました。
https://bitbucket.org/symfo/danpen
特徴は
・データベース未使用
・依存ライブラリ(Bottle)を同梱
・とにかく簡単、お手軽に!
見た目はHesoに近い感じになっているかと思います。
使用しているフレームワークなどは、以下のとおり。
Bottole
bootstrap
CodeMirror
これらのフレームワークの簡単な使用サンプルという感じで見ていただければと思います。
インストールと使い方
必要なものをzip圧縮して登録します。
https://bitbucket.org/symfo/danpen/downloads
※ちなみにPythonでできているので、Pythonのインストールは必須です。
解凍したフォルダに移動し、以下のコマンドを実行。
$ python index.py
8080ポートで起動します。
ブラウザで、http://localhost:8080/を表示すると登録画面が表示されるはずです。
タイトルを入力し、言語を選択。
スニペットの内容を記入し、画面下の「Create Danpen」をクリック。
登録出来ました。
内容の変更や、削除が可能です。
画面上のAll Pasteを選択すると、登録しているスニペットの一覧が表示されます。
登録したスニペットは、アプリケーションフォルダのvarにテキストで保存されます。
Apache + mod_wsdiでの動作
mod_wsgiで動作させる場合の例です。
今回は、Debianで/opt/danpenにファイルを配置し、動かしてみます。
まず、apacheはインストール済として、mod_wsgiをインストールします。
# apt-get install libapache2-mod-wsgi
zipファイルをダウンロードし、解凍。
内容を/opt/danpenに移動します。
# cd /usr/local/src
# wget https://bitbucket.org/symfo/danpen/downloads/danpen.0.1.zip
# unzip danpen.0.1.zip
# mv danpen /opt/
/opt/danpen/varにデータを保存するので、www-dataに書きこみ権限を与えます。
# chown -R www-data /opt/danpen/var
apacheの設定ファイルに、wsgiの情報を記載します。
# vi /etc/apache2/sites-available/default
追加する内容は以下のとおり。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
(略)
### 以下を追記
WSGIDaemonProcess danpen user=www-data group=www-data processes=1 threads=5
WSGIScriptAlias /danpen /opt/danpen/adapter.wsgi
<Directory /opt/danpen>
WSGIProcessGroup danpen
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
(略)
編集がおわったら、apacheを再起動します。
# /etc/init.d/apache2 restart
http://www.example.com/danpen/にアクセスすると、登録画面が表示されると思います。
デモが以下のURLで参照できます。
http://dkdc.dip.jp/danpen/
余談ですが、このサーバーは以前の記事
無料のVPSサーバー「HOST1FREE」の申し込みとssh接続
ここで登録したサーバーです。
無料のvpsでもこの程度のアプリケーションならそれなりに動いてくれるようです。
【参考URL】
Tutorial: Todo-List Application
http://bottlepy.org/docs/dev/tutorial_app.html
- 関連記事
-
- Pythonでリスト、ディクショナリーの便利なループ方法(enumerate,iteritems,zip)
- Windows + Python 64bit版でPython Imaging Library (PIL)を使用する
- 単機能コードスニペットツール「Danpen」をapache + mod_wsgiで動かす
- Apache + mod_wsgiでBottleフレームワークのアプリケーションを動かす
- PythonのBottleフレームワークで静的ファイルのリンク生成
コメント