PC設定覚書と雑記

サーバー運用とPC日記

たっぷり時間がかかりました! サーバー移行

 うっかりしていたんですが、myサーバーのOS、Debian9は6月にサポート終了となっていました!

大急ぎで新OSの環境を作って、そこに現アプリケーションを移行させなければなりません。

数日悩んだんですが、今後もスピーディーに確実に作業できる方法にしたいと考えていました。

そこで、まずは、旧サーバーからのデータの移動をLAN上でやることから始めました。

旧サーバーはギリギリまで止めたくないので、

旧サーバーが動いている状態で、まずは大部分のファイルをコピーしておくことにしました。

そして、変更や追加があったファイルだけを最終的にコピーする方法を選びました。

Rsyncコマンドを使ったんですが、この操作が上手くいくまでに2日費やしました。

こんな感じで、この後もハマりまくったんですが、

深夜3時、4時の日が続き、昨日は久々の徹夜になってしまいました。

ということで、続きは明日以降記録したいと思います。

 

SSLサーバ証明書の引っ越し作業やり忘れてるかも・・・

 移行先の新サーバーは順調に動いているように見えます。

 

旧サーバーの、Let’s Encrypt で取得した「SSL/TLSサーバ証明書」ですが、

これも新サーバーに持ってこなければいけないと思い、調べてはありました。

でも、Webサイトがやっと動いたのを確認してホッとして気が抜けていたんだと思います。

今、サーバーマシンの置き場とは別の所に居るので、すぐに確認して手を加えることが出来ません・・・

証明書の期限が切れる前に作業しなければ!!

世界最大の認証局Let's EncryptがOCSPサポート停止!?

 OCSPとは、

Online Certificate Status Protocolの略だと書いてある。

この「Let's EncryptがOCSPサポート停止」の記事は今日9月30日発表で、自分にはまだ内容が分かりません・・・

証明書の期限は90日間ですが、期限後の自動延長が出来なくなるってこと?

 

現サイトをConnect-CMSに移行テスト 何とか出来たようです!!

 昨夜から、またまた徹夜になりました!

今朝になって、移行テストに関する不具合をようやく見つけることが出来ました!

その1つは、mysql の database prefix が間違っていたことでした。

これを修正して、祈るような気持ちで、EXPORTコマンドを入力したら・・・

エラーなしで最後まで実行してくれました!!

IMPORTコマンドも同じく!

移行したサイトをざっとブラウジングしてみましたが、もうこれで充分です!!

移行できるCMSと移行システムを作って下さったメーカーの方々に、もう感謝しかありません!

本当に有難うございます!

 

この後は、このテストを元にして、本番の移行作業を行おうと思っています。

来年の春のNetcommons3サポート終了までには作業しなければなりません。

それまで、ハードウェアの準備を考えたいと思っています。

 

現NC3サイトをConnect-CMSへ移行準備 作業中(3)

 何日も費やし、たくさんの失敗を重ねて、どうすればいいのかがやっと見えてきました。

NetcommonsサイトをConnect-CMSに移行する時、同一サーバー内での作業になります。

Netcommonsの最終バージョンはPHP7.4までで動かさないといけません。

一方のConnect-CMSはPHP8以上で動かすようになってきていますが、まだPHP7.4でも動かせます。

そこで、OS内のデフォルトがPHP7.4で、OSがまだEOLを迎えていないものを選択することになりました。

すると、OSはDebian11に決まります。

この前、最初に行った作業は、Debian9の中で動かしていた複数のWebサイトを、Debian11環境の別サーバー機に移植したんです。

そして、さらに別のサーバー機で、コピーした現行サイトをConnectーCMSに移行テストしました。

これまで、作業内容を細かく記録してきましたが、特に最近は、数年経つと作業方法が大きく変わってしまうようになってきました。

なので、大筋について記録していこうと思っています。

 

サーバー環境整備とNetCommonsサイトの移行準備

 前回のメンテナンス作業は、サポート期限が切れていたOS環境を新しくすることでした。

しかし、OSをいじり過ぎていてdist-upgrade コマンドは使えない状況になってしまっていました。

そこで、別サーバーに新OS環境を作っておき、そこへサイトを引っ越しさせる方法で作業しました。

サイト引っ越しの基本は、インストールディレクトリのコピーと、データベースmysqlのダンプとリストアです。

