はじめに
Subversion(またはSVN)は、ソフトウェアコードへの変更を維持および追跡するために使用されるオープンソースのソフトウェアバージョン管理システムです。この記事では、ローカルコンピューターからアクセス可能なCentOS7でSVNサーバーをセットアップするプロセスについて説明します。最後に、SVNクライアントでサンプルプロジェクトを作成して、そのサーバーをテストします。
前提条件
- 既存のCentOS7のインストール。 CentOS 7のセットアップについてサポートが必要な場合は、CentOS7の初期セットアップのハウツーを確認してください。
- Linuxコマンドラインの基本的な知識
SVNのインストール
サーバーを実行するための最初のステップは、SVNをインストールすることです。 CentOSでは、これはyum
を使用して最も簡単に実行できます。 パッケージマネージャー。次のコマンドを実行してSVNをインストールします。
sudo yum install subversion
y
を押します 、プロンプトが表示されたら、インストールを確認します。完了すると、「Complete!」と表示されます。ターミナルで。インストールを確認するには、次のコマンドを実行します。
svn --version
正しくインストールされている場合は、SVNインストールのバージョンの詳細と著作権情報を示す短いメッセージが表示されます。
。
リポジトリの作成
SVNの使用を開始する前に、リポジトリに必要な構造を決定する必要があります。小規模なチームまたは個人的な使用の場合、1つのリポジトリで十分です。複数のリポジトリが必要な場合は、必要なリポジトリごとにこのセクションを繰り返す必要があります。次のコマンドを実行して、/srv/svn
にファイルシステムディレクトリを作成します。 リポジトリ用。
sudo mkdir /srv/svn
次に、svnadmin
を使用してリポジトリを初期化します コマンド:
sudo svnadmin create /srv/svn
このコマンドは、SVNリポジトリといくつかのデフォルトファイルに必要なフォルダ構造を作成します。
。
サーバーの構成
SVNサーバーを実行するための多くのオプションがあります。このチュートリアルでは、組み込みのsvnserve
を使用します 、起動が非常に簡単です。このオプションは、高度なオプションを必要としないほとんどのチームに適しています。
。
ユーザーの作成
cd /srv/svn/conf sudo nano svnserve.conf
このファイルでは、2つのプロパティを追加します。最初はpassword-db
です これは、ユーザーが保存されるファイルを指します。 2番目はrealm
です 、これは、このリポジトリで使用される「名前空間」と考えることができます。このレルム名は、認証中にユーザーに表示されます。
[general] password-db = passwd realm = my company
事前に生成された構成ファイルを編集している場合、これらのプロパティはすでに存在します。コメント記号(
#
)を削除できます )–および先行する空白–上または好みに合わせて割り当てを編集します。
。
この/srv/svn/conf
ディレクトリには、すでにpasswd
が表示されているはずです。 ファイル。 svnadmin
上記のコマンドは、このファイルを自動的に作成します。キーと値のペアでユーザー名とパスワードを指定して、必要な数のユーザーを追加します。例:
[users] samantha = secretpassword robert = hunter2
サーバーの起動
サーバーを起動するには、svnserve
を使用します コマンド。
sudo svnserve -d -r /srv/svn
-d
スイッチはそれをバックグラウンド(デーモン)プロセスとして開始します。 -r
switchは、前に作成したリポジトリのファイルシステムの場所をサーバーにポイントします。 (構成オプションの完全なリストについては、man svnserve
を実行してください。 。)
このプロセスは、必ず昇格(root)ユーザーとして実行してください。そうしないと、エンドユーザーはリポジトリに変更をコミットできなくなります。
。svnserve
のデフォルトポート は3690です。SVNサーバーが実行されていることを確認するには、ブラウザーを開いてhttp://myserver:3690
に移動します。 (myserver
の置き換え サーバーのホスト名またはIPアドレスを使用)。以下のようなテキストが表示されます。
![](https://m.unixlinux.online/article/uploadfiles/202207/2022071116451937.png)
ブラウザでのSubversion応答の例
http://
を使用できますが ここでは、サーバーが起動していることを確認するために、主にカスタムsvn://
を使用してSVNサーバーと対話します。 URL形式。
。
テストプロジェクトの作成
すべてが適切に設定されていることを確認するために、ダミープロジェクトを作成します。これ以降は、SVNがインストールされているクライアントから作業する必要があります。別のコンピューターに簡単にアクセスできない場合(または個人的な使用のためにコンピューターにSVNをインストールしている場合)、もちろん、既に作業しているサーバーを使用できます。
テストプロジェクトフォルダを作成することから始めます。
mkdir ~/Documents/my-first-project
次に、次のコマンドを実行して、そのディレクトリをSVNにインポートします。 (繰り返しになりますが、必ずmyserver
を置き換えてください SVNサーバーのホスト名またはIPを使用します。)
svn import ~/Documents/my-first-project svn://myserver:3690/my-first-project -m "Initial commit." --username robert --password hunter2
その単一のコマンドには多くのフラグがあるので、それぞれが何をするかを確認しましょう。
import
SVNで新しいプロジェクトを作成します。ソースを指定してから宛先を指定します。-
-m "Initial commit."
SVNに記録されるコミットメッセージです。 --username
および--password
認証の詳細です。
パスワードが暗号化されずにキャッシュされるという警告が表示される場合があります。クライアントコンピュータがすでにパスワードで保護されている場合は、これで問題ない可能性があります。ただし、セキュリティを最適化するために、プロンプトで「no」と入力して、
Store password unencrypted
することができます。 、およびパスワードはキャッシュされません。store-plaintext-passwords
の設定の提案に従うこともできます (示された構成ファイルで)「いいえ」に変更すると、再度プロンプトが表示されなくなります。
。
すべてがうまくいけば、Committed revision 1
が表示されます。 ターミナルで。
一般的なエラー
何かが適切に構成されていない場合に発生する可能性のあるエラーは次のとおりです。
- 認証または承認の失敗 :「ユーザーの作成」で設定を確認します。これらの構成ファイルが正しい場所にあり、タイプミスがないことが重要です。
- リポジトリに接続できません :サーバーが実行中であり、正しい
-r
で起動したことを確認してください パス。 - ファイル権限エラー :サーバーが昇格された権限で実行されていることを確認してください。よくわからない場合は、
ps aux
コマンドは、svnserve
を実行しているユーザーを表示します 。
。
結論
このチュートリアルを終了すると、次のことができるようになります。
- CentOS7で基本的なSVNリポジトリを作成する
- リポジトリにユーザーを追加する
- クライアントがリポジトリにアクセスできるサーバーを起動します
SVNのインストールで構成できる追加のオプションはたくさんあります。詳細については、SVNサーバーの構成とメンテナンスに関する詳細が記載されているSVNブックを参照してください。
Atlantic.netは、VPSホスティングと、ホスティングパッケージにビジネスに不可欠なマネージドサービスのレイヤーを含むマネージドホスティングサービスを提供します。詳細については、今すぐお問い合わせください。