SVNサーバー 構築メモ

2023年2月9日

自分用メモ。

間違ってるかもしれないから参考にするなら精査してね!
参考にした結果何が起こっても我々は責任負いません!!!

環境

マシン  : さくらVPS

OS     : CentOS7

前提

  • selinuxを無効化
  • 操作時はrootユーザ
  • Apacheインストール済み
  • http,httpsのポート開放済み

手順

インストール&準備

# yum -y upgrade
# yum -y install svn subversion mod_dav_svn
# mkdir /opt/repos
# chmod -R 755 /opt/repos
# chown -R apache:apache /opt/repos

Apache(httpd)設定ファイルを編集

1. 移動

# cd /etc/httpd/conf.modules.d

2. 10-subversion.confを開く

# vi 10-subversion.conf

3. 以下のように編集

/etc/httpd/conf.modules.d/10-subversion.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
LoadModule dontdothat_module  modules/mod_dontdothat.so
#SVN Config
<Location /repos/>
    DAV svn
    SVNParentPath /opt/repos
      AuthType Basic
      AuthName "Input your ID and PassWord"
      AuthUserFile /opt/.htpasswd_svn
      Require valid-user
</Location>

※Basic認証ファイル.htpasswd_svnは後に作成

htpasswd_svnの作成

1. htpasswdの文字列を作成

  • ※今回はWebサイトを使用しているが同じような事が出来ればなんでもよい
  • ブラウザで[https://www.luft.co.jp/cgi/htpasswd.php]にアクセス。以下のように入力

2. 生成された文字列を/opt/.htpasswd_svnに格納

# echo "taisyo:u4feMyZeJcPSE" >> /opt/.htpasswd_svn

3. .htpasswd_svnに権限を付与

# chmod 755 /opt/.htpasswd_svn

リポジトリ作成(と権限変更)

1. リポジトリを格納するディレクトリ作成

# cd /opt/repos
# mkdir {プロジェクト名}
# chown -R apache:apache /opt/repos/{プロジェクト名}

2. svnadminコマンドでリポジトリ作成

# svnadmin create /opt/repos/{プロジェクト名}

3. svnの基本的なディレクトリを作成し、コミット

# svn mkdir -m 'create repository' file:///opt/repos/{プロジェクト名}/trunk
# svn mkdir -m 'create repository' file:///opt/repos/{プロジェクト名}/branches
# svn mkdir -m 'create repository' file:///opt/repos/{プロジェクト名}/tags

Apache再起動

systemctl restart httpd

確認

ブラウザでhttp://{サーバーIP or ホスト名}/repos/{プロジェクト名}にアクセスし、「htpasswd_svnの作成」で設定した認証情報でログイン。その後、リポジトリが表示されればOK