Linux で SVN サーバーをインストールする方法

Linux で SVN サーバーをインストールする方法

1. Yumのインストール

yum でサブバージョンをインストール

2. 構成

1. 倉庫を作る

/home の下に svn という名前のリポジトリを作成し、今後すべてのコードをその下に配置することになります。作成が成功すると、svn の下にさらにいくつかのフォルダーが追加されます。

[root@localhost /]# cd /home
[root@localhost ホーム]# mkdir svn
[root@localhost home]# svnadmin create /home/svn
[root@localhost ホーム]# ls svn
conf db フォーマット フック ロック README.txt

confフォルダ(設定ファイルを保存する)

[root@localhost ホーム]# cd svn/conf
[root@localhost conf]# ls
認証パスワード svnserve.conf
  • authzは権限制御ファイルです
  • passwdはアカウントのパスワードファイルです
  • svnserve.confはSVNサービス設定ファイルです

2. パスワードファイルを設定する

[root@localhost conf]# vim パスワード 

### このファイルは svnserve のサンプル パスワード ファイルです。
### そのフォーマットはsvnserve.confに似ています。
### 以下の例では、[users] というラベルの付いたセクションが 1 つ含まれています。
### 各ユーザーの名前とパスワードが 1 行に 1 つのアカウントずつ続きます。
[ユーザー]
# ハリー = ハリーの秘密
# サリー = サリーの秘密

ユーザー1=123456
ユーザー2=123456

3. authzを設定する

[root@localhost conf]# vim authz 

### このファイルは svnserve の認証ファイルの例です。
### フォーマットはmod_authz_svnの認証と同じです
### ファイル。
### 以下に示すように、各セクションではパスの権限を定義し、
### (オプション) セクション名で指定されたリポジトリ。
### 承認は次の通りです。承認行は次のものを参照できます。
### - 単一のユーザー、
### - 特別な[groups]セクションで定義されたユーザーのグループ、
### - 特別な[aliases]セクションで定義されたエイリアス、
### - '$authenticated'トークンを使用するすべての認証済みユーザー
### - '$anonymous'トークンを使用する匿名ユーザーのみ
### - '*' ワイルドカードを使用して誰でも検索できます。
###
### ルールの前に「~」を付けることで、一致を反転することができます。ルールは
### 読み取り ('r') アクセス、読み取り/書き込み ('rw') アクセス、またはアクセスなしを許可します
### ('')。

[別名]
# ジョー = /C=XZ/ST=デザート/L=スネークシティ/O=スネークオイル株式会社/OU=研究所/CN=ジョーアベレージ

[グループ]
# harry_and_sally = ハリー、サリー
# harry_sally_and_joe = ハリー、サリー、ジョー

# [/foo/バー]
# ハリー = rw
# &ジョー = r
# * =

# [リポジトリ:/baz/fuz]
# @harry_and_sally = 読み続ける
# * = r

[/]
ユーザー1=rw
ユーザー2=r
*=
〜 

4. svnserve.confを設定する

[root@localhost conf]# vim svnserve.conf 

### このファイルはsvnserveデーモンの設定を制御します。
### このリポジトリへのアクセスを許可するために使用します。(
### http: および/または file: URL 経由でアクセスする場合、このファイルは
### 無関係です。

### 詳細については、http://subversion.apache.org/ をご覧ください。

[一般的な]
### anon-accessおよびauth-accessオプションは、
### 認証されていない(匿名)ユーザー用のリポジトリと
それぞれ ### 人の認証済みユーザー。
### 有効な値は「write」、「read」、「none」です。
### 値を「none」に設定すると、読み取りと書き込みの両方が禁止されます。
### 「read」は読み取り専用アクセスを許可し、「write」は完全なアクセスを許可します 
### リポジトリへの読み取り/書き込みアクセス。
### 以下のサンプル設定はデフォルトであり、匿名
### ユーザーはリポジトリへの読み取り専用アクセス権を持ちますが、認証されている場合は
### ユーザーはリポジトリへの読み取りおよび書き込みアクセス権を持ちます。
匿名アクセス = 読み取り
認証アクセス = 書き込み
### password-dbオプションはパスワードの場所を制御します
### データベースファイル。/で始まるパスを指定しない限り、
### ファイルの場所は、
### この設定ファイル。
### SASL が有効になっている場合 (下記参照)、このファイルは使用されません。
### デフォルトのパスワード ファイルを使用するには、以下の行のコメントを解除します。
パスワード-db = パスワード
### authz-dbオプションは認証の場所を制御します
### パスベースのアクセス制御のルール。パスを指定しない限り
### /で始まる場合、ファイルの場所は
### このファイルを含むディレクトリ。
### authz-db では、パスベースのアクセス制御は行われません。
### デフォルトの認証ファイルを使用するには、以下の行のコメントを解除します。
authz-db = authz
### このオプションは、リポジトリの認証領域を指定します。
### 2つのリポジトリが同じ認証レルムを持つ場合、
### 同じパスワードデータベースを持ち、その逆も同様です。デフォルトのレルム
### はリポジトリの UUID です。
# realm = 私の最初のリポジトリ
領域 = /home/svn
### force-username-case オプションは svnserve に大文字と小文字の区別を正規化させます
### ユーザー名を認証ルールと比較する前に
### authz-dbファイルは上記で設定されています。有効な値は「upper」(上位から
### ユーザー名を大文字にする)、「lower」(ユーザー名を小文字にする)、および
### "none"(大文字と小文字を変換せずにユーザー名をそのまま比較します。
### はデフォルトの動作です)。
# ユーザー名の大文字/小文字の強制 = なし

