CentOSにTracをインストール
CentOS5にtracをインストールしてみたので、その備忘録。
yumからインストールする
とりあえず、めんどくさいのでyumを使ってインストールしました。
なお、CentOSの標準リポジトリにTracが無いのでDAGのパッケージを使用。
# yum install trac -yこれでひとまず必要なものはすべてインストールされます
インストールを確認するには、下記コマンドで確認できます
# rpm -qa | grep trac # rpm -ql trac-0.11.5-1.el5.rf
Tracの設定
インストールしただけでは何もできないので、まずはプロジェクトを作成します。
とりあえず、/etc/httpd/conf.d/trac.confを確認します。
「TracEnvParentDir」が「/var/trac」となっているのでプロジェクトのルートはSetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir /var/trac PythonOption TracUriRoot /trac AuthType Basic AuthName "Trac" AuthUserFile /var/www/trac/.htpasswd Require valid-user
/var/tracに設定されているということになります。
では、tracを作成しましょう。ここではとりあえず、sampleというプロジェクトを作成します。
# trac-admin /var/trac/sample initenvコマンドを実行すると、いくつか設定値を確認してきます。
Project Name [My Project]> | プロジェクト名 | Sample |
Database connection string [sqlite:db/trac.db] | 使用するデータベース | (とりあえずデフォルト値) |
Repository type [svn] | Subversionの設定 | (とりあえずデフォルト値) |
Path to repository [/path/to/repos] | Subversionのリポジトリパス | ./svn |
作成が完了すると、最後に以下のようなメッセージが出ます。
Warningが出てますが、Subversionのリポジトリが無いだけなので無視してしまって大丈夫です。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
いざブラウザから閲覧
上のメッセージではtracdを使ってなんて書いてありますが、
Apache用の設定もすでにされているので、Apacheを再起動します。
# service httpd restart
/etc/httpd/conf.d/trac.confに書いてありますが、デフォルトで
「
URLをたたきます。
http://<インストールしたサーバ名orIP>/trac/sample/
すると、エラー画面が表示されます。
Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/trac/web/api.py", line 377, in send_error 'text/html') : : File "/usr/lib/python2.4/site-packages/trac/db/sqlite_backend.py", line 176, in __init__ raise TracError('The user %s requires read _and_ write ' \ TracError: The user apache requires read _and_ write permissions to the database file /var/trac/sample/db/trac.db and the directory it is located in.…パーミッションが無いそうです。
ここでは、SQLiteのDBファイルのパーミッションについて説明されていますが、
Tracを運用する上で、プロジェクトのディレクトリへの書き込みが発生しますので、
作成した/var/trac/sample自体のパーミッションをApacheの実行ユーザに変更します。
CentOS5.4のhttpdのデフォルト実行ユーザは「apache」になっています。
# cd /var/trac # chown -R apache:apache sampleさて、もう一度ブラウザから確認してみましょう。ちゃんと表示されるはずです。
なお、ブラウザ上に以下のようなメッセージが表示されていると思いますが、
Warning: Can't synchronize with the repository (/var/trac/sample/svn does not appear to be a Subversion repository.). Look in the Trac log for more information.これは、Subversionのリポジトリが無いことが原因なのでリポジトリを作成します。
# svnadmin create /var/trac/sample/svn --pre-1.6-compatible # chown -R apache:apache /var/trac/sample/svn
管理者アカウントの作成
今の設定はApacheを経由しているため、Apacheの認証と同期する必要があります。
まず、.htpasswdファイルを作成します。
パスは「/etc/httpd/conf.d/trac.conf」のとおり、
AuthUserFile /var/www/trac/.htpasswd/var/www/trac/.htpasswdに作成します。(ここでは、adminユーザを作成)
# htpasswd -c /var/www/trac/.htpasswd admin
つづいて、Trac自体のアカウントを確認します。
デフォルトでは、管理者権限を持つユーザ存在しないので、
adminを管理者として登録します。
# trac-admin /var/trac/sample permission list User Action
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
以上で、最低限の設定は完了です。
必要に応じて、それぞれのロールを持つユーザを作成して運用してください。