こちらのサイトではDRUPAL10に関連する記事を掲載しています。
はじめに
長年CONOHAWINGのベーシックプランをメイン使用していましたがトラブルがあって、サブで借りていたLOLIPOPのハイスピードプランにいくつか移行してみました。すると、思いのほか速くて安定してるのではないですか。。レンタルサーバーの引っ越しをすることにしました。
前回は、GitHubのリポジトリをロリポップに移行する記事を書いていたので、スムーズに事が運ぶと思っていたらなかなか一筋縄ではいかなかったので、その時のことをメモとして残しておくことにしました。
環境
【ローカルPC】
WINDOWS11
【リモートサーバー】
移行元:
CONOHAレンタルサーバー
ベーシックプラン
移行先:
LOLIPOPレンタルサーバー
ハイスピードプラン
移行手順の概要
CONOHAサーバーのGITリポジトリをWINDOS11のローカルPCからSSH接続してGITリポジトリをCLONEでローカルに取得したのち、LOLIPOPサーバーにSSH接続してローカルに取得したリポジトリをPUSHしてする。
コマンドラインで行う場合は、要領でおこなう
- コマンドラインでssh接続できることを確認する
- まず移行元のGitサーバーのクローンを作成します
- 次に作成されたクローンの.gitフォルダに移行します
- 最後にすべての更新情報を新しい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
参考
この記事またはDrupalに関するご質問がございましたら、お気軽にお問い合わせください。