概要説明
エックスサーバーにSSH接続を行えるように設定し、Gitにてソース管理を行えるようにするための手順まとめ。Gitのバージョンアップや自動デプロイまでは必要なし、とにかくエックスサーバーでGitを使ってみたいという方向けの内容にしています。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にて変更した設定をもとに戻す場合
[ssh] variant = tortoiseplink
ユーザーディレクトリ内の .gitconfig ファイルに上記の記述が追加されているのでこちらを削除すれば設定前の状態に戻せます。