サーバー設定 · 1 min read · Jan 20, 2026
UbuntuサーバーでのSubversionとTracの仮想ホストの設定
UbuntuサーバーでのSubversionとTracの仮想ホストの設定
このハウツーは、Subversionバージョン管理システムを設定し、ソフトウェア開発プロジェクトのプロジェクトマネージャーであるTracと連携させるプロセスを概説しています。これは、Ubuntu(またはおそらくDebian)を実行しているサーバー上で行います。Openject Consultingによって提供されています。
Subversionの設定
これに関する詳細情報、代替設定を含めて、Subversionによるバージョン管理を参照してください。
- 必要なパッケージをインストールします。sudo aptitude install enscript libapache2-mod-python python-docutils trac db4.3-util libapache2-svn subversion-tools
- SVN用の仮想ホストディレクトリを作成します。Subversionインスタンスがウェブルートディレクトリのディレクトリを混雑させないように、/var/wwwの代わりに/var/local/svnを使用します。sudo mkdir -p /var/local/svn/svn.example.com
- 開発グループを作成し、ウェブユーザーを追加します。sudo addgroup example; sudo adduser www-data example
- 開発グループにユーザーを追加します。これらはリポジトリにアクセスする必要がある人々です。sudo adduser username1 example
sudo adduser username2 example
sudo adduser username3 example - 適切な権限を設定します。sudo chmod 2770 /var/local/svn/svn.example.com
- リポジトリを設定します。sudo svnadmin create /var/local/svn/svn.example.com
- 現在のパスワードファイルをクリアします。デフォルトではsvnserveプロトコル用ですが、HTTPS(または単にHTTP)を使用します。このプロセスの後でこのファイルにユーザーを追加します。sudo rm /var/local/svn/svn.example.com/conf/passwd
sudo touch /var/local/svn/svn.example.com/conf/passwd - グループがリポジトリに書き込むことを許可します。sudo chmod -R g+w /var/local/svn/svn.example.com
- 適切なファイル所有権を設定します。sudo chown -R www-data:example /var/local/svn/svn.example.com
- リポジトリアクセス権限を設定します。これを行う方法についての情報は、Subversionによるバージョン管理のPath-Based Authorizationセクションにあります。sudo vi /var/local/svn/svn.example.com/conf/authz
- ログファイル用のディレクトリを作成します。sudo mkdir /var/log/apache2/svn.example.com
- サイトをログローテーションリストに追加します。sudo vi /etc/logrotate.d/apache2
- 仮想ホストを設定します…sudo vi /etc/apache2/sites-available/svn.example.com…以下のデータで。SSLにこだわらない場合は、SSLオプションを無視してポート80で実行できます。
参照:/etc/apache2/mods-enabled/dav_svn.confServerName svn.example.com DAV svn AuthType Basic AuthName "svn.example.com" AuthUserFile /var/local/svn/svn.example.com/conf/passwd AuthzSVNAccessFile /var/local/svn/svn.example.com/conf/authz SVNPath /var/local/svn/svn.example.com Require valid-user CustomLog /var/log/apache2/svn.example.com/access.log combined ErrorLog /var/log/apache2/svn.example.com/error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem # 本物の(自己署名でない)証明書がある場合はこれを追加します。 # SSLCertificateKeyFile /etc/apache2/ssl/server.key ServerName svn.example.com Redirect / https://svn.example.com/ - Subversion仮想ホストを有効にします。sudo a2ensite svn.example.com
- ユーザー/パスワードの組み合わせを作成します。htpasswd /var/local/svn/svn.example.com/conf/passwd username
- ウェブサーバーを再起動します。sudo /etc/init.d/apache2 restart
- ユーザーがローカルで作業する場合は、svnwrapを設定します。(詳細についてはマニュアルページを参照してください。)sudo ln -s /usr/bin/svnwrap /usr/local/bin/svn
Tracの設定
- ウェブディレクトリを作成します。ウェブルートのディレクトリを混雑させないように、/var/wwwの代わりに/var/local/tracを使用します。sudo mkdir -p /var/local/trac/trac.example.com
- 適切な権限を設定します。sudo chmod 2770 /var/local/trac/trac.example.com
- Tracインスタンスを作成します。sudo trac-admin /var/local/trac/trac.example.com initenv
- ウェブディレクトリの適切な所有権を設定します。sudo chown -R www-data:example /var/local/trac/trac.example.com
- グループがリポジトリに書き込むことを許可します。sudo chmod -R g+w /var/local/trac/trac.example.com
- 設定します。sudo vi /var/local/trac/trac.example.com/conf/trac.ini
- ログファイル用のディレクトリを作成します。sudo mkdir /var/log/apache2/trac.example.com
- サイトをログローテーションリストに追加します。sudo vi /etc/logrotate.d/apache2
- 仮想ホストを設定します…sudo vi /etc/apache2/sites-available/trac.example.com…以下のデータで。SSLにこだわらない場合は、SSLオプションをスキップしてポート80で実行できます。
# Trac設定参照: http://trac.edgewall.org/wiki/TracOnUbuntuServerName trac.example.com Redirect / https://trac.example.com/ ServerName trac.example.com DocumentRoot /var/local/trac/trac.example.com/ Alias /trac/ /usr/share/trac/htdocs Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonInterpreter main_interpreter PythonOption TracEnv /var/local/trac/trac.example.com/ PythonOption TracUriRoot / AuthType Basic AuthName "trac.example.com" # SVNパスワードファイルを使用します。 AuthUserFile /var/local/svn/svn.example.com/conf/passwd Require valid-user CustomLog /var/log/apache2/trac.example.com/access.log combined ErrorLog /var/log/apache2/trac.example.com/error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem # 本物の(自己署名でない)証明書がある場合はこれを追加します。 # SSLCertificateKeyFile /etc/apache2/ssl/server.key - Trac仮想ホストを有効にします。sudo a2ensite trac.example.com
- Tracの権限を設定します。管理コンソールに入ったら、”help permission”コマンドを実行して、これを行う方法についての情報を得ます。これは重要です。なぜなら、いくつかの設定はデフォルトで許可されているため、制限されるべきだからです。また、新しいインストールに付属するwikiページTracPermissionsも参照してください。trac-admin /var/local/trac/trac.example.com
- ウェブサーバーを再起動します。sudo /etc/init.d/apache2 restart
最後に行うべきことは、サブドメイン「svn」と「trac」をドメインのDNS設定に追加することです。これが完了すると、SubversionとTracはサーバー環境に統合され、ウェブからアクセスできるようになります。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。