Basic認証用のパスワードファイルを作成する。

参考ページの手順通り進めてたら、エラーで怒られたのでディレクトリを作成したり。

# mkdir /etc/httpd/passwd/
# /usr/bin/htpasswd -c /etc/httpd/passwd/dav_svn.passwd denden
New passwd: <パスワードを入力>
Re-Type new password: <パスワードを入力>

とりあえず、ここまではあんまり時間を食わずになんとか。

Subversionリポジトリの作成

ぶっちゃけ、コマンドの意味はよくわかりませんが、そのまま進めます。

# mkdir /home/svn
# cd /home/svn
# svnadmin create /home/svn/project
# svn mkdir file:///home/svn/project/trunk file:///home/svn/project/tags file:///home/svn/project/branches -m 'Create trunk, tags, and branches.'
# chown -R apache.apache /home/svn/project

Apacheの起動、リブート時の自動起動の設定

参考ページ通りに進めます。

# /etc/rc.d/init.d/httpd start
# chkconfig httpd on
# chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

ブラウザからlocalhostを表示してみて、Apacheのテストページが表示されることを確認した。とりあえずApacheはちゃんと動いてるっぽい。

yumで、subversionとmod_dav_svnをインストール。

調べてたら、0.11devではないけど、Tracのインストール方法をまとめてくれているページを見つけたので、こちらのページを参考に進めてみます。
http://demdem.cocolog-nifty.com/blog/2006/08/subversiontrac_2b5f.html
mod_pythonをインストールしたときに特になんにもいわれなかったし、ディレクトリ構成みてもインストールされてるっぽいけど、手順に沿っていちおうコマンド打っといてみる。

yum -y install httpd

はい。やっぱりインストール済みでした。次。

yum -y install subversion
yum -y install mod_dav_svn

こちらは未インストールだったようで、インストールされました。mod_sslはとりあえず使わない気がするのでインストールしないで次。

yumでmod_pythonをインストール。

というわけで素の状態から、

# yum -y install mod_python

で、いきなしmod_pythonをインストール。あれ? httpdインスコされなかった気がするけど、デフォルトで入ってるやつで大丈夫なの?
よくわからないので色々と調べてたら、yumにはupdateというコマンドがあることを知る。Windows Updateみたいなもんか。よくわからないけど、最新のモジュールに更新しておくにこしたことはないに違いない(んだよね?)。

# yum -y update

う。144個もモジュールがUpdatingされたりCleanupされてもうて大変な時間がかかってしまいました。ていうか、これ、本当は一番最初にやっとくべきことなんだろうなぁ。

LinuxでTrac 0.11 devを動かす環境を作ってみる。リロード。

えー、色々と設定していたらわけわからなくなったので、CentOSのインストールからやり直し。自分のスキルのなさに笑うしかありませんが、まぁ改めて。

apacheにmod_pythonをインストール。

前述のページで、yumでインストールされたapacheディレクトリ構成がわかったので、「/etc/httpd/modules」を確認してみると「mod_python.so」を発見。ちゃんとインストールできてるっぽい。
「/etc/httpd/conf/」の「httpd.conf」を開いて、「LoadModule」セクションに以下の一行を追加して保存。GNOMEテキスト・エディタ、geditを使う。

LoadModule pyhton_module modules/mod_python.so

httpd.confを保存しようと思ったら、いまのユーザ権限では書き込み禁止で上書き保存できないっぽい。面倒臭いのでrootでログインし直して上書き保存。ていうか、こういう使いかたって間違ってる気がしてならない。そのうちLinux入門系の本でも買ってこよう。
mod_pythonのマニュアル参考に動作確認。
http://www.python.jp/doc/contrib/modpython/inst-testing.html
document root(yumのデフォルトだと/var/www/html)に.htaccessファイルを作って以下の記述しておく。

AddHandler mod_python .py
PythonHandler mptest
PythonDebug On

/var/www/htmlにmptest.pyというファイルを作って以下の内容を記述。

from mod_python import apache
def handler(req):
req.write("Hello World!")
return apache.OK

んで、apacheをリスタート。

# httpd -k restart

[warn] module python_module is already loaded, skipping

あれ? 既にpython_moduleロードされてるって出てくるよ!? 意味がわからないが、ロードされてるならいいや、と次に進む。
ブラウザから「http://localhost/mptest.py」と入力。

You don't have permission to access /mptest.py on this server.

あー、パーミッションがないと怒られてしまいました。おまけに、他の設定試してみようと、.htaccessファイル削除しようと思ったら削除できなくなってるし。うーん、どうしたものか。