Webサーバーのホスティングと類推すると、gitのデータはにあるはずだと/var/git
思うので、私のgitリポジトリは/var/git/myrepo
Q:それは正しい推測ですか?
Webサーバーのホスティングと類推すると、gitのデータはにあるはずだと/var/git
思うので、私のgitリポジトリは/var/git/myrepo
Q:それは正しい推測ですか?
回答:
あなた自身の個人的な宗教とhier(7)
あなたのシステムのマンページの内容によって決定されたものを除いて、ここには正しい答えも間違った答えもありません。
典型的なLinux hier
マンページ。典型的なBSD hier
マンページ)
/var/git/*
個人的には理にかなっているようです。それが私の所です。
の下のディレクトリ(または共有ファイルシステム)に配置し/srv
ます。これが目的です。
この/srv
ディレクトリは、システムが提供するサイト固有のデータを対象としています。標準から:
これを指定する主な目的は、ユーザーが特定のサービスのデータファイルの場所を見つけ、読み取り専用データ、書き込み可能なデータ、およびスクリプト(cgiスクリプトなど)の単一ツリーを必要とするサービスを合理的に配置できるようにすることです。特定のユーザーのみが関心を持つデータは、そのユーザーのホームディレクトリに移動する必要があります。
のサブディレクトリに名前を付けるために使用される方法論
/srv
は、現在これがどのように行われるべきかについてコンセンサスがないため、特定されていません。データを構造化する1つの方法/srv
は、プロトコルなどです。ftp
、rsync
、www
、とcvs
。大規模なシステムでは、それは構造に役立ちます/srv
よう、管理コンテキストで/srv/physics/www
、/srv/compsci/cvs
このセットアップは、ホストにホストとは異なります、など。したがって、プログラムは、/srv
既存の特定のサブディレクトリ構造またはに格納される必要があるデータに依存するべきではありません/srv
。ただし/srv
、FHS準拠のシステムには常に存在する必要があり、そのようなデータのデフォルトの場所として使用する必要があります。ディストリビューションは、管理者の許可なしにこれらのディレクトリにローカルに配置されたファイルを削除しないように注意する必要があります。
SELinux対応システムでは、デフォルトのディレクトリは/var/www/git
であり、リポジトリはそのサブディレクトリにある必要があります。または、たとえば/srv/git
、使用して、ファイルコンテキストを同等に設定できます。
semanage fcontext -a -e /var/www/git /srv/git
/home/git/
これは最初は少し型にはまらないように思えるかもしれませんが、このディレクトリは(正しい権限で)作成されるため、非常に合理的ですsudo useradd git
。gitユーザーに切り替えてcd
すぐに実行できます:
$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys
作成したばかりのauthorized_keysファイルにピアの公開鍵を入れます。
あなたの後git init --bare
、プロジェクト、「urlは」ただ...それを待つ、その後で...
git@<server>:<project>
gitに何らかのフロントエンドを使用する場合は、ディストリビューションでパッケージ化されたものが配置したい場所に移動してください。それ以外のものは、単に不必要な非互換性を生み出しています。
まず、/ srvを使用するという提案に関しては、すべてのgitリポジトリがWebサイトに使用されることを前提としています。それはあなたにとって真実かもしれませんが、あなたはウェブサイトではないソフトウェアを手にすることができます。
次に、コードリポジトリを/ var / www / htmlまたは/ srv / htmlの外部に保存することにより、2つの優れた利点が得られます。任意のレベルでリポジトリにシンボリックリンクを作成して、ライブラリを簡単に非表示にすることができます。また、リポジトリの場所がまったく変更された場合、仮想ホストの構成を変更する必要はありません。代わりに、シンボリックリンクを調整するだけです。
私は/ var / repoを使用していましたが、/ var / gitの方が優れていると思い、今後はそれを使用する予定です。