3,407 views
この記事は最終更新から 1811日 が経過しています。
1. やりたいこと
自前サーバーで Subversion を使えるようにしたい。
2. やってみる
(1) Subversionをインストール
CentOS7 で実施した場合の作業記録です。
Subversionはインストール済み?
yum list installed | grep svn
無ければyumでインストールする。
yum install svn yum install mod_dav_svn
(2) リポジトリを作成
myrepos という名前でリポジトリを作成する。
svnadmin create /var/svn/repos/myrepos
パーミッションを変更する。
chown -R apache:apache /var/svn/repos/myrepos chmod -R u+rw /var/svn/repos/myrepos chcon -R -h -t httpd_sys_content_t /var/svn/repos
(3) WEBブラウザでアクセス可能にする。
httpdの設定ファイルを作成する。
vi /etc/httpd/conf.d/subversion.conf
HTTPリクエストで //xxxx.xxxxxx.xxx/svn と指定されたら /var/svn/repos 配下を辿るように指定する。
<Location /svn> DAV svn SVNParentPath /var/svn/repos </Location>
リポジトリを個々に指定したい場合はこんな書き方でもよい。
<Location /svn/AAA> DAV svn SVNPath /var/svn/repos/AAA </Location> <Location /svn/BBB> DAV svn SVNPath /var/svn/repos/BBB </Location>
Apacheを再起動する。
systemctl restart httpd.service systemctl status httpd.service
WEBブラウザでアクセスすると…
出来立てはこんな感じ。リポジトリに何も入れていないのだから空っぽだ。
3. 応用編
(1) アクセス時に認証を必要とする。
ログイン情報を作成する。
mkdir -p /etc/subversion/conf FPATH=/etc/subversion/conf/authuser.conf USER=aoidake PASS=onsen htpasswd -c -b $FPATH $USER $PASS
httpsの設定を変更する。
vi /etc/httpd/conf.d/subversion.conf
AuthName以下を追記する。
<Location /svn> DAV svn SVNParentPath /var/svn/repos AuthName "My SVN" AuthType Basic AuthBasicProvider file AuthUserFile /etc/subversion/conf/authuser.conf Require valid-user </Location>
Apacheを再起動する。
systemctl restart httpd.service systemctl status httpd.service
認証が必要になった。
(2) セキュア接続を強制する。
後で追記…