LoginSignup
2
3

More than 5 years have passed since last update.

Tracの構築手順

Last updated at Posted at 2017-02-21

Tracの構築手順.会社で使うとき用の構築手順メモ.

  • プロキシの設定も含まれますので,プロキシが不要な方はプロキシ関連部分は無視してください.
  • 想定環境はUbuntu 16.04 LTS Xenial Xerus (最小インストールorServer版)です.

Subversionの導入

Subversionのインストールとプロキシの設定.

sudo apt install subversion
vim ~/.subversion/servers
~/.subversion/servers
[global]
http-proxy-host = proxy.example.com
http-proxy-port = 8080

日本語環境にする

必要な人だけ

sudo apt install language-pack-ja
update-locale LANG=ja_JP.UTF-8
# 再ログイン

Tracをソースからインストールする

Tracが依存するパッケージをインソールする

# プロキシの設定
export HTTP_PROXY=http://proxy.example.com:8080/
export HTTPS_PROXY=http://proxy.example.com:8080/
export FTP_PROXY=http://proxy.example.com:8080/

# Tracが依存するパッケージのインストール
sudo apt install python-setuptools python-dev python3-dev libapache2-mod-wsgi sqlite3 subversion python3-pygments python-pygments
sudo apt install apache2-utils
sudo apt install gcc
sudo easy_install babel
sudo easy_install genshi

Tracのソースコードを取得してインストールする.
update_catalog で日本語が有効になる.

cd ~
svn co https://svn.edgewall.org/repos/trac/tags/trac-1.1.6/
cd trac-1.1.6
python setup.py update_catalog -l ja
python setup.py compile_catalog -f
sudo python setup.py install
sudo service apache2 restart

Tracの設定

Trac用のフォルダの作成する./var/www/trac/はプロジェクトルートになるので,もし変更するなら,以降すべてのパスを変更すること.

sudo mkdir /var/www/trac
sudo vim /var/www/trac/trac.wsgi
sudo chmod 755 /var/www/trac/trac.wsgi

Trac用のwsgiファイルを作成

/var/www/trac/trac.wsgi
import os

os.environ['TRAC_ENV_PARENT_DIR'] = '/var/www/trac'
os.environ['PYTHON_EGG_CACHE'] = '/var/www/trac/eggs'

import trac.web.main
application = trac.web.main.dispatch_request

Apache2上にTracサイトを作成し有効化.PythonはWSGIで動かす.

sudo vim /etc/apache2/sites-available/trac.conf
sudo a2ensite trac
/etc/apache2/sites-available/trac.conf
WSGIDaemonProcess trac user=www-data group=www-data processes=2 threads=25 maximum-requests=10000
WSGIProcessGroup trac

WSGIScriptAlias /trac /var/www/trac/trac.wsgi
<Directory /var/www/trac>
    WSGIApplicationGroup %{GLOBAL}
    Require all granted
</Directory>
<LocationMatch "/trac/.*/login">
   AuthType Basic
   AuthName "trac"
   AuthUserFile "/var/www/trac/.htpasswd"
   Require valid-user
</LocationMatch>

Alias /trac/chrome /usr/lib/python2.7/dist-packages/trac/htdocs
<Location "/trac/chrome">
    Require all granted
</Location>

Tracにプロジェクトを追加

プロジェクト名はmyproject

sudo trac-admin /var/www/trac/myproject initenv
sudo trac-admin /var/www/trac/myproject/ deploy /var/www/trac/myproject
sudo -u www-data trac-admin /var/www/trac/myproject/ wiki load /usr/share/trac-ja-resource/trac/wiki/default-pages
sudo vim /var/www/trac/vnfdiy/conf/trac.ini
sudo chown -R www-data:www-data /var/www/trac/
/var/www/trac/myproject/conf/trac.ini
[attachment]
max_size = 26214400
max_zip_size = 209715200

プロジェクトにユーザ追加

sudo htpasswd -c /var/www/trac/.htpasswd admin
sudo htpasswd /var/www/trac/.htpasswd user2
sudo chown -R www-data:www-data /var/www/trac/
sudo service apache2 restart
sudo -u www-data trac-admin /var/www/trac/myproject/ permission add admin TRAC_ADMIN
sudo -u www-data trac-admin /var/www/trac/myproject/ permission add administrators TRAC_ADMIN
sudo -u www-data trac-admin /var/www/trac/myproject/ permission add admin administrators
sudo trac-admin /var/www/trac/myproject/ permission list

Git(gitolite3)と連携

必要な人だけ.

/var/www/trac/vnfdiy/conf/trac.ini
[components]
tracopt.versioncontrol.git.* = enabled

[git]
projects_base = /var/lib/gitolite3/repositories
projects_list = /var/lib/gitolite3/projects.list

プラグイン

iniadminplugin

sudo easy_install https://trac-hacks.org/svn/iniadminplugin/0.11
sudo vim /var/www/trac/myproject/conf/trac.ini
/var/www/trac/myproject/conf/trac.ini
[components]
iniadmin.* = enabled

markdown.macro.markdownmacro

sudo easy_install Markdown 
sudo easy_install https://trac-hacks.org/svn/markdownmacro/trunk/

slack_notification

sudo easy_install https://github.com/mandic-cloud/trac-slack-plugin

plantumlmacro

sudo apt install graphviz
sudo mkdir /var/graphviz
export GRAPHVIZ_DOT=/var/graphviz
sudo easy_install https://trac-hacks.org/svn/plantumlmacro/trunk
sudo apt isntall default-jre
sudo apt install plantuml
find / -name plantuml.jar
sudo vim /var/www/trac/myproject/conf/trac.ini
sudo service apache2 restart
/var/www/trac/myproject/conf/trac.ini
[components]
plantuml.macro.plantumlmacro = enabled

[plantuml]
java_bin = java
plantuml_jar = /usr/share/plantuml/plantuml.jar

trac-accountmanager

残念ながらtrac 1.2.dev0では動作しない.

sudo apt install trac-accountmanager
sudo vim /var/www/trac/myproject/conf/trac.ini

Apache2のSSL有効化と再起動

sudo a2ensite default-ssl.conf
sudo a2enmod ssl
sudo chown -R www-data:www-data /var/www/trac/
sudo service apache2 restart

Tracの更新

1.1.6から1.2に更新する手順.APIの変化によりプラグインがごっそり動かなくなるので,特に1.2を使わないとならない理由がない限りは1.1.6で問題ない.

svn co https://svn.edgewall.org/repos/trac/branches/1.2-stable/ trac-1.2-stable
cd trac-1.2-stable
python setup.py update_catalog -l ja
python setup.py compile_catalog -f
sudo python setup.py install
sudo service apache2 restart
sudo -u www-data trac-admin /path/to/projenv upgrade
sudo -u www-data trac-admin /path/to/projenv wiki upgrade

参考

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3