サーバー設定 · 1 min read · Jan 20, 2026

UbuntuサーバーでのSubversionとTracの仮想ホストの設定

UbuntuサーバーでのSubversionとTracの仮想ホストの設定

このハウツーは、Subversionバージョン管理システムを設定し、ソフトウェア開発プロジェクトのプロジェクトマネージャーであるTracと連携させるプロセスを概説しています。これは、Ubuntu(またはおそらくDebian)を実行しているサーバー上で行います。Openject Consultingによって提供されています。

Subversionの設定

これに関する詳細情報、代替設定を含めて、Subversionによるバージョン管理を参照してください。

  1. 必要なパッケージをインストールします。sudo aptitude install enscript libapache2-mod-python python-docutils trac db4.3-util libapache2-svn subversion-tools
  2. SVN用の仮想ホストディレクトリを作成します。Subversionインスタンスがウェブルートディレクトリのディレクトリを混雑させないように、/var/wwwの代わりに/var/local/svnを使用します。sudo mkdir -p /var/local/svn/svn.example.com
  3. 開発グループを作成し、ウェブユーザーを追加します。sudo addgroup example; sudo adduser www-data example
  4. 開発グループにユーザーを追加します。これらはリポジトリにアクセスする必要がある人々です。sudo adduser username1 example
    sudo adduser username2 example
    sudo adduser username3 example
  5. 適切な権限を設定します。sudo chmod 2770 /var/local/svn/svn.example.com
  6. リポジトリを設定します。sudo svnadmin create /var/local/svn/svn.example.com
  7. 現在のパスワードファイルをクリアします。デフォルトではsvnserveプロトコル用ですが、HTTPS(または単にHTTP)を使用します。このプロセスの後でこのファイルにユーザーを追加します。sudo rm /var/local/svn/svn.example.com/conf/passwd
    sudo touch /var/local/svn/svn.example.com/conf/passwd
  8. グループがリポジトリに書き込むことを許可します。sudo chmod -R g+w /var/local/svn/svn.example.com
  9. 適切なファイル所有権を設定します。sudo chown -R www-data:example /var/local/svn/svn.example.com
  10. リポジトリアクセス権限を設定します。これを行う方法についての情報は、Subversionによるバージョン管理のPath-Based Authorizationセクションにあります。sudo vi /var/local/svn/svn.example.com/conf/authz
  11. ログファイル用のディレクトリを作成します。sudo mkdir /var/log/apache2/svn.example.com
  12. サイトをログローテーションリストに追加します。sudo vi /etc/logrotate.d/apache2
  13. 仮想ホストを設定します…sudo vi /etc/apache2/sites-available/svn.example.com…以下のデータで。SSLにこだわらない場合は、SSLオプションを無視してポート80で実行できます。 ServerName 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/ 参照:/etc/apache2/mods-enabled/dav_svn.conf
  14. Subversion仮想ホストを有効にします。sudo a2ensite svn.example.com
  15. ユーザー/パスワードの組み合わせを作成します。htpasswd /var/local/svn/svn.example.com/conf/passwd username
  16. ウェブサーバーを再起動します。sudo /etc/init.d/apache2 restart
  17. ユーザーがローカルで作業する場合は、svnwrapを設定します。(詳細についてはマニュアルページを参照してください。)sudo ln -s /usr/bin/svnwrap /usr/local/bin/svn

Tracの設定

  1. ウェブディレクトリを作成します。ウェブルートのディレクトリを混雑させないように、/var/wwwの代わりに/var/local/tracを使用します。sudo mkdir -p /var/local/trac/trac.example.com
  2. 適切な権限を設定します。sudo chmod 2770 /var/local/trac/trac.example.com
  3. Tracインスタンスを作成します。sudo trac-admin /var/local/trac/trac.example.com initenv
  4. ウェブディレクトリの適切な所有権を設定します。sudo chown -R www-data:example /var/local/trac/trac.example.com
  5. グループがリポジトリに書き込むことを許可します。sudo chmod -R g+w /var/local/trac/trac.example.com
  6. 設定します。sudo vi /var/local/trac/trac.example.com/conf/trac.ini
  7. ログファイル用のディレクトリを作成します。sudo mkdir /var/log/apache2/trac.example.com
  8. サイトをログローテーションリストに追加します。sudo vi /etc/logrotate.d/apache2
  9. 仮想ホストを設定します…sudo vi /etc/apache2/sites-available/trac.example.com…以下のデータで。SSLにこだわらない場合は、SSLオプションをスキップしてポート80で実行できます。 # Trac設定 ServerName 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 参照: http://trac.edgewall.org/wiki/TracOnUbuntu
  10. Trac仮想ホストを有効にします。sudo a2ensite trac.example.com
  11. Tracの権限を設定します。管理コンソールに入ったら、”help permission”コマンドを実行して、これを行う方法についての情報を得ます。これは重要です。なぜなら、いくつかの設定はデフォルトで許可されているため、制限されるべきだからです。また、新しいインストールに付属するwikiページTracPermissionsも参照してください。trac-admin /var/local/trac/trac.example.com
  12. ウェブサーバーを再起動します。sudo /etc/init.d/apache2 restart

最後に行うべきことは、サブドメイン「svn」と「trac」をドメインのDNS設定に追加することです。これが完了すると、SubversionとTracはサーバー環境に統合され、ウェブからアクセスできるようになります。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。