(14) subversionをインストール

投稿者: | 2013年8月5日

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) セキュア接続を強制する。

後で追記…


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です