CONOHAWINGのGITリポジトリをLOLIPOPサーバーに移行する

この記事は現役ウェブディベロッパーがわかりやすさにこだわって作成しました

You need to add a widget, row, or prebuilt layout before you’ll see anything here. 🙂

はじめに

長年CONOHAWINGのベーシックプランをメイン使用していましたがトラブルがあって、サブで借りていたLOLIPOPのハイスピードプランにいくつか移行してみました。すると、思いのほか速くて安定してるのではないですか。。レンタルサーバーの引っ越しをすることにしました。

前回は、GitHubのリポジトリをロリポップに移行する記事を書いていたので、スムーズに事が運ぶと思っていたらなかなか一筋縄ではいかなかったので、その時のことをメモとして残しておくことにしました。

環境

【ローカルPC】
WINDOWS11

【リモートサーバー】
移行元:
CONOHAレンタルサーバー
ベーシックプラン
移行先:
LOLIPOPレンタルサーバー
ハイスピードプラン

移行手順の概要

CONOHAサーバーのGITリポジトリをWINDOS11のローカルPCからSSH接続してGITリポジトリをCLONEでローカルに取得したのち、LOLIPOPサーバーにSSH接続してローカルに取得したリポジトリをPUSHしてする。

コマンドラインで行う場合は、要領でおこなう

  1. コマンドラインでssh接続できることを確認する
  2. まず移行元のGitサーバーのクローンを作成します
  3. 次に作成されたクローンの.gitフォルダに移行します
  4. 最後にすべての更新情報を新しいGitサーバーにPUSHします
git clone --mirror <SOURCE_REPOSITORY_URL> 
cd <REPOSITORY> 
git push --mirror <DESTINATION_REPOSITORY_URL>

移行手順の詳細

1.SSH接続

WINDOWS PCのターミナルを起動します。

SSHコマンドで移行元のサーバーに接続します。

ssh {アカウント名}@ssh.lolipop.jp -p 2222 -i {秘密鍵のパス}

接続できたら秘密鍵をホームディレクトリの.sshフォルダにid_rsaの名前で入れる

cd ~/.ssh
copy {秘密鍵パス} ./id_rsa

今度は秘密鍵パスの指定を外してSSH接続できるかどうか確認する

ssh {アカウント名}@ssh.lolipop.jp -p 2222

デフォルトの秘密鍵で接続できればOK

2.移行元のサーバーからGITレポジトリのバックアップを取得する

git clone --mirror ssh://{アカウント名}@{ホスト名}:{ポート番号}{GITリポジトリパス}

WINDOWS11では次のようなエラーが出ることがある

Unable to negotiate with 133.130.35.108 port 2222: no matching host key type found. Their offer: ssh-rsa,ssh-dss
fatal: Could not read from remote repository.

その場合は、ホームディレクトリの.sshフォルダにconfigファイルを作成して次のコードを設定する

Host * 
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa 
UpdateHostKeys no

SSHクライアントがバージョンンアップしたことが原因のようである

また、次のエラーが出る場合は、GITがcacheをみにいっているので、UpdateHostKeys noをconfigについかする

Cannot access gitlab repo.....

3.移行先のサーバーにGITレポジトリを作成する

移行先さーばーに接続する。
次に、GITサーバーのルートディレクトリでプロジェクトふぉるだを作成する

mkdir projectフォルダ

cd projectフォルダ

git init --bare --shared

4.移行先のサーバーのGITレポジトリにプッシュする

移行先サーバーの秘密鍵をホームディレクトリの.sshフォルダにid_rsaの名前で入れる

cd ~/.ssh

copy {秘密鍵パス} ./id_rsa

前回と同様に秘密鍵パスの指定を外してSSH接続できるかどうか確認する

ssh {アカウント名}@ssh.lolipop.jp -p 2222

デフォルトの秘密鍵で接続できればOK

移行先のアカウント名、ホスト名、ポート名、GITリポジトリパスを設定してPUSHする

git push --mirror ssh://{アカウント名}@{ホスト名}:{ポート番号}{GITリポジトリパス}

5.移行先のサーバーからリポジトリーのクローンを作成する

確認のためリモートリポジトリから新しいローカルリポジトリを作成してみる

git clone ssh://{アカウント名}@{ホスト名}:{ポート番号}{GITリポジトリパス}

ローカル環境に新しいリポジトリがでいていればOK

参考

OSをアップデートしたらDSAのssh-keyが使えなくなってしまった人へ
結論から言うと、これをユーザーの config ファイルか /etc/ssh/ssh_config に書くと良い #cat /home/ユーザー/.ssh/config Host * HostKeyAlgorithms +ssh-dss P...
Cannot access gitlab repo using ssh keys using Windows
I have followed these instructions for generating keypairs using ssh-keygen. I actually generated both the ed25519 and an rsa key as I attempted to figure out w...
PHP/Javascript/WORDPRESS案件全般承ります

この記事についてのご質問またはお困りのことがございましたら、お気軽にお問い合わせください。

タイトルとURLをコピーしました