2009
Nov
3rd
blogmopはApache+Mod_pythonで動くのですが、Djangoを触ったことのない私にとってはMod_pythonのセッティングすら初めて。とりあえずぐぐってなんとかCentOSにてblogmopを動かすとこまでこぎ着けたので、忘れないようにメモっておきます。
aoshiman.org : CentOS5.3にPython2.6をインストールする
Webサーバー構築(Apache) - CentOSで自宅サーバー構築
基本はこちらのとおりですが、今回、phpとphp-mbstringのインストールは必要ないです。 あとはDirectoryIndexにindex.pyを追加します。
CentOS5にpython2.6+Django+mod_python+色々の環境を整える - とはえ領域
まず、httpd-develのインストール
Mod_pythonのページから最新版(現時点では3.3.1)をダウンロードする
Mod_python - Apache/Python Integration
httpd.confにmod_pythonの記述をします。
/blogmop/libにあるblogmop.pyを/usr/local/lib/python2.6/site-packagesにコピーします。そして必要なディレクトリ(blog、blog/db)を作成し、dbのアクセス権は777にします。
blogmop.pyを実行します
必要なresource群を/var/www/html/blogへコピーします。
httpd.confにblogmopのconfigを記述します。
ここでhttpdをリスタートし、ブラウザでブログを確認し、表示されていいれば成功です。
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 installpythonの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