CentOS 7でApache Subversion(SVN)サーバーをセットアップする方法

Apache Subversion(SVN)は、ソースコードやドキュメントなど、さまざまなバージョンのファイルを格納するのに役立つ、広く使用されているバージョン管理ソリューションです。

この記事では、Apache SubversionとApacheを使用してVultr CentOS 7サーバーインスタンス上にSVNサーバーを構築する方法を紹介します。

前提条件

  • CentOS 7を実行するVM(最小限のインストールを推奨、ただし必須ではありません)。
  • ログイン用のsudoユーザー。別のVultrの記事では、sudoユーザーの設定方法について詳しく説明しています。

ステップ1:システムを更新する

sudo yum update
sudo shutdown -r now

再起動後、同じsudoユーザーを使用してシステムに再度ログインします。

ステップ2:Apacheをインストールする

YUMを使用してApacheをインストールします。

sudo yum install httpd

Apacheのデフォルトのウェルカムページを削除します。

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

Apacheが「/ var / www / html」ディレクトリ内のファイルを表示しないようにします。

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

ステップ3:SVNとmod_dav_svnモジュールをインストールする

SVNをApacheで動作させるには、SVN に加えてApacheモジュール「mod dav svn」をインストールする必要があります。

sudo yum install subversion mod_dav_svn

ステップ4:SVNを構成する

1)SVN構成ファイルを変更する

sudo vi /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

次のセグメントを追加します。

<Location /svn>
DAV svn
SVNParentPath /svn
AuthName "SVN Repos"
AuthType Basic
AuthUserFile /etc/svn/svn-auth
AuthzSVNAccessFile /svn/authz
Require valid-user
</Location>

保存して終了:

:wq!

:この構成では、HTTPアクセス認証ファイル「/ etc / svn / svn-auth」とユーザー権限制御ファイル「/ svn / authz」を指定しました。どちらも後で作成されます。

2)SVNリポジトリを作成する

sudo mkdir /svn
cd /svn
sudo svnadmin create repo1
sudo chown -R apache:apache repo1

3)SVNユーザーアカウントの設定

次のコマンドを使用して、HTTPアクセス認証ファイル「/ svn / svn-auth」とSVNユーザーアカウント「user001」を作成します。

sudo mkdir /etc/svn
sudo htpasswd -cm /etc/svn/svn-auth user001
sudo chown root:apache /etc/svn/svn-auth
sudo chmod 640 /etc/svn/svn-auth

さらにSVNユーザーアカウントを作成する場合は、次のコマンドを参照してください。

sudo htpasswd -m /etc/svn/svn-auth user002
sudo htpasswd -m /etc/svn/svn-auth user003

警告:今後は "-c"フラグを使用しないでください。使用すると、認証ファイルが再構築され、以前に設定したすべてのユーザーアカウントが消去されます。

4)ユーザーのセットアップ権限

sudo cp /svn/repo1/conf/authz /svn/authz
sudo vi /svn/authz

と仮定する:

  • ユーザー「user001」は管理者です。
  • ユーザー「user002」は、SVNリポジトリ「repo1」への読み取りおよび書き込み権限を所有する資格のあるユーザーです。
  • ユーザー「user003」は、SVNリポジトリ「repo1」の内容のみを読み取ることができる研修生です。

次に、以下のようにして設定を変更できます。

[groups]
admin=user001
repo1_user=user002
repo1_trainee=user003

[/]
@admin=rw

[repo1:/]
@repo1_user=rw
@repo1_trainee=r

保存して終了:

:wq!

ステップ5:Apacheを起動してファイアウォールルールを変更する

Apacheを起動します。

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

HTTPサービスポートを開きます。

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

最後に、次のパスを使用して、SVNクライアントからサーバー上のSVNリポジトリ「repo1」にアクセスします。

http://<your-server-ip>/svn/repo1/

これでチュートリアルは終了です。読んでくれてありがとう。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。