Apache SubversionはSVNとも呼ばれ、ドキュメント、ソースコード、Webなどの現在および過去の過去のファイルバージョンを保存するのに役立つオープンソースのバージョン管理およびリビジョン制御プログラムです。ページ。 SVNはApacheライセンスの下にあります。
このチュートリアルでは、RHEL8およびRockyLinux 8にSVNをインストールして構成する方法を学習します。ここで、認証されたユーザーはSVNリポジトリでチェックインおよびチェックアウト操作を実行できます。 。
ステップ1)SVNとApacheをインストールします
SVNおよびApache(http)パッケージは、RHEL8およびRockyLinux 8のデフォルトのパッケージリポジトリで利用できます。次のdnfコマンドを実行して、必要なパッケージをインストールします。
$ sudo dnf install -y httpd subversion mod_dav_svn
ステップ2)ApacheSubversionの構成ファイルを編集する
ファイル「/etc/httpd/conf.d/subversion.conf」を作成し、次の行を追加します。
$ sudo vi /etc/httpd/conf.d/subversion.conf <Location /svn> DAV svn SVNParentPath /var/www/svn/ AuthType Basic AuthName "SVN Repository" AuthUserFile /etc/svn/svn-auth-accounts Require valid-user </Location>
上記の設定では、認証されたユーザーのみがSVNリポジトリを使用できます。
ステップ3)htpasswdコマンドを使用してSVNユーザーを作成します
以下のコマンドを実行して、htpasswdコマンドを介してSVNのユーザーを作成します。
$ sudo htpasswd -cm /etc/svn-auth-accounts linuxtechi New password: Re-type new password: Adding password for user linuxtechi $
上記のhtpasswdコマンドでは、「-c」と「-m」を使用しました オプション。 -cはパスワードファイル(/ etc / svn-auth-accounts)を作成するために使用され、-mはユーザーのMD5暗号化パスワードを作成するために使用されます。 2番目のユーザーを作成するには、上記のコマンドから「-c」を削除します。削除しないと、既存のファイルが上書きされます。
$ sudo htpasswd -m /etc/svn-auth-accounts pkumar New password: Re-type new password: Adding password for user pkumar $
ステップ4)SVNリポジトリを作成する
次のコマンドを次々に実行して、最初のsvnリポジトリを作成し、必要な権限を設定します。
$ sudo mkdir /var/www/svn $ cd /var/www/svn/ $ sudo svnadmin create repo $ sudo chown apache.apache repo/
注:SELinuxが有効になっている場合は、
$ sudo chcon -R -t httpd_sys_content_t /var/www/svn/repo/ $ sudo chcon -R -t httpd_sys_rw_content_t /var/www/svn/repo/
ステップ5)Apacheサービスを開始して有効にする
以下のsystemctlコマンドを実行して、ApacheWebサーバーのサービスを開始して有効にします。
$ sudo systemctl start httpd $ sudo systemctl enable httpd
システムでファイアウォールが有効になっている場合は、実行して次のポートを許可します。
$ sudo firewall-cmd --permanent --zone=public --add-service=http $ sudo firewall-cmd --permanent --zone=public --add-service=https $ sudo firewall-cmd --reload
ステップ6)WebブラウザからSVNリポジトリにアクセスする
Webブラウザに次のURLを入力します
http://
ブラウザで、IPアドレスをSVNサーバーのIPに置き換えるだけです
ステップ7)SVNリポジトリでの匿名アクセスを無効にする
ファイルを編集します– /var/www/svn/repo/conf/svnserve.conf、以下の2行を追加します
## Disable Anonymous Access anon-access = none ## Enable Access control authz-db = authz
ステップ8)プロジェクトディレクトリのコンテンツをSVNリポジトリにインポートする
最初のサンプルプロジェクトディレクトリとそのファイルを作成しましょう。
$ mkdir devops $ cd devops/ $ touch testfile_1 ; touch testfile_2 $
次に、SVNコマンドを使用して、「devops」プロジェクトをリポジトリにインポートします。 svnサーバー自体にサンプルの「devops」プロジェクトを作成したので。したがって、次のsvnコマンドを実行します
$ sudo svn import -m "First SVN Repo" devops file:///var/www/svn/repo/devops Adding devops/testfile_1 Adding devops/testfile_2 Committing transaction... Committed revision 1. $
ブラウザから確認してください
ステップ9)プロジェクトをチェックアウトする
私の場合、SVNコマンドを使用してUbuntuラップトップでdevopsプロジェクトをチェックアウトしたいと思います。したがって、チェックアウト操作を実行するには、システムにsubversionパッケージがインストールされていることを確認してください。インストールされていない場合は、「sudo apt install-ysubversion」コマンドを使用して必要なパッケージをインストールしてください。
$ mkdir svn_data $ svn co http://192.168.1.180/svn/repo/devops/ /home/pkumar/svn_data/ --username linuxtechi A svn_data/testfile_1 A svn_data/testfile_2 Checked out revision 1. $
ステップ10)変更のコミット
プロジェクトコードに必要な変更を加えた後、SVNリポジトリに変更をコミットできます。私の場合、linuxprojectフォルダーにもう1つのファイルを作成しました。
$ cd svn_data/ $ touch testfile_3 $ svn add testfile_3 --username linuxtechi A testfile_3 $ $ svn commit -m "New File addedd" --username linuxtechi Adding testfile_3 Transmitting file data . Committed revision 2. $
注:以下のエラーが発生した場合は、変更をコミットしている間
svn:E000013:コミットに失敗しました(詳細は次のとおりです):
svn:E000013:トランザクションを開始できませんでした
次に、このエラーを解決するために、Apacheユーザーがリポジトリ全体への読み取りおよび書き込みアクセス権を持っていることを確認してください。
$ cd /var/www/svn/repo $ sudo chown -R apache:apache * $ sudo chmod -R 664 *
このチュートリアルは以上です。以下のコメントセクションでフィードバックや質問を共有してください。