Gitoliteをインストールするのに数日かかりました。 インターネット上の一連の指示のように思われ、プロセスは世界的に複雑ではありません。 しかし、すべてが問題なく機能するように、実行する必要があるチームの完全な順序はありません。
読者はgitとgitoliteが何であるかを理解し、それらを操作できることが理解されています。インストールの問題のみが考慮されます。
コードでは、値に置き換える必要があります。
server_name_or_ip-サーバー名またはIPアドレス
username -gitoliteの管理者になるユーザーの名前。
オペレーティングシステム:サーバー-Centos 6.6、私が働いているコンピューター-OS X 10.10.2
キーアクセス設定
サーバーで 、ユーザーgitを作成し、パスワードを設定します。
useradd git passwd git
ローカルマシンで 、現在のユーザーのキーを作成します。
ssh-keygen -t rsa -b 2048
安全性を高めるには、2048を4096に置き換えます。
キーをサーバーに送信します(このオプションはMacでのみテストされていますが、Linuxの構文も同様です)。
cat ~/.ssh/id_rsa.pub | ssh git@server_name_or_ip "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"
サーバー上の.sshフォルダーとキーファイル
に権限を設定
します (これがないと、キー認証は機能しません)。
chmod 700 /home/git/.ssh/ chmod 600 /home/git/.ssh/authorized_keys
ファイル/ etc / ssh / sshd_config
のサーバーに移動
し (ssh_configと混同しないでください)、次の行のコメントを解除します。
RSAAutentification yes PubkeyAutentification yes AuthorizedKeysFile .ssh/authorized_keys
サーバーで sshdデーモン
を再起動
します 。
service sshd restart
ローカルマシンからパスワードなしでsshアクセスを確認します。
ssh -i ~/.ssh/id_dsa git@server_name_or_ip
Gitoliteのインストール
サーバー上 :
su git cd ~ git clone git://github.com/sitaramc/gitolite mkdir -p ~/bin gitolite/install -to ~/bin gl-setup -q ~/username.pub
次に、/ home / git / .ssh / authorized_keysファイルで
サーバーに移動し、gitoliteで作成されていない最初のキーを削除します-これは重要です。 SSHを介して認証するキーがある場合、gitoliteはそれで動作しません)。
キーのパフォーマンスの確認(
サーバー上 ):
/home/git/gitolite/src/gitolite sshkeys-lint
gitoliteを管理するためのリポジトリへのパス:
git@server_name_or_ip:gitolite-admin
セキュリティ上の理由から、sshを介してgitユーザーへのアクセスを閉じます。 gitで作業する機会のみを残します。 これを行うには、/ etc / passwdファイルに移動し、gitユーザーの行を/ bin / bashから/ usr / bin / git-shellに変更します
何かがうまくいかなかった場合
(
サーバー上で )gitユーザーを削除します。
userdel git
そのフォルダーおよびホームディレクトリ自体からすべてのファイルを削除します。 これは/ home / git /です。
私たちはもう一度やり直そうとしています。