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 つのソート アルゴリズムの概要 (推奨!)

推薦する

Vueプロジェクトでのトークン検証ログイン(フロントエンド部分)

この記事の例では、Vueプロジェクトでのトークン検証ログインの具体的なコードを参考までに共有していま...

Dockerを使用してNextCloudネットワークディスクを展開する方法

NextCloud コンピュータ上の任意のファイルやフォルダを共有し、NextCloud サーバーと...

vue-video-player でのブレークポイント再開の実装

最近のプロジェクトでは、ブレークポイントからビデオの再生を再開する機能を実装する必要がありました。こ...

透明な入力ボックスにアイコンを追加する HTML コード

最近、弁護士推薦のウェブサイトを作成していたのですが、検索ボックスに問題がありました。検索ボックス内...

Linux サーバーでフォルダー、ファイル、解凍コマンドを削除する方法

1. フォルダを削除する例: rm -rf /usr/java /usr/javaディレクトリとその...

MySQL (5.6 以下) の JSON 解析の詳細な例

MySQL(5.6以下)はjsonを解析します #json 解析関数 DELIMITER $$ `j...

ウェブサイトのユーザーエクスペリエンスデザイン(UE)

Google Reader で、JunChen が書いた「フロー理論と設計」というタイトルの投稿を見...

JavaScript で配列の変更を監視する方法

序文以前、defineProperty を紹介したとき、オブジェクトの変更のみを監視でき、配列の変更...

Dockerfile の一般的なコマンドの概要

構文の構成: 1 注釈情報2 コマンド --- パラメータ [通常は大文字 | 実際には大文字と小文...

CSS3を使って歌詞進行テキストカラー塗りつぶし変更の動的効果を実装するアイデアの詳細な説明

音楽を再生すると、曲が進むにつれて歌詞が徐々に色づきます。色は単語ごとに変わるのではなく、左から右へ...

uni-appがNFC読み取り機能を実装

この記事では、参考までに、NFC読み取り機能を実装するためのuni-appの具体的なコードを紹介しま...

JavaScript のよりエレガントなエラー処理方法 async await

目次背景なぜエラー処理が必要なのでしょうか? async await より適切なエラー処理まとめ要約...

LinuxにPython 3.6をインストールして落とし穴を避ける

Python 3のインストール1. 依存環境をインストールするPython3 はインストール プロセ...

Vue フロントエンド開発における keepAlive の使用方法の詳細な説明

目次序文keep-avlive フック関数keep-avliveはどのコンポーネントをキャッシュする...

React useEffect の理解と使用

目次繰り返しレンダリングループを避ける副作用の除去についてReact16.8 の新しい useEff...