blogmop タグの一覧です(2 件)

CentOS5.3にblogmopをセットアップする

blogmopはApache+Mod_pythonで動くのですが、Djangoを触ったことのない私にとってはMod_pythonのセッティングすら初めて。とりあえずぐぐってなんとかCentOSにてblogmopを動かすとこまでこぎ着けたので、忘れないようにメモっておきます。

Python2.6のインストール

Pythonのインストールに関してはこちらをご参照願います。
aoshiman.org : CentOS5.3にPython2.6をインストールする

Apacheのインストール

参考にしたサイトはこちら
Webサーバー構築(Apache) - CentOSで自宅サーバー構築
基本はこちらのとおりですが、今回、phpとphp-mbstringのインストールは必要ないです。 あとはDirectoryIndexにindex.pyを追加します。

Mod_pythonのインストール

参考にしたサイトは前回同様
CentOS5にpython2.6+Django+mod_python+色々の環境を整える - とはえ領域
まず、httpd-develのインストール
$ sudo yum -y install httpd-devel

Mod_pythonのページから最新版(現時点では3.3.1)をダウンロードする
Mod_python - Apache/Python Integration
$ wget http://ftp.riken.jp/net/apache/httpd/modpython/mod_python-3.3.1.tgz
$ tar xvzf mod_python-3.3.1.tgz
$ cd mod_python
$ ./configure --with-python=/usr/local/bin/python2.6 --with-apxs=/usr/sbin/apxs 
$ make
$ sudo make install
pythonのpathが違う場合は置き換えてください。

httpd.confにmod_pythonの記述をします。
$ sudo vi /etc/httpd/conf/httpd.conf
LoadModule python_module modules/mod_python.so

blogmopのインストール

こちらより最新版をチェックアウトします。 あとはblogmop/INSTALL.TXTを参考に進めていきます
/blogmop/libにあるblogmop.pyを/usr/local/lib/python2.6/site-packagesにコピーします。そして必要なディレクトリ(blog、blog/db)を作成し、dbのアクセス権は777にします。
$ sudo cp ~/blogmop/lib/blogmop.py /usr/local/lib/python2.6/site-packages
$ sudo mkdir /var/www/html/blog
$ sudo mkdir /var/www/html/blog/db
$ sudo chmod 777 /var/www/html/blog/db

blogmop.pyを実行します
$ python /usr/local/lib/python2.6/site-packages/blogmop.py /var/www/html/blog/db/blog.db

必要なresource群を/var/www/html/blogへコピーします。
$ sudo cp -R ~/blogmop/www/. /var/www/html/blog

httpd.confにblogmopのconfigを記述します。
$ sudo vi /etc/httpd/conf/httpd.conf
RewriteEngine on
# entry
RewriteRule ^/blog/(\d+)$ /blog/entry.py?eid=$1
# tag
RewriteCond %{QUERY_STRING} ^cat_name=(.+)$
RewriteRule ^/blog/tag/(.*)/$ /blog/tag.py?name=$1
RewriteRule ^/blog/tag/(.*)/(\d*)$ /blog/tag.py?name=$1&page=$2
# day
RewriteCond %{QUERY_STRING} ^year=(\d+)&month=(\d*)&day=(\d*)$
RewriteRule ^/blog/day/(\d+)-(\d*)-(\d*)$ /blog/day.py?ymd=$1-$2-$3
# month
RewriteCond %{QUERY_STRING} ^year=(\d+)&month=(\d*)$
RewriteRule ^/blog/month/(\d+)-(\d*)/$ /blog/month.py?ym=$1-$2
RewriteRule ^/blog/month/(\d+)-(\d*)/(\d*)$ /blog/month.py?ym=$1-$2&page=$3
# rss
RewriteRule ^/blog/rss$ /blog/api.py/rss
# mobile
RewriteRule ^/blog/m/$ /blog/index.py?for_mobile=t
RewriteRule ^/blog/m/(\d+)$ /blog/entry.py?eid=$1&for_mobile=t

<Directory "/var/www/html/blog">
    ErrorDocument 401 /blog/error.py?code=401
    ErrorDocument 403 /blog/error.py?code=403
    ErrorDocument 404 /blog/error.py?code=404
    ErrorDocument 500 /blog/error.py?code=500

    AddHandler mod_python .py
    PythonHandler mod_python.publisher 
    PythonDebug On

    PythonOption blog_root "/blog/"
    PythonOption blog_title "your blog title"
    PythonOption introduction "inroduction for your blog"
    PythonOption index_entries_counts 5
    PythonOption sub_li_counts 10
    PythonOption author "yourname"
    PythonOption lang "ja"
    PythonOption db_path "/var/www/html/blog/db/blog.db"
    PythonOption addon_dir "/var/www/html/blog/addon"
</Directory>

<Directory "/var/www/html/blog/db">
    Deny from all
</Directory>

<Directory "/var/www/html/blog/manage.py">
    AllowOverride AuthConfig
    AuthType Basic
    AuthName "Logging in required"
    AuthUserFile /path/to/basic/auth
    Require user yourname
</Directory>
尚、管理者ページ(manage.py)はベーシック認証をかけます。
ここでhttpdをリスタートし、ブラウザでブログを確認し、表示されていいれば成功です。

Blog引っ越ししました

今までWordPressでBlogを書いていましたが、この度こちらに引っ越しをしました。このブログはblogmopというPythonで書かれたBlogシステムで、ApacheとModPythonで動きます。blog on modpython でblogmopという命名のようで、Twitterでフォローさせて頂いているsetomitsさんが作成し、公開しているものです。
私は、(中小企業でありがちですが)システム管理者と経理事務を掛け持っていて、仕事でプログラムを書くことは殆どないのですが、Pythonはプライベートでよく使っています。
Pythonを書くきっかけとなったのは実はsetomitsさんのエントリーであり、初期の頃はよく勉強させてもらいました。このBlogシステムもすごく参考になる箇所があり、わくわくしながらソースコードを読んでいるところです。Blogシステムを変更したからといって、エントリー頻度が増えるとも言えない(あいかわらず月1ペースかも)ですがよろしくお願いします。
尚、サーバも引っ越ししており、海外のVPSを使っています。それについても後日エントリーしたいです。
PAGE TOP