概要説明

エックスサーバーにSSH接続を行えるように設定し、Gitにてソース管理を行えるようにするための手順まとめ。Gitのバージョンアップや自動デプロイまでは必要なし、とにかくエックスサーバーでGitを使ってみたいという方向けの内容にしています。Gitのバージョン変更など環境周りは変更していないためサイトに影響がありそうだから今まで行っていなかったという方もご安心ください。

環境情報

  • OS : Windows 10
  • Git クライアント:TortoiseGit [ DL ]
  • git version :1.8.3.1(エックスサーバー既存導入バージョン)
  • SSH クライアント:Poderosa [ DL ]

ソースコードのバージョン管理システムです。誰がいつどんな修正を行ったかを確認することができるため複数人での作業を行う環境では必須のツールになります。また開発環境から本番環境への反映も1つ1つファイルを反映させなくてもコマンド一発で反映させたりも可能になります。

各種ツールのインストール、設定済みの状態としてエックスサーバーでのGit環境構築をご紹介

エックスサーバー管理画面 – SSH設定からSSHを利用可能な状態に変更

SSH設定 タブ

ONにする

公開鍵認証用鍵ペアの生成 タブ

任意のパスフレーズを入力して公開鍵を作成

「サーバーID.key」ファイルがダウンロードできたら認証鍵の設定は完了です。

SSH クライアント Poderosaから接続を行う

ホスト

管理画面 サーバー情報 内のホスト名 ( xxx.xserver.jp )

ポート

10022 ( 標準の22ではないので要注意 )

アカウント

サーバーID ( XserverアカウントID ではありません )

パスフレーズ

認証鍵設定時に入力したパスフレーズ

認証方式

公開鍵

鍵ファイル

管理画面からダウンロードした xxx.key ファイルを指定

Gitが導入されているかを確認

$ git –version

エラーにならずバージョン情報が表示されれば問題有りません。

Git リポジトリの作成

// ログイン後 git用のディレクトリを作成
$ mkdir git

// 作成したgitディレクトリに移動
$ cd git

// Gitリポジトリをからの状態で新規作成
$ git init --bare sample.git

// ディレクトリパスを取得 ( 後でパスを使います )
$ pwd
/home/サイトID/git

xxx.key を xxx.ppk に変換する PuTTY Key Generator ( PuTTYgen )

認証鍵をTortoiseGitで使用できる形式に変更する必要があるため事前に準備しておきます

ConversionsメニューからImport keyを選択し、xxx.keyを読み込ませます

エックスサーバー管理画面で入力したパスフレーズを入力すると「Save private key」ボタンが実行できるようになるのでxxx.ppkファイルを作成します。

TortoiseGitでクローン(複製)

TortoiseGitがインストールされている場合右クリックで上記メニューが表示されます。Gitクローン(複製)から設定を行います。任意のディレクトリでOKです。

Putty鍵のロード項目は先程変換したxxx.ppkを選択します

URL項目の書式:ssh://サイトID@xxx.xserver.jp:10022/home/サイトID/git/sample.git

後半のパスは リポジトリを作成したパスを指定します(サイトID、xxxの部分は各自の内容に置き換えてください)これでサーバーに作成したリポジトリで環境ができると思います。

Gitクローン後のディテクトリ変更

後からディレクトリ名を変更することも移動させることも可能です。

リポジトリ内にデータを追加してプッシュ

動作確認用なので現状のブランチにファイルを追加し、コミット、プッシュまで行ってみてください

エラーにならなければ問題なく環境構築が行えています

サーバー側にもクローンしてコンテンツファイルを表示させる

// サーバー側のGitクローンディレクトリに移動
$ cd /home/サイトID/サイトID.xsrv.jp/public_html

// Gitクローン
$ git clone /home/サイトID/git/sample.git

// クローン後の反映は pull にて取得する
$ cd /home/サイトID/サイトID.xsrv.jp/public_html/sample
$ git pull

ローカル環境とサーバー環境と2回Gitクローンを行うことでバージョン管理下のコンテンツファイルを確認することができるようになります。

リポジトリ用のディテクトリ内にはコンテンツファイルはできない

バージョン管理用のデータとしてリポジトリ内にはデータを持っているため、コンテンツファイルとして確認、反映するためにはGitクローンをサーバー側でも行う必要があります。WordPressの場合はテーマディテクトリのみGitにてバージョン管理させることで、複数人での作業も行いやすくなります。

別のパソコンで設定してみたときに発生したエラー

Couldn’t load private key (PuTTY key format too new)

PPK バージョン 3が利用できないという関連のエラー。別のPCで作成したxxx.ppkを使用した時に発生しました。PuTTY Key Generator ( PuTTYgen ) 0.74 以前のバージョンを使用してを認証鍵を作り直して使用することで警告の対応ができます。

fatal: ssh variant ‘simple’ does not support setting port

$ git config --global ssh.variant ssh

設定変更後に再度Gitクローンを行ってみたところ別のエラーになりました

Cloning into xxxxxxxxx
tortoisegitplink: unknown option “-o”
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

$ git config --global ssh.variant tortoiseplink

上記設定に変更することで私の環境ではGitクローンに成功しています

git configにて変更した設定をもとに戻す場合

.gitconfig
[ssh]
    variant = tortoiseplink

ユーザーディレクトリ内の .gitconfig ファイルに上記の記述が追加されているのでこちらを削除すれば設定前の状態に戻せます。

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

ぜーんぶひっくるめてのお前なんだ
いいんだそれで

バガボンド
by 沢庵宗彭

Profile

PAGE TOP