-
Subversion導入
apt-get install subversion subversion-tools libapache2-svn
subversion:Subversion本体
subversion-tools:バックアップコマンドが利用できたりするツール
libapache2-svn:Apache2とSubversionの連携用Subversionの設定を変更します。
vi /etc/subversion/config
下記内容を変更 # クライアントの改行コードをサーバで統一 # enable-auto-props = yes ↓ enable-auto-props = yes
Subversionのリポジトリを作成します。
mkdir /var/www/svn svnadmin create /var/www/svn/z-test chown -R www-data.www-data /var/www/svn/z-test
外部から接続するため、ユーザIDとパスワードを設定します。
htpasswd -c /etc/apache2/dav_svn.passwd ユーザー名 New password:パスワード Re-type new password:パスワード Adding password for user ユーザー名
Apache2とSubversionを繋ぐための設定をします。
また、Subersionには直接アクセス、WebDAV、SVNの3つのプロトコルのうち、
WebDAVでBasic認証で試します。vi /etc/apache2/mods-enabled/dav_svn.conf
# 下記内容を最終行に追加 <Location /svn> DAV svn SVNParentPath /var/www/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd AuthzSVNAccessFile /etc/apache2/dav_svn.authz Require valid-user </Location>
権限ファイルにユーザを追加します。
vi /etc/apache2/dav_svn.authz
# 下記内容を追加 # z-testより下は追加ユーザであればRead、Write可能 # それ以外はRead、Write不可 [z-test:/] manager = ユーザー名 [/] * = @manager = rw
モジュールを有効化します。
a2enmod authz_svn
Considering dependency dav_svn for authz_svn: Considering dependency dav for dav_svn: Module dav already enabled Module dav_svn already enabled Enabling module authz_svn. To activate the new configuration, you need to run: service apache2 restart
記載の通り、Apache2を再起動します。
service apache2 restart
最後にSubversionにはhttpsで強制的に接続するため、「.htaccess」を追加します。
vi /var/www/svn/.htaccess
# 下記内容を追加 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule>
chown -R www-data.www-data /var/www/svn/.htaccess
「https://z-area.net/svn/z-test/」で接続し、ログインすればリポジトリを参照可能。