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をリスタートし、ブラウザでブログを確認し、表示されていいれば成功です。
Posted by aoshiman at 19:38 | Comments: 0
ここ一週間ほど、ブログに貼り付けていたTwitterWidgetがまったく反映しなくてまあツイッターだったら色々事情があるんだろうなくらいに思っていたのですが、どうやらWidgetが新しくなっているようです(いつからだろう?)。どうりで動かないはずです。
http://twitter.com/goodies/widgets
今までは、FlashバージョンとJavascriptバージョンの二種類で自分の発言を表示出来たのですが、今回は自分の発言版はもちろんですが、Search、FavesのWidgetがあります。 favesWidgetがいいなと思ったのですが、残念なことに「ふぁぼり」のようで「ふぁぼられ」ではないようです。 SearchWidgetは自分宛言及の表示など色々使えそうです。
自分が管理しているcookpad_recipeの言及を表示するWigdetはこのようになります。


Posted by aoshiman at 13:45 | Comments: 0
CentOS5.3でPython2.6を使いたいのですが、CentOSにインストールされているPythonは2.4で、yum(パッケージ管理システム)などPythonで書かれたシステムで使われており、上書きするのは危険のようです。そこで元々入っているPythonとは別にインストールすることにしました。
今回はそのインストールメモを備忘的に記します。
また、そのときにこちらのサイト(といってもほぼ丸写しかも)を参考にしました。

下準備

zlib-develはsetuptoolsで、sqlite-develはsqlite3を使うのに必要なのであらかじめyumでインストールしておきます。
$ sudo yum install zlib zlib-devel sqlite-devel

Python2.6のセットアップ

こちらのサイトからソースコードをダウンロードして、ビルドインストールします。
$ wget http://www.python.org/ftp/python/2.6.2/Python-2.6.2.tgz
$ tar zxvf Python-2.6.2.tgz
$ cd Python-2.6.2
$ ./configure --prefix=/usr/local --enable-shared
もしかしたら--prefix=/usr/localは必要ないのかもしれません。

configure後にSetupに記述されている箇所を下記のように修正します。zlibをインクルードしたい為です。
$ vi Modules/Setup
  #コメントをはずす
  zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

make make installします。
$ make
$ sudo make install

libpython2.6.soとlibpython2.6.so.1.0をコピーします。
$ sudo cp sudo cp /root/Python-2.6.2/libpython2.6.so /usr/lib/
$ sudo cp sudo cp /root/Python-2.6.2/libpython2.6.so.1.0 /usr/lib/

最後の2行は他にやりかたがあるのかもしれません。 あとは好みでaliasなどを弄ってください。
Posted by aoshiman at 13:41 | Comments: 0
LinodeでのインストールOSはメジャーLinuxディストリビューションなら大抵選択可能で、数クリックでインストール出来てしまうほど簡単であっけないほど便利だけど、CentOSの場合(ほかでもそうかも)最小構成でしか入らないから、あたりまえだけどそのままだと大変不便。
いつもは
CentOSで自宅サーバー構築
こちらのサイトを参考にしつつインストールしてセッティングしているのだけど、 Linodeでは、いきなり最小構成で動いちゃっているから、そこからいつもの 構成に持っていくまで結構悩んでしまったので、とりあえず実施したことで 忘れちゃいそうなことをメモっとく

groupinstallの実施

個別にインストールとか言ってもわからないので、groupinstallを使う
# yum groupinstall "base"
# yum groupinstall "Development Tools"
どりあえずこれだけ入れて、CentOSで自宅サーバー構築に書いてあるように Development Toolsからfirstboot-tuiをリムーブする。

日本時間と日本語へ対応

こちらを参考に
CentOSの時間と文字コードを日本仕様へ変更 - blog@longkey1.net

まず日本時間
# cp -p /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
そして日本語への対応
# vi /etc/sysconfig/i18n
-LANG="en_US.UTF-8"
+LANG="ja_JP.UTF-8"
あとはPyhtonやらhttpdやらのインストールへGO!
Posted by aoshiman at 17:38 | Comments: 0
最近の円高傾向をみて、機会があったらチャレンジしてみたかった海外VPSのLinode VPSを勢いで契約してしまいました。

Linode.com – Xen VPS Hosting

海外VPSは国内VPSに比べて総じて価格が安いのですが、今回はLinodeの一番安いLinode 360($19.95/月)を選び、更に1割値引いてくれるというので年契約にしました。これでしめて約$216。今回は90.8円で精算されるので月1,634円になりました。
最初はトラブル時のことを考えて国内VPSとかをチェックしていたのですが、全然安いし、特にLinodeに関しては日本語で解説されている方がかなりいるので、あまり迷わず申し込みや運用が出来ると思います。
今回は特にこちらのサイトにお世話になりました。

Linode – 自由度が高い VPS サービス – ボンノウドットコム Wiki
Posted by aoshiman at 20:54 | Comments: 0
search
calendar
Nov 2009
SunMonTueWedThuFriSat
1234567
891011121314
15161718192021
22232425262728
2930     
myprofile
  • 詳しいプロフィールはこちら
  • 連絡はこちらへどうぞ
archives
twitter widget
blogparts

あわせて読みたいブログパーツ

photos on flickr
www.flickr.com