A、gitのサーバー:使ってgitosis必要な各従属ソフトウェアを準備します
1、opensshのの存在を確認?存在しない場合は、次のコマンドを実行すると、インストールします
[ルート@ yjweb〜] #yumをopensshののopenssh-サーバのopenssh-クライアントをインストールします
2、gitのインストール
[ルート@ yjweb〜] #yumをgitのインストール
Gitはインストールが成功したかどうかを判断しますか?
[ルート@ yjweb〜] #gitの--version gitのバージョン2.18.2
3、Pythonのツールをインストールします
[ルート@ yjweb〜] #yumをインストール-y python2 python2-setuptoolsの
チェックPythonのsetuptoolsのは正常にインストールされて?
[ルート@ yjwebてgitosis] #python2 -c "輸入setuptoolsの"
いいえの場合、この手段は、インストールは成功しませんでした
出力が与えられた場合は、インストールが失敗表し
注:ここではpython2を使用するには
gitosisの初期化はpython2を必要とするため、
あなたは文句を言いますのpython3を使用している場合
二、Gitのサーバー:ユーザーを管理するためにgitの専用サービスを作成します
gitのユーザーを作成します。1.
[ルート@ yjweb〜] #groupaddのgitの [ルート@ yjweb〜] #useraddの-gのgit gitの [ルート@ yjweb〜] #grepをgitの/ etc / passwdファイル のgit:X:1003:1003 :: /ホーム/ gitの:/ binに/ bashの
2、ユーザーはgitのgitのディレクトリへの書き込みアクセス権を持っていることを確実にします
[ルート@ yjweb〜] #chownコマンドはgit:gitのは/ home / gitの [ルート@ yjweb〜] #LL /ホーム/ | grepのgitの drwx ------ 2のgit gitの62 3月9日夜5時00分にgit
三、gitのサーバー:インストールてgitosis
1、クローンは、ローカルソースフォルダにプロジェクトを使ってgitosis
[ルート@ yjwebソース] #gitのクローンhttps://github.com/res0nat0r/gitosis.git '使ってgitosis'へのクローニングは... リモート:列挙オブジェクト:734、行って。 リモート:合計734(デルタ0)は、(デルタ0)0を再利用し、パックは 734個の-reused 受信オブジェクトを:100%(734分の734)、147.40 KiBのを| 29.00 KiBの/ sの、行って。 デルタを解決:100%(458分の458)を行います。
2、インストール
[yjwebソース@ルート] #のCDを使ってgitosis / [ルート@ yjwebてgitosis] #python2 setup.pyインストール
注:ここではpython2を使用するには
gitosisの初期化はpython2を必要とするため、
あなたは文句を言いますのpython3を使用している場合
注:次のプロンプトが表示された場合は、インストールが成功したことを示し
完成した処理の依存関係のために使ってgitosis == 0.2
四、gitのサーバー:の.sshディレクトリと権限を生成します。
[ルート@ yjweb〜] #ます。mkdir -p /home/git/.ssh [ルート@ yjweb〜] #は700 /home/git/.ssh chmodの [ルート@ yjweb〜] #のタッチ/home/git/.ssh/authorized_keysを [ルート@ yjweb〜] #chownコマンドgit.git -R /ホーム/ gitの
説明:authorized_keysファイルには、公開鍵てgitosisのためのプロジェクトを保存するために使用されます
V.の開発クライアント:鍵を生成し、サーバにアップロード
説明:私たちのクライアントの開発マシンが実行しているマシンのUbuntu 19.10であります
1、SSHキーを作成します
説明:ここでのクライアントは、Ubuntuマシンであります
ルート@ Kubuntuは:〜 #のssh-keygenは-t rsaの
パスワードを入力する必要がなく、操作のすべての方法ラウンド
2、チェック鍵ペア生成するかどうか
生成した鍵ペアの完了は、.sshディレクトリから見ることができた後、
ルート@ Kubuntuは:〜 #LSの.ssh / id_rsaとid_rsa.pubのknown_hosts
Id_rsa.pubは、私たちが使用したいの公開鍵であります
gitのサーバーをアップロードする3、生成した公開鍵
SCPまたはFTPツールを使用すると、gitのサーバにid_rsa.pubをコピー
/ tmpディレクトリ
ポートアドレスは12345で、123.124.125.126:gitのサーバーのIPアドレスがあるものとします
ルート@ Kubuntuは:〜 #scpコマンド-P 12345の.ssh / id_rsa.pub [email protected]:を/ tmp / シスオペ@ 123.124.125.126' のパスワード: id_rsa.pub 100%566 70.3キロバイト/ sの夜12時
六、gitのサーバー:初期設定てgitosis
1、gitのアカウントに切り替えているか否かが、クライアントの公開鍵のアップロードを表示するには?
[ルート@ yjweb〜] #のsu gitの [gitの@ yjwebルート] $ LLを/ tmp / id_rsaと。パブ -rw-rを- r--の1シスオペのシスオペ566 3月9日午前18時46分/tmp/id_rsa.pub
2、プロジェクトを初期化してgitosis
[gitの@ yjwebルート] $てgitosis-INIT <を/ tmp / id_rsaと。パブは INITIALIZED 空 /home/git/repositories/gitosis-admin.git/にGitリポジトリを に再初期化既存のGitリポジトリ /home/git/repositories/gitosis-admin.git/
図3は、行われていたものを最後に初期化されますか?
Gitosisには、カタログおよびライブラリカタログを作成しました
[gitの@ yjweb〜] $ lsの
使ってgitosisのリポジトリ
.ssh下id_rsa.pub authorized_keysにディレクトリに書き込まコンテンツ
[gitの@ yjweb〜] $のCD。sshの [gitの@ yjweb。SSH] $以上のauthorized_keys ###自動生成されてgitosisによって、DO NOT EDITの コマンドは= "ルートを使ってgitosis-サーブない@ Kubuntuの"無ポートフォワーディング、無X11転送、無エージェント転送、無PTY ssh- RSA AAAAB3NzaC1yc2E ...
七つの開発クライアント:クローンてgitosis-adminのプロジェクト
ルート@ Kubuntuは:〜#gitのクローンのssh://[email protected]:12345 /てgitosis-admin.git
'Gitosisに-ADMIN'にクローニングされた正...
リモート:列挙は、オブジェクト:. 5を、DONE。
リモート:カウントは、オブジェクト: 100%(5/5)、DONE。
リモート:圧縮オブジェクト:. 100%(4/4)、DONE
リモート:合計5(デルタ0)再使用0(0デルタ)
、受信したオブジェクト:100%(5/5 )、完了しています。
Gitosisの管理者は、このプロジェクトは、クライアントのローカルマシンにダウンロードされていることがわかります
ルート@ Kubuntuは:〜#LS てgitosis -admin node_modules package.json仕事
リモート設定を使ってgitosis-adminのプロジェクトを表示するには、八のクライアント
ルート@ Kubuntuは:リモート〜/てgitosis-adminの#gitの- Vの 原点 のssh:// [email protected]:12345 /てgitosis-admin.git(フェッチ) 原点 にssh:// [email protected]:12345 / gitosis- admin.git(プッシュ)
ナインは、CentOSののローカルバージョンを参照してください
[webop @ yjweb〜] $猫の/ etc / redhat- リリース
CentOSのLinuxリリース8.0.1905(コア)
テン、使ってgitosisの使用
この1を参照してください。