CentOS

【備忘録】CentOS7にSubversionをセットアップした時の手順

投稿日:2020年4月30日 更新日:

この記事はだいたい 4 分ほどで読めます。

CentOS7にSubversionをセットアップした時の備忘録です。

ロゴ

環境

実行した環境はこちらです。

# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)

subversionインストール

インストールを開始します。

# yum install subversion

Subversionのリポジトリ作成

続いてリポジトリを作成します。

リポジトリ用のディレクトリを作成します。

# mkdir -p /var/www/svn/repos
# svnadmin create /var/www/svn/repos
# svn mkdir file:///var/www/svn/repos/trunk -m "create"
# svn mkdir file:///var/www/svn/repos/branches -m "create"
# svn mkdir file:///var/www/svn/repos/tags -m "create"

Subversion用のグループを作成

svngroupというSubvertion用のグループを作成。

# groupadd svngroup

Subversionリポジトリのグループと権限を変更

権限を変更します。

# chown -R :svngroup /var/www/svn/
# chmod -R 775 /var/www/svn/

Subversion用のユーザを作成、グループに入れる

Subversion用にユーザを作成し、svngroupに追加します。

# useradd -m [ユーザー名]
# usermod -aG svngroup [ユーザー名]

パスワード設定

先ほど追加したユーザのパスワードを設定。

# passwd [ユーザー名]

サービスを開始する。

サービスを開始してみます。

# systemctl start svnserve

エラーが発生したため確認

ステータスを確認します。

# systemctl status svnserve
● svnserve.service - Subversion protocol daemon
Loaded: loaded (/usr/lib/systemd/system/svnserve.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since 木 2020-04-30 11:20:26 JST; 2min 14s ago
Process: 23148 ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS (code=exited, status=1/FAILURE)
4月 30 11:20:25 hoge.hogesrv.com systemd[1]: Starting Subversion protocol daemon…
4月 30 11:20:26 hoge.hogesrv.com svnserve[23148]: svnserve: ルートパス '/var/svn' が存在しないかディレクトリではありません。
4月 30 11:20:26 hoge.hogesrv.com systemd[1]: svnserve.service: control process exited, code=exited status=1
4月 30 11:20:26 hoge.hogesrv.com systemd[1]: Failed to start Subversion protocol daemon.
4月 30 11:20:26 hoge.hogesrv.com systemd[1]: Unit svnserve.service entered failed state.
4月 30 11:20:26 beanhouse.beanhousesrv.com systemd[1]: svnserve.service failed4月 30 11:20:26 hoge.hogesrv.com systemd[1]: svnserve.service failed.

ルートパスが存在しないというエラーが発生しました。

svnserve の設定

ルートパスの設定を変更します。

# vi /etc/sysconfig/svnserve
OPTIONS="-r /var/svn"
↓
OPTIONS="-r /var/www/svn"

サービスを開始する

改めてサービスを開始します。

# systemctl start svnserve

起動できました。

次にhttp経由でリポジトリにアクセスできるようにする。

mod_dav_svnのインストール確認をします。

# yum info mod_dav_svn
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
base: ftp.yz.yamagata-u.ac.jp
epel: nrt.edge.kernel.org
extras: ftp.yz.yamagata-u.ac.jp
remi-safe: ftp.riken.jp
updates: ftp.yz.yamagata-u.ac.jp
インストール済みパッケージ
名前 : mod_dav_svn
アーキテクチャー : x86_64
バージョン : 1.7.14
リリース : 14.el7
容量 : 212 k
リポジトリー : installed
提供元リポジトリー : base
要約 : Apache httpd module for Subversion server
URL : http://subversion.apache.org/
ライセンス : ASL 2.0
説明 : The mod_dav_svn package allows access to a Subversion repository
: using HTTP, via the Apache httpd server.

インストール済みなので次。

アパッチに所有権を持たせる。

# chown -R apache:apache /var/www/svn

subversion設定ファイルの編集

外部からアクセスする予定はないので内部のみ許可するように設定。

# vi /etc/httpd/conf.d/subversion.conf
<Location /svn/repos>
    DAV svn
  #内部からのみアクセス許可
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from 192.168.1.0/24

    AuthType Basic
    AuthName "DAV SVN"
    AuthUserFile /etc/httpd/.htpasswd
    SVNParentPath /var/www/svn
    SVNListParentPath on
    SVNAutoversioning on
    Require valid-user
</Location>

ユーザの設定をおこないます。

※-cオプションは新規作成なので、追加する場合は-cをはずせばいい

# htpasswd -bc /etc/httpd/.htpasswd [ユーザー名] [パスワード]

httpdを再起動。

# systemctl restart httpd

内部からだけアクセスできることが確認できました。

おわり。

-CentOS
-, ,

執筆者:


comment

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

関連記事

ネットワーク

【備忘録】サイトのドメインを変更した時の手順

この記事はだいたい 6 分ほどで読めます。 このBlogを書き始めて1か月たったのでドメインを有料のものに変更しました。 その設定変更した内容を備忘録として残します。 ドメイン変更手順 ドメイン取得サ …

Repository

【備忘録】CentOS8にGitをインストールした手順

この記事はだいたい 2 分ほどで読めます。 テスト用のサーバー[CentOS8]にgitのリポジトリを作成しました。 その備忘録です。 サーバーのバージョン情報 $ cat /etc/redhat-r …

mistake

【備忘録】MariaDBでdump出力のエラーを解決した手順

この記事はだいたい 4 分ほどで読めます。 そろそろバックアップしとかないとと思ってdumpを取ろうとしたらエラーが発生しました。 結果的にdumpの出力ができるようになったのでその時に行った内容を備 …

HDD

VirtualBox で CentOS7 の ディスクを拡張した時の手順

この記事はだいたい 4 分ほどで読めます。 VirtualBox で CentOS7 にOracleをインストールしようとしたら空き領域不足でエラーとなってしまいました。 領域を確保するためにディスク …

ryzen5 3500

【自作PC】 Ryzen5 3500 で CentOS7 の稼働に成功

この記事はだいたい 7 分ほどで読めます。 Ryzen5 3500 を使用して自作PCで CentOS7 を稼働させました。 PCの構成や組立の工程を記事にしました。 経緯 仕事用にサーバーとして使っ …

Search for…

フリーランスのITエンジニアで一人親方のページです

趣味は犬の散歩と洗車と草むしり

[IT系のこと・興味のあること・日常のこと]を記事にしています