この方法で新環境に引っ越ししたサイトが現在動いています。

このあと、現新環境にConnect-CMSをインストールして、NetCommonsサイトをそこに移行させる手順だったんですが・・・

新環境でPHP拡張モジュールをインストールする時に色々といじり過ぎて、Connect-CMSのインストールが出来なくなってしまっていて、そこでつまづいて止まってしまっているんです・・・

今夜は、このトラブルを何とか解決出来ないかトライしてみます!

現NC3サイトをConnect-CMSへ移行準備 作業中(4)

 昨夜は、PHPの openssl 関連のエラーを解消しようと四苦八苦していました。

openssl をソースコンパイルして再インストールしたりしましたが、エラーは解消されず・・・

サーバー環境から新しく作り直そうかとあきらめかけていたところ、Web上の新情報を見つけました。

どうも、openssl は enable になっているのに、必要のないところに openssl.so を読みに行こうとしているのがエラーの原因だったようなんです。

そこで、php.ini を編集して、「 -dextension=openssl 」を書き加えました。

これで、PHPの openssl のエラーは解消されました!

この後、connect-CMS のインストールと設定を無事完了させるところまで行けました。

今回は深夜2時までの作業で何とか寝れましたね!

さあ、いよいよキモのNetCommonsサイトの移行作業に取り掛かれます!

現在、3つの NetCommons サイトを動かしていますが、このうちの2つは早速移行させてしまおうと思います。

残りの1つ(このサイト)は、受験での化学資料の利用者が戸惑わないよう、来年の4月まで移行作業を延期しようと思っています。

NC3サイトをConnect-CMSへ移行 作業中(5)

 NetCommons3サイトを Connect-CMS に移行させることが出来ました!

2つのサイトの移行が完了しています。

現サイトの移行は、来年春の予定です。

 

移行手順の概略は以下の通りです。

 

①新Connect-CMSサイトのバーチャルホスト設定ファイルを作っておく。
 アクセスURLは、NetCommons3サイトと同一にしておく。

 

②NetCommons3サイトと同一サーバー内にConnect-CMSをインストールする。

 

③バーチャルホスト設定で、NetCommons3サイトをdisableに、Connect-CMSサイトをenableにする。
 インストール後にサイトにアクセスして正常動作を確認しておく

 

④バーチャルホスト設定で、Connect-CMSサイトをdisableに、NetCommons3サイトはenableに戻す。

 

⑤Connect-CMSインストールディレクトリ ・・・/connect-cms 直下の.envファイルを編集
 # migration option (Common)
  MIGRATION_CONFIG_PATH=/var/www/○○○/connect-cms/app/Traits/Migration/sample/migration_config/migration_config_nc3.sample.ini

 # migration option (NetCommons3)
  NC3_EXPORT_UPLOADS_PATH=/var/www/△△△/app/Uploads/
  NC3_APPLICATION_YML_PATH=/var/www/△△△/app/Config/application.yml

 バーチャルホスト設定は、NetCommons3サイト、Connect-CMSサイト共にdisableに。

 

⑥Connect-CMSインストールディレクトリ ・・・/connect-cms 直下で、Exportコマンド、Importコマンドを実行させる
 $ php -d memory_limit=512M -d allow_url_fopen=1 artisan command:ExportNc3 all {redo}
 $ php artisan command:ImportSite all {redo}

 

⑦バーチャルホスト設定でConnect-CMSサイトをenableにし、移行後の新サイトにアクセスし、正常動作を確認する!

 

サーバーマシンを80kmほど離れた場所に移設しました

 サーバーマシンを運搬している最中は、この中の4つのWebサイトと1つのWebアプリは停止したままです。

移設先に到着したら、電源ケーブル、LANケーブルを確認しながらしっかりと接続します。

スイッチングハブの接続と電源オンも忘れずに。

運転開始したら、ルーターでポートフォワーディング設定を行います。

ルーターの再起動が必要な場合もあると思います。

最後に、室内のクライアントPCのどれかに、サーバーにリモートアクセスするアプリケーションをインストールしておきます。

ここから、サーバーのcronjobを動かしておきます。

特に、DDNSサービス局へ最初の信号を送っておかないと、

DNS情報が古い場所のままになっているので、Webサイトへのアクセスが出来ません。

 

ここまでの作業を完了させたので、4つのWebサイトは元通り復旧しています!