Centosサーバーにgitoliteをインストールする

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 /です。



私たちはもう一度やり直そうとしています。



All Articles