CentOS 6.5 に Trac 1.0.1 をインストール
ブログのサイドバーにある、「人気の投稿」のトップがTracのインストールなのですが、あまりにお粗末なので、アップデート版を書きたいと思っていました。で、書きました。
CentOS6.5にTracをインストールします。Tracのバージョンは気づいたら1.0越えてました…。
前提として、CentOSはminimalの構成でインストールしたものを使いました。また、yumとかpipとかのインターネット経由でのダウンロードを利用しています。
では、以下手順。
iptablesで80番ポートを許可する
vi /etc/sysconfig/iptables
22番ポート許可の下に80番ポート許可を追加して以下のようにする。
22番ポート許可の下に80番ポート許可を追加して以下のようにする。
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
各種プログラムのアップデート
# yum -y update
GCCのインストール
# yum install gcc
vimのインストール
# yum install vim
wgetのインストール
# yum install wget
curlのインストール
# yum install curl
httpdのインストール
# yum install httpd httpd-devel
python用Apacheモジュールのインストール
# yum install mod_wsgi
mySQLをインストール
# yum install mysql mysql-devel mysql-server
mySQLの操作
# /etc/init.d/mysqld start
# /usr/bin/mysqladmin -u root password ‘new-password’
# mysql -u root -p
mysql> create database trac default character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
create user tracuser identified by ‘new-password’;
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on trac.* to tracuser@localhost identified by ‘new-password’;
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
pipのインストール
# curl -kL https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
babelインストール
# pip install babel
genshiインストール
# pip install genshi
python用mysqlバインディングのインストール
# pip install mysql-python
Tracのインストール
# pip install trac
各種プログラムのアップデート
# yum -y update
Tracの設定
# mkdir /var/trac
# vim /var/trac/trac.wsgi
以下を挿入
# vim /var/trac/trac.wsgi
以下を挿入
import os
import trac.web.main
os.environ['TRAC_ENV_PARENT_DIR'] = '/var/trac'
application = trac.web.main.dispatch_request
# vim /etc/httpd/conf.d/trac.conf
以下を挿入
以下を挿入
WSGIScriptAlias /trac /var/trac/trac.wsgi
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
AuthType Digest
AuthName "trac_login"
AuthUserFile /etc/httpd/conf.d/.htdigest_trac_users
Require valid-user
AuthType Digest
AuthName "trac_users"
AuthUserFile /etc/httpd/conf.d/.htdigest_trac_users
Require valid-user
ユーザ作成
# htdigest -c /etc/httpd/conf.d/.htdigest_trac_users “trac_users” tracadmin
# htdigest /etc/httpd/conf.d/.htdigest_trac_users “trac_users” tearthesky
# htdigest /etc/httpd/conf.d/.htdigest_trac_users “trac_users” tearthesky
# trac-admin /var/trac/mylife permission add tracadmin TRAC_ADMIN
新しくプロジェクトを作る
# trac-admin projectname initenv
はじめに、プロジェクトのデータベースの初期化と準備をするために、
環境についていくつか質問をします。
プロジェクトの名前を入力してください。
この名前は、ページのタイトルと説明に使用します。
プロジェクト名 [My Project]> projectname
使用するデータベースへの接続文字列を指定してください。
デフォルトではローカルに SQLite データベースを作成します。
既に存在する PostgreSQL データベースを使うこともできます。
(Trac では、接続文字列は厳密に表記する必要があります。
詳細は Trac のドキュメントを参照してください)
mysql://tracuser:new-password@localhost:3306/trac
(略)
Trac Environment 'projectname' ができました。
今後、この環境の設定をする場合は、次のファイルを利用します。
/var/trac/projectname/conf/trac.ini
新しいプロジェクトを試しに実行してみたい場合は、スタンドアロンウェブ
サーバ `tracd` を試してみてください。
tracd --port 8000 /var/trac/projectname
それから、ブラウザで http://localhost:8000/projectname
にアクセスします。インストールしたバージョンに合わせた今後のセット
アップ情報などが含まれたドキュメントが閲覧できます。(例えばウェブサー
バで公開する手順など。)
最新のドキュメントは、プロジェクトのウェブサイトから入手できます。
http://trac.edgewall.org/
Congratulations!
Tracのディレクトリの所有者を変更
# chown -R apache:apache /var/trac
SELinuxの設定
# cd /var/
# ls -la —context
# ls -la —context
drwxr-xr-x. root root system_u:object_r:var_t:s0 .
dr-xr-xr-x. root root system_u:object_r:root_t:s0 ..
drwxr-xr-x. root root system_u:object_r:var_t:s0 cache
drwxr-xr-x. root root system_u:object_r:var_t:s0 db
drwxr-xr-x. root root system_u:object_r:var_t:s0 empty
drwxr-xr-x. root root system_u:object_r:games_data_t:s0 games
drwxr-xr-x. root root system_u:object_r:var_lib_t:s0 lib
drwxr-xr-x. root root system_u:object_r:var_t:s0 local
drwxrwxr-x. root lock system_u:object_r:var_lock_t:s0 lock
drwxr-xr-x. root root system_u:object_r:var_log_t:s0 log
lrwxrwxrwx. root root system_u:object_r:mail_spool_t:s0 mail -> spool/mail
drwxr-xr-x. root root system_u:object_r:var_t:s0 nis
drwxr-xr-x. root root system_u:object_r:var_t:s0 opt
drwxr-xr-x. root root system_u:object_r:var_t:s0 preserve
drwxr-xr-x. root root system_u:object_r:var_run_t:s0 run
drwxr-xr-x. root root system_u:object_r:var_spool_t:s0 spool
drwxrwxrwt. root root system_u:object_r:tmp_t:s0 tmp
drwxr-xr-x. apache apache unconfined_u:object_r:var_t:s0 trac
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 www
drwxr-xr-x. root root system_u:object_r:var_yp_t:s0 yp
# chcon system_u:object_r:httpd_sys_content_t:s0 /var/trac -R
# ls -la —context
drwxr-xr-x. root root system_u:object_r:var_t:s0 .
dr-xr-xr-x. root root system_u:object_r:root_t:s0 ..
drwxr-xr-x. root root system_u:object_r:var_t:s0 cache
drwxr-xr-x. root root system_u:object_r:var_t:s0 db
drwxr-xr-x. root root system_u:object_r:var_t:s0 empty
drwxr-xr-x. root root system_u:object_r:games_data_t:s0 games
drwxr-xr-x. root root system_u:object_r:var_lib_t:s0 lib
drwxr-xr-x. root root system_u:object_r:var_t:s0 local
drwxrwxr-x. root lock system_u:object_r:var_lock_t:s0 lock
drwxr-xr-x. root root system_u:object_r:var_log_t:s0 log
lrwxrwxrwx. root root system_u:object_r:mail_spool_t:s0 mail -> spool/mail
drwxr-xr-x. root root system_u:object_r:var_t:s0 nis
drwxr-xr-x. root root system_u:object_r:var_t:s0 opt
drwxr-xr-x. root root system_u:object_r:var_t:s0 preserve
drwxr-xr-x. root root system_u:object_r:var_run_t:s0 run
drwxr-xr-x. root root system_u:object_r:var_spool_t:s0 spool
drwxrwxrwt. root root system_u:object_r:tmp_t:s0 tmp
drwxr-xr-x. apache apache system_u:object_r:httpd_sys_content_t:s0 trac
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 www
drwxr-xr-x. root root system_u:object_r:var_yp_t:s0 yp
OS起動時の自動起動追加
# chkconfig httpd on
# chkconfig mysqld on
# chkconfig mysqld on
再起動
# /etc/init.d/mysqld restart
# /etc/init.d/httpd restart
# /etc/init.d/httpd restart
以上で、 http://yourServerAddress/trac に行くと、Digest認証画面が出てきて、認証が通ればプロジェクト一覧が出てくると思います。
チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)
コメント
コメントを投稿