ページ内索引 |
SubversionはApache無しでも動作させることができますが、Apacheと連携して動作させることで、
ApacheのBasic認証やDigest認証等の認証機能、SSL等の暗号化通信等を利用することができます。
また、ブラウザから、最新のリポジトリの内容を見ることができます。
既に Apache を運用しているサーバーで Subversion を利用する場合は、Apapcheとの連携はそんなに手間では
ありませんので、お勧めです。
また、Apacheが利用するポートで通信を行うため、新たにポートを空ける必要もありません。
ただし、Apacheの各種設定にはApacheの再起動を伴うケースがある事にも留意してください。
Subversionのインストールを行います。Subversionはそれ単体でも動きます。
(本サイトでも「 Subversionのインストールと設定(svnserve編)」として紹介しています。)
このページではApacheと連携してSubversionを動作させる方法をご紹介します。
Gentoo LinuxでSubversionをインストールする際は、インストール時にUSE="apache2"を指定することで、Apache
と連携して動作させることができます。
/etc/make.conf を編集するか、下記のように指定して実行してください。
Apacheの起動時にSubversionを有効とするように起動オプションを追加します。
追加するオプションは -D SVNです。また、-D DAV も追加して、WEBDAV機能を
有効にしてください。
/etc/conf.d/apache2を編集します。
Gentoo Linuxでのmod_dav_svnの設定ファイルは、/etc/apache2/conf/modules.d/47_mod_dav_svn.conf
にあります。上記で作成したリポジトリ対して設定を行います。
オプション | 説明 |
---|---|
DAV svn | Subversionを利用するために必ず指定しないといけません。 |
SVNPath | リポジトリを作成したディレクトリへのパスを指定します。ApacheのDocumentRootからではなく、 システム上のパスを指定します。 |
SVNParentPath | 主にリポジトリを複数運用する場合に用います。リポジトリの親ディレクトリを指定します。 |
AuthzSVNAccessFile | authz_svn_module を利用するときに指定します。リポジトリへのアクセス権を指定したファイルへのパスを指定します。ApacheのDocumentRootからではなく、 システム上のパスを指定します。 |
<IfDefine SVN> <IfModule !mod_dav_svn.c> LoadModule dav_svn_module extramodules/mod_dav_svn.so </IfModule> <Location /svn/gside> DAV svn SVNPath /var/svn/repos </Location> </IfDefine>SVNPathディレクティブで、リポジトリを作成したディレクトリのパスを指定します。
<IfDefine SVN> <IfModule !mod_dav_svn.c> LoadModule dav_svn_module extramodules/mod_dav_svn.so </IfModule> <Location /svn/gside> DAV svn SVNParentPath /var/svn/ </Location> </IfDefine>
<IfDefine SVN> <IfModule !mod_dav_svn.c> LoadModule dav_svn_module extramodules/mod_dav_svn.so </IfModule> <Location /svn/gside> DAV svn SVNPath /var/svn/repos #Basic認証の設定 AuthType Basic AuthName "Subversion repository" AuthUserFile /var/svn/conf/svnusers Require valid-user </Location> </IfDefine>
<IfDefine SVN> <IfModule !mod_dav_svn.c> LoadModule dav_svn_module extramodules/mod_dav_svn.so </IfModule> <Location /svn/gside> DAV svn SVNPath /var/svn/repos #Basic認証の設定 AuthType Basic AuthName "Subversion repository" AuthUserFile /var/svn/conf/svnusers Require valid-user #リポジトリの読み込みに必要なメソッド以外は認証を必要とする <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location> </IfDefine>Basic詳細についてはBasic認証の設定(ファイル認証)を参照ください。
AuthzSVNAccessFileディレクティブを用いると、リポジトリ内のディレクトリに対して各ユーザーのアクセス権を細かく設定することが容易です。
SVNParentPathとAuthzSVNAccessFileを使用すれば、リポジトリの追加とアクセス権の設定がApacheの再起動なしに行えます。
まずは、Apache側の設定です。
Apacheの起動時にauthz_svn_module が読み込まれるように、起動オプションに-D SVN_AUTHZを追加します。
/etc/conf.d/apache2を編集します。
<IfDefine SVN> <IfModule !mod_dav_svn.c> LoadModule dav_svn_module extramodules/mod_dav_svn.so </IfModule> <IfDefine SVN_AUTHZ> <IfModule !mod_authz_svn.c> LoadModule authz_svn_module extramodules/mod_authz_svn.so </IfModule> </IfDefine> <Location /svn/gside> DAV svn SVNParentPath /var/svn/ #Basic認証の設定 AuthType Basic AuthName "Subversion repository" AuthUserFile /var/svn/conf/svnusers Require valid-user AuthzSVNAccessFile /var/svn/conf/svnaccess </Location> </IfDefine>
Index |
Subversionのインストールと設定(Apache編) Subversionのインストールと設定(svnserve編) TortoiseSVNのインストールと設定 TortoiseSVNの使い方 Subversion Tips |