[サスル]
### このオプションはCyrus SASLを使用するかどうかを指定します
### 認証用のライブラリ。デフォルトは false です。
### svnserveがCyrusでビルドされていない場合、このセクションは無視されます
                

最後の行の領域を SVN ディレクトリに変更することを忘れないでください。コメントを開くときは、先頭にスペースを残さないようにしてください。

3. 開始と停止

[root@localhost conf]# svnserve -d -r /home/svn (開始)
[root@localhost conf]#すべてのsvnserveを強制終了(停止)

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux で SVN を設定してプロジェクト ディレクトリとソース コードのインストールの自動更新を実現する方法
  • Linux での SVN サーバーのコンパイル、インストール、構成の手順の共有
  • Linux で SVN スタンドアロン サーバーをインストールして構成する方法

<<:  mysqlreplicate を使って MySQL マスタースレーブを素早く構築する方法

>>:  JavaScript で実装された 7 つのソート アルゴリズムの概要 (推奨!)

推薦する

nginx が複数のプロキシ層を通過して実際の送信元 IP を取得するプロセスの詳細な説明

質問Nginx は $remote_addr を実際の IP アドレスとして受け取りますが、実際には...

MySQL スロークエリ関連パラメータの原理の分析

MySQL スロー クエリ (正式名称はスロー クエリ ログ) は、MySQL によって提供されるロ...

ブラウザでTIF形式の画像を表示する方法

ブラウザはTIF形式の画像を表示しますコードをコピーコードは次のとおりです。 <html>...

Gitlab-ci を使用してリモート マシンに継続的にデプロイする方法 (詳細なチュートリアル)

簡単に言うと、今日は Gitlab-CI を使用してリモート サーバーに自動的にデプロイする方法につ...

Swiper+echartsは複数のダッシュボードの左右スクロール効果を実現します

この記事では、ダッシュボードの左右スクロール効果を実現するためのスワイパー+echartsの具体的な...

MySQLにおけるACIDトランザクションの実装原理の詳細な説明

導入いつものように、シーンから始めましょう〜インタビュアー:「トランザクションの4つの特性をご存知で...

TomcatのmaxPostSize属性を設定する際に注意する必要がある問題を解決する

必要:近い将来、大容量ファイルのアップロード機能を実装します。フロントエンドフレームワークのアップロ...

Dockerを使用してサーバー上で複数のPHPバージョンを実行する

PHP7 がリリースされてからかなり時間が経ちますが、パフォーマンスが大幅に向上したことはよく知られ...

MySQL の無効な左結合の問題を解決する方法とその使用上の注意

MySQLの左結合が無効であり、その使用方法今日SQLを書いていたとき、左結合を使用すると左のテーブ...

Dockerコンテナがホストポートにアクセスできない場合の解決策

最近、仕事中に問題が発生しました。Docker コンテナがホストの redis にアクセスできず、t...

検証コード干渉を実装する js (静的)

この記事では、検証コード干渉を実装するためのjsの具体的なコードを参考までに共有します。具体的な内容...

Unicodeの一般的な記号

Unicode は、世界中のすべてのテキストと記号に対応できる国際組織によって開発された文字エンコー...

xtrabackup による MySQL データベースのバックアップと復元

mysqldump バックアップは、その独自の特性 (テーブルのロック、基本的に挿入スクリプトまたは...

axios リクエストのカプセル化に基づく Vue アプリケーションのサンプルコード

目次axiosとは何ですか? Axios リクエストタイプ? Axiosはデフォルトのカスタム構成を...

Mysql5.7 で JSON 操作関数を使用する手順

序文JSON は、言語に依存しないテキスト形式を使用する軽量のデータ交換形式で、XML に似ています...