このハウツーでは、ApacheとCentOS VPSを使用してSVN(Subversion)WebDAVアクセス可能なリポジトリサーバーをインストールおよび構成する方法について説明します。 SVNとは何ですか?これはオープンソースの集中型バージョン管理システムであり、ファイルとディレクトリの履歴を追跡してリポジトリに保存し、データがどのように変更されたかの履歴を調べ、必要に応じて古いバージョンのデータを復元することができます。
このチュートリアルでは、CentOS 6ベースのVPSを使用していますが、WebDAVプロトコルを使用してHTTP経由でアクセスできるSVNリポジトリサーバーのインストールと構成は、他のLinuxベースのVPSとほぼ同じです。
1.「root」権限を持っていると仮定して、システムを完全に更新し、必要なパッケージをインストールするために、次のコマンドを実行します。
# yum -y update && yum -y install mod_dav_svn subversion
次に、Subversionユーザーとリポジトリを作成して構成します。
2。最初のsvnユーザーを作成するには、次のコマンドを使用します。
# htpasswd -cm /etc/svn_htpasswd user1
ユーザーを作成します‘user1’ ‘/ etc / svn_htpasswd’を作成します 暗号化されたパスワードとともにsvnユーザー名を保持するファイル。
(追加のsvnユーザーを作成するには、htpasswdの「-c」スイッチを省略する必要があります。例:
# htpasswd -m /etc/svn_htpasswd user2
3。次に、次のコマンドを使用してリポジトリを作成します。
# mkdir /var/www/repos # svnadmin create /var/www/repos/test_repo1 # svnadmin create /var/www/repos/test_repo2 # chown -R apache: /var/www/repos/
HTTP経由でリポジトリにアクセスできるようにするには、subversionapache構成ファイルを構成する必要があります。
4。 subversionの構成ファイルを作成または変更します‘/ etc / httpd / conf.d / subversion.conf’ 次のように:
# cat /etc/httpd/conf.d/subversion.conf LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /repos> DAV svn SVNParentPath /var/www/repos AuthType Basic AuthName "Subversion repositories" AuthUserFile /etc/svn_htpasswd Require valid-user AuthzSVNAccessFile /etc/svn_acl </Location>
次に、Apache Webサーバーを再起動して、変更を有効にします。次のコマンドを発行して、apacheをリロードします。
# service httpd restart
( 次のようなものが表示された場合:‘mod_dav_svn.so:undefined symbol:dav_register_provider’ 、ほとんどの場合、「 mod_dav.so」をアクティブ化する必要があります ‘および‘ mod_dav_fs.so コア構成ファイル内の‘apacheモジュール‘ / etc / httpd / conf / httpd.conf’ )
5。リポジトリへの匿名アクセスを無効にし、代わりにACL(アクセス制御リスト)を有効にします。これを行うには、リポジトリの‘svnserve.confに次の2行を追加します。 ‘構成ファイル:
# cat /var/www/repos/test_repo1/conf/svnserve.conf [general] [sasl] ## Disable anonymous access ## anon-access = none ## Enable access control ## authz-db = authz
6。 SVNアクセスリストを作成して、ユーザーにさまざまなアクセスレベルを割り当てることができるようにします。例:
# cat /etc/svn_acl [groups] group1 = user1 group2 = user2 group3 = user3, user4 [/] * = r @group1 = rw user1 = rw [test_repo1:/] @group1 = rw @group2 = [test_repo1:/static] @group2 = r [test_repo2:/public] @group3 = rw user2= r
7。最後に、「test_repo1」リポジトリの下に「static」、「documentation」、「code」リポジトリ構造を作成します。
次のコマンドで「テンプレート」ディレクトリを作成します:
# mkdir -p /tmp/test_repo1/{code,static,documentation}
作成したら、次のコマンドを実行して、ディレクトリを「test_repo1」リポジトリにインポートできます。
# svn import -m 'Testing ...' /tmp/test_repo1/ http://yourdomain.tld/repos/test_repo1/
これで、「http://yourdomain.tld/repos/test_repo1/」でHTTPプロトコルを介して新しく作成されたSVNリポジトリにアクセスできます。 。適切なsvnユーザーでログインする必要がある認証ウィンドウがポップアップ表示されます。
PS。 この投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。