godaddy centos専用サーバーにsubversionをインストールした後、Subversionリポジトリを構成してアクセスするにはどうすればよいですか
-
26-10-2019 - |
質問
サーバーにSubversionを正常にインストールしました。コマンドを実行するとき:
which svn
応答が得られます:
/usr/bin/svn
次のコマンドを使用して、httpdocsフォルダーであるルートディレクトリ内にリポジトリを作成します。
svnadmin create ~/svn
次のファイルとフォルダーを正常に作成して構成し、SVNディレクトリ内に次のファイルとディレクトリが表示されます。
conf db format hooks locks README.txt
しかし、トランク、ブランチ、タグディレクトリを作成することはできません。実際、ディレクトリ期間を作成することはできません。これが私が使用してきたコマンドです。
svn mkdir file:///httpdocs/svn/site
このコマンドを作成するとき、私が得るメッセージは次のとおりです。
svn: Could not use external editor to fetch log message; consider setting the
$SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no
'editor-cmd' run-time configuration option was found
また、URLを入力するとき:
http://mydomain.com/svn
次のメッセージが表示されます:
404 - Not Found
リポジトリを構成するために何をする必要がありますか。リポジトリが実際に機能しているかどうかを確認してください。ああ、私は次のコマンドを実行しました:
svnserve -d
解決
ルートディレクトリ内にリポジトリを作成します。これは、次のコマンドを含むhttpdocsフォルダーです...
それがあなたがやろうとしていることであれば、それはあなたがapache httpdで作業するためにあなたがsubversionを得る方法ではありません。 Apacheには、mod_davおよびmod_dav_svnモジュールが必要です。これらを取得するには、Apacheを再コンパイルする必要があるかもしれません。
mod_davとmod_dav_svnがインストールされたら、httpd.confファイルを構成する必要があります(またはhttpdの下に構成ファイルを配置します conf.d
システムでどのように構成されているかに応じて)機能するため。
最終的には、それほど難しいわけではありません。ほとんどのApacheインストールには、mod_davとmod_dav_svnが追加されており、http.confファイルが正しく構成されているかどうかを確認できます。オンラインSubversionマニュアルにはあります あなたが必要とするすべて それを機能させるために。
SVN:外部エディターを使用してログメッセージを取得できませんでした。 $ svn_editor環境変数の設定を検討するか、-message(-m)または - file(-f)options svnを使用してください:環境変数svn_editor、visualまたはeditorは設定されておらず、 'editor-cmd' run-はありません。時間構成オプションが見つかりました
メッセージを読んでください。それは言う 外部エディターを使用できませんでした あなたがそれを指定しなかったからです。繰り返しますが、ラインマニュアルのsubversionはそれを説明しています 詳細.
基本的に、Subversionの変更を犯した場合、コミットメッセージを作成する必要があります。これは2つの方法で実行できます。
- あなたはを使用します
-m
のようなオプションsvn commit -m "This is my commit message"
. - 変数を設定します
SVN_EDITOR
,VISUAL
, 、 またEDITOR
使用するプログラムの名前に。たとえば、Windowsでは言うでしょうC:> set EDITOR=notepad.exe
. 。 Unixで、あなたは次のようなことを言うでしょう$ export EDITOR=vi
. 。 Subversionは最初にの値をチェックしますSVN_EDITOR
変数、VISUAL
, 、 それからEDITOR
. 。それらのどれも設定されていない場合、それはあなたが見たエラーを与えます。
なぜあなたはそれを手に入れたのですか svn mkdir
指図?
コマンドのURLフォームを使用すると、ディレクトリが作成され、変更がコミットされるため、コミットメッセージが必要になります。これは機能するはずです:
svn mkdir -m"Adding the site directory to my repository" file:///httpdocs/svn/site
これで、リポジトリをhttpdocsディレクトリから移動する必要があります。それはあなたのWebサーバーを傷つけるので、それは非常に悪いことです。
使用したくない場合 file://
プロトコル、使用できます svnserve
. 。これは組み込みのsubversionリポジトリサーバーであり、 svn://
プロトコル。観察:
$ svnadmin create my_repos #Creates the repository
$ vi my_repos/conf/svnserve.conf #See footnote 1 below
$ vi my_repos/conf/passwd #See footnote 1 below
$ svnserve -r my_repos -d
$ svn mkdir -m "Making basic directory layout svn://localhost/trunk \
> svn://localhost/tags svn://localhost/branches
$ export SVN_EDITOR="vi"
リポジトリは、ネットワーク上のすべてのマシンにもアクセスできるようになります。 SVNServeの使用はApache HTTPDよりもはるかに簡単ですが、いくつかの問題があります。
- 複数のインスタンスを実行することはできません
svnserve
ポート3690を使用したいので、共有したくないからです。 Apache HTTPDを使用すると、複数のリポジトリを使用できます。 - SVNServeを使用したセキュリティセットアップは限られています。 Apacheを使用すると、Windows Active DirectoryまたはLDAPを使用できます。または、手動で構成できます。
- 一部のWebベースのSubversionリポジトリブラウザーは、SVNServeが好きではありません。
ちなみに、そうしていない場合は、 ラインマニュアル上の転覆. 。これは、オープンソースプロジェクトで見た中で最高のマニュアルの1つです。
1 リポジトリを使用してセットアップするとき svnserve
, 、編集する必要があります svnserve.conf
行を有効にすることでファイルをファイルします password-db = passed
これは、ファイルの行#20についてです。その後、編集する必要があります passed
ユーザーとそのパスワードを構成するファイル(同じディレクトリにあります)。どちらも非常に簡単ですが、忘れがちです。そうしないと、リポジトリに何もコミットできません。
他のヒント
ダウンロードが必要な場合よりもトランクブランチとタグが必要な場合 import_dirs.copy
以下より cd /location/import_dirs.copy
コマンドよりも実行するより
cd /data/svn/import_dirs.copy/
svn import file:///location of repos/reposname/ -m "inital message"
これがその例です.....
cd /home/raj/import_dirs.copy/
svn import file:///srv/svn/nmg/ -m "inital message"
トランクの枝とタグが行われたよりも