さくらVPSにETロボコン開発環境を構築する(Ubuntuインストール〜Trac構築)

OSのインストール

Ubuntu にすることにしたのでオンラインマニュアルの手順に従ってインストール

また、下記の方の記事を参考にセキュリティ設定。

sshd の設定

ポート番号を22から変更し、ルートでのログインを許可しないようにした。
ただし、パスワード認証は許可(そのまま)。

sudo vi /etc/ssh/sshd_config
 - Port 22
 + Port xxxx(適当な番号)

 - PermitRootLogin yes
 + PermitRootLogin no
ufwの設定

とりあえずssh以外は塞ぐ。

sudo ufw default deny
sudo ufw allow xxxx
sudo ufw enable
ロケールを日本に変更
sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8
メンバのアカウント追加
sudo addusers xxx

Tracのインストール

参考

もろもろのインストール。

python-subversionpython-setuptools は入っていた。

sudo apt-get install apache2
sudo apt-get install trac
sudo apt-get install trac-ja-resource
sudo apt-get install libapache2-mod-wsgi

0.11.7-1 がインストールされた。

apt-cache showpkg trac
Package: trac
Versions:
0.11.7-1 (/var/lib/apt/lists/jp.archive.ubuntu.com_ubuntu_dists_lucid_universe_binary-i386_Packages) (/var/lib/dpkg/status)
テスト用のプロジェクト作成
sudo mkdir /var/svn/
sudo svnadmin create /var/svn/testrepos
sudo mkdir /var/www/trac/
sudo trac-admin /var/www/trac/testrepos initenv

デフォルトじゃなくて設定したのは2つ。

  • Project Name [My Project]> TestProject
  • Path to repository [/path/to/repos]> /var/svn/testrepos

あと、/var/www/tracapache で動くようにオーナーを変更

sudo chown -R www-data:www-data /var/www/trac

Apache の設定

Ubuntu は /etc/apache2/httpd.conf に直接書かない流儀とのことで、次のようにして設定。

sudo vi /etc/apache2/sites-available/trac
sudo ln -s /etc/apache2/sites-available/trac /etc/apache2/sites-enabled/010-trac

/etc/apache2/sites-available/trac の中身はこんな感じ

cat /etc/apache2/sites-available/trac
ScriptAlias /trac /usr/share/trac-ja-resource/cgi-bin/trac.cgi

  SetEnv TRAC_ENV_PARENT_DIR "/var/www/trac"

ログイン認証の設定
sudo mkdir /var/trac
sudo htdigest -c /var/trac/.htdigest trac admin
sudo htdigest /var/trac/.htdigest trac [username]

先ほど作った /etc/apache2/sites-available/trac に追加する。


    LoadModule auth_digest_module /usr/lib/apache2/modules/mod_auth_digest.so
    AuthType Digest
    AuthName "trac"
    AuthDigestDomain /trac
    AuthUserFile /var/trac/.htdigest
    Require valid-user

ポート80を開けてapache再起動。
sudo ufw allow 80
sudo /etc/init.d/apache2 restart

Tracの設定

anonymous ユーザーは閲覧以外許可しないよう変更。

sudo trac-admin /var/www/trac/testrepos permission remove anonymous  REPORT_DELETE WIKI_CREATE WIKI_MODIFY REPORT_SQL_VIEW TICKET_APPEND TICKET_CHGPROP TICKET_CREATE TICKET_MODIFY

全権限を持つTracユーザーを追加。

sudo trac-admin /var/www/trac/testrepos permission add admin BROWSER_VIEW CHANGESET_VIEW CONFIG_VIEW FILE_VIEW LOG_VIEW MILESTONE_ADMIN MILESTONE_CREATE MILESTONE_DELETE MILESTONE_MODIFY MILESTONE_VIEW REPORT_ADMIN REPORT_CREATE REPORT_DELETE REPORT_MODIFY REPORT_SQL_VIEW REPORT_VIEW ROADMAP_ADMIN ROADMAP_VIEW SEARCH_VIEW TICKET_ADMIN TICKET_APPEND TICKET_CHGPROP TICKET_CREATE TICKET_MODIFY TICKET_VIEW TIMELINE_VIEW TRAC_ADMIN WIKI_ADMIN WIKI_CREATE WIKI_DELETE WIKI_MODIFY WIKI_VIEW

wikiを日本語ページに

sudo trac-admin /var/www/trac/testrepos/ wiki load /usr/share/trac-ja-resource/trac/wiki/default-pages/
sudo cp /usr/share/trac-ja-resource/trac/templates/* /var/www/trac/testrepos/templates/

動作確認

http://ホスト名/trac にアクセスするとプロジェクト一覧が表示される。

TestProject をクリックして移動してみると

(please configure the [header_logo] section in trac.ini)

などと出てくるので、ロゴを適当に引っ張ってきて設定。

sudo cp /usr/share/trac-ja-resource/trac/htdocs/trac_banner.png /var/www/trac/testrepos/htdocs/
sudo vi /var/www/trac/testrepos/conf/trac.ini

 [header_logo]
 alt = (please configure the [header_logo] section in trac.ini)
 height = -1
 link =
 src = site/trac_banner.png
 width = -1

とりあえず動いたので今日はここまで。