icatch_tortoise

AWS LinuxサーバでGit環境構築(TortiseGit利用)

Git好きの皆さん、こんにちわ。

AWS EC2で立てたLinuxサーバにGitサーバを構築してみたのでそのまとめです。

構築環境:
サーバ AWS Amazon-Linux 2015.09
クライアント Windows 7 / TortoiseGit 1.8.16

クライアントからのGit接続はSSH/Putty鍵方式で行う前提です。

■サーバ側:(クライアントのみでいい人はココを読み飛ばしてください)
※以下のコマンドをec2-userでやる場合には先頭にsudo をつけてください。
gitが入っているか確認します。

入っていなければインストールします

Git用のグループ(dev-group)・ユーザ(user1)を用意します。

今回はGitレポジトリをユーザのホームに作成します。

これでレポジトリが作成されます。
今回クライアントからはSSH認証でPutty鍵方式を利用するので
SSH接続用の公開鍵・秘密鍵を作成します。

id_rsaが秘密鍵、id_rsa.pubが公開鍵です。公開鍵側をサーバに残し、秘密鍵をクライアント側のマシンにダウンロードします。(ダウンロードした際にファイル名の拡張子を.ppkにしておくとややこしくありません。)
秘密鍵はそのまま置いておくのはセキュリティ上よろしくないのでダウンロードしたら削除します。
サーバに残しておく公開鍵の名前を変更します。※以下の名前にしておくとAWSの仕様に従うのでSSHのややこしい設定をしなくて済みます。

セキュリティの観点から鍵の権限を変更します。

これでサーバ側の設定は終了です。

■クライアント側
すでにWindows版のTortiseGitが入っている前提です。
Gitレポジトリにアップロードしたいフォルダを右クリックして
「Git Create Repogitory here…」
1
再度フォルダを右クリックして TortoiseGit > Setting を開きます。
左側のメニューから「Network」のパネルを開きます。
ここでSSH Clientに以下を指定して「適用」してください。
「C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe」
2無題
つぎに Git > Remote パネルを開いて以下を設定します。
※「xxx.xxx.xxx.xxx」の箇所はサーバのIPアドレス
Remote:各自で適当につけてください。
URL: ssh://user1@xxx.xxx.xxx.xxx/home/user1/testrepo
Push URL: ssh://user1@xxx.xxx.xxx.xxx/home/user1/testrepo
Putty Key : サーバからダウンロードした秘密鍵.ppkを指定する。ただしそのままでは使えない(エラーになる)。PuttyもしくはWinSCPでPutty鍵方式に変換したファイルを指定する。ここはけっこう落とし穴かもしれない。先にWinSCPアプリでこの秘密鍵を使って接続しようとしておけばPutty鍵方式への変換が促されるので便利だと思います。
3
あと、ご存じかとは思いますがGitはE-mailの項目が必須なので忘れずに設定しておいてください。
無題
それでは、フォルダを右クリックして
「Git Sync…」を選択してみましょう。
Pushボタンを押下してメッセージに青文字でSuccessと出ればOKです。
5
ちなみに接続の際、下記の確認ダイアログが出ると思いますが「はい」を押下してください。
4

■おまけ
アップロードしたテキストファイルをGitの「Diff」で確認すると最後の改行で差分が出たりします。これはGitが自動的に改行コードをプラットフォーム用に変換しているためです。
9
基本的には不要なオプションだと思うのでSettingパネルから以下のチェックを外しておくといいと思います。
6

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です