多分、これが最後のサーバー移行について

公開日:2026/08/30

ラーメン紀行の読者の皆さん、管理人です。

今回の多事笑論では新しいサーバーについて書いてみたいと思います。

新しいサーバーについては後半で語るとして、先ずはラー紀のサーバーの歴史をまとめてみましょう。

ラーメン紀行では過去にレンタルサーバーを使用していた時期もありましたが、2003年9月以降は自宅サーバーで運用をしてまいりました。
自宅サーバーにすることのメリットって意外と多くて、先ずはサービス終了などを理由に保存していた写真や文書データが消えてしまうのを防ぐことができます。
例えば、レンタルサーバーがそのサービスを終了すると言い出した瞬間。移転先を探したり、アップロードしていた全てのファイルを一度、ローカルにダウンロードして、更に新環境へアップロードするという手間が出てきます。ネット越しに行われるので時間もかかるでしょう。
ラー紀のサーバーってWebサーバーである前に巨大なファイルサーバーでもあり、ラーメン紀行の四半世紀以上の写真、文章など、様々なコンテンツが格納されています。
新サーバーに移行する際は家内のLAN経由でのファイルコピーなので転送速度もそれなりに担保できます。

勿論、デメリットもあります。サーバーが壊れた時の復旧作業やバックアップを別で取っておくといった手間があります。あと、停電とかで電ブチした結果、サーバーが起動しなくなったこともありました。
また、サーバーを公開するということは、ハッカーの標的になったりもします。
昔、トップページのファイルを書き換えられて、外国の反社勢力のページに書き換えられた事もありました。また、私のサイトはPHPという言語で動いているのですが、見覚えのないPHPファイルがwwwrootに存在したりもしました。

0. 歴代サーバーの歴史

そんな自宅サーバーに拘ったラー紀ですが、過去のサーバーの歴史を「ラーメン紀行の歴史」から見てみましょう。

おかもちサーバー

・2003/09/01 自宅サーバーにて運用開始する。(おかもちサーバー)
・2007/05/07 新サーバー移行と共に新機能追加。「地図で検索」機能やGPSを使用して「周辺検索」を追加する。新たにau携帯に対応。
・2008/09/15 新サーバーのハード環境が壊れた事を期にハードウェア環境を新品に。CPUはPentium Dual-Core、HDDはSATAになり、全体的な処理速度が向上したが大変な出費!流石は本厄だ。
・2009/07/18 新サーバーのマザーボードが壊れ、買い直して再構築する羽目になる。一年ぶりに大変な出費!流石は後厄だ。
・2011/07/05 プログラム言語、データベースを一新した新しいサーバーへの移行を行った。
・2018/05/12 ラーメン紀行のサーバーが自宅のブレーカーが落ちたことによる電ブチを原因に壊れる。これを期にHDD容量を80GBから2TBに増量。これで後20年は続けられる(笑)

こうやって列挙すると初代が2003年のおかもちサーバー。2代目が2007年。3代目が2008年。そして現在4代目が2011年。7年後にHDDを換装して現在に至るといった感じですね。

初代おかもちサーバーは余剰パーツの寄せ集めで作ったサーバーでしたが4年間使用。
2代目が短命で1年でハード環境が壊れたとしか書いてなくて詳細なスペックは判りません。ただ、3代目に移行する際、ケース自体は2代目から受け継いでいるものと推測されます。CPUを変えているのでマザーボードも変えているでしょうし、HDDがSATAになったのもマザーボードを変えたからなのでしょうね。これで4年間使用。
そして現行サーバー。2011年の稼働から2026年までの15年間という永きに渡り、24時間365日休まず動き続けている訳です。

備忘録として現行サーバーのスペックを書き記しておきましょう。

現行サーバー

CPU:Intel Core i3 540 3.07GHz
Mem:2GB
HDD:2TB
OS:Windows Home Server Ver5.2
Web:Apache 2.2.14
PHP:5.3.1

当時、流行っていた「ベアボーンPC」というマザボと電源がセットになったケースにCPU、メモリ、HDDを自ら選んで搭載して作られたPCです。
前述の現行サーバーの説明にもありましたが2011年(正確には2010年)当時の私はPHPという未知の言語を習得し、XAMPP(ザンプ)というWebサイトを作るためのソフトをパッケージングしたものを使用していました。

XAMPPの意味は
 X:色々なOSで動くこと
 A:Apache(Webサーバー)
 M:MySQL(データベース)
 P:PHP(プログラム言語)
 P:Perl(プログラム言語)
の頭文字をとっている訳ですが、これを使用するためにPHPを勉強した訳です。
ただ、独学で学んだ知識であり、15年前のバージョンなので、現在のPHPでは動かない。
また、搭載されたデータベースである「MySQL」が最近のラー紀の動きをもっさりとさせていた原因でもありました。
タスクマネージャー1タスクマネージャー2
何をしているのかは不明なのですが、たまにCPUパワーを盛大に食い倒します。AIにも相談してみたのですが、解決には至りませんでした。

今回は我が相棒のGemini君の助言を受けながら、以下の手順で新サーバーの構築を始めました。

1. 機種選定・ハードウェア増設

先ずは土台となるPCの選定です。私がAIに指示した条件は「能力はほどほどで良いので低電力CPUであること」でした。
Gemini君が提案したCPUはIntel Core i3 8100T。この「T」が低電力の証なのだそうです。
自身の還暦を前にして後、何年稼働するサーバーなのかも見当がつかなかったので新品を購入するのはやめて、アマゾンの整備済みPCをチョイスしました。
購入したPCの素のスペックは以下の通り。

整備済みPC

DELL 3060 Micro
CPU:Intel Core i3 8100T 3.10GHz
Mem:4GB
SSD:128GB
OS:Windows11

メインストレージがSSD128GBということで本来ならこのSSDにWebサーバーやデータベースの各種ソフトと画像や文字などのコンテンツを搭載する訳ですが、私はSSDをあまり信じていません。物理的なパーツのないSSDは、コントローラ部が故障すると中に書かれた情報に一切アクセスできなくなるという致命的な欠点があります。
前述した通り、電ブチでOSが起動しなくなった場合でも、別のPCにHDDを接続すれば、中の画像ファイルやデータベースファイルにはアクセス出来たという経験則から、電ブチの恐怖のある自宅環境において、一番大切な画像ファイルやデータベースファイルは「速度が遅い」というデメリットを考慮しても「HDD上で管理したい」という欲求がありました。
M2SSDHDD

幸いにも今回のPCはSSDはSATA接続でしたが別で「M.2 SSD」のスロットが空いていたので500GBのM.2 SSDを別途購入。更に各種ファイルの格納用に1TBのHDDを購入しました。
M.2SSDには元から附属していたSATA接続のSSDからシステム全体をクローンコピーして搭載し、Windows11のまま使用しました。

2. サーバー環境構築(Apache/PHP/SQL-Server)

前述した通り、サーバーのもっさりとした動きの原因がMySQLというデータベースソフトに起因するため、データベースソフトは別のものをと考えていました。
そこで白羽の矢が立ったのがMicrosoft社の「SQL-Server」。私も実際に仕事で毎日利用しているデータベースソフトで、無料版の「SQL-Server Express」を使用します。

と言う訳で前述のXAMPPを使わない訳ですが、Webサーバーソフトはこれまで同様にApacheを。プログラム言語はPHPを使用します。新たな言語で一から作り直すなんて面倒極まりないですからね。
Apacheはバージョン2.4。PHPのバージョンは8系にアップグレードしました。

各種ソフトのインストール及び動作確認を終え、ApacheとPHPの接続設定、PHPとSQL-Serverの接続設定をすることで、Apache上でPHPを動作させ、PHPからSQL-Serverへアクセスするという流れが出来ました。この設定も全てGemini君の助言を借りて行いました。

3. データベース移行(MySQL→SQL Server)

次にMySQLに格納されたデータベースの中身をSQL-Serverに移行する作業に入ります。
ここではMicrosoft社が用意している「SSMA (SQL Server Migration Assistant) for MySQL」を使用して、新サーバー上から現ラー紀サーバー上のMySQLへリモート接続して、データの移行を行いました。まぁ、一筋縄ではいきませんでしたが、全てのテーブルの全レコードが無事移行出来ました。

4. PHPファイルのアップグレード

前述した通り、15年前に独学で作成したPHPのプログラムですが、Gemini君に率直な感想を聞くと散々な言われようでした。Gemini君が指摘したのは以下の3点。

1.セキュリティの甘さとハックのスキ
2.PHP7以降で動かない古すぎる関数
3.非効率な自作テンプレートと判定バグ

まぁIT技術者のはしくれとしては盛大にディスられている訳ですが、PHP自体が15年前のバージョンで、当時はなかったセキュリティパッチやハッキングの隙を埋める技術が現代のバージョンには存在するということです。まぁ、3番については私のコーディングセンスの悪さなんでしょうけど…

作成したPHPファイルの総数が96本あるのですが、これら1本1本を現代風にGemini君に書き換えてもらい、動かしてみておかしい所をこちらから指摘。更に書き換えて…といった作業を繰り返した訳です。

こうして、新サーバーが動く所までこぎ着けた訳ですが、これでは終わらないのです。

5. メンテナンスツールの再作成

以前、「ラーメン紀行が出来るまで 」というYouTube動画を公開したことがあるのですが、ラーメン紀行の取材記をアップするには独自に作成した多くの自作ツール類を使用しています。(詳しくはコチラから。YouTubeへ移行します)
今回、MySQLからSQL-Serverに変わったことで、これらツール類の再作成も行いました。
店の情報をデータベースに登録するツール。画像をサーバーに搭載するツール。緯度経度の登録を行うツール。寸評を登録するツールの4種類です。
現ツールの中には既に使用をやめてしまった「Visual Basic」で作られたツールもあるため、別のソフトで再作成しました。

6. ハッキング対策

ハッキング対策
前述した通り、WebサーバーのPHPファイルを書き換えられてしまった事例が過去にあったので今回、サーバーにあるPHPファイルを定期的に巡回し、改ざんされてしまったファイルをバックアップから戻す仕組みも作りました。まぁ、作ったのはGemini君なんですけどね(笑)
また、見知らぬPHPファイルをwwwrootフォルダに置かれてしまった場合も別フォルダに隔離し、wwwrootフォルダから削除する機能も追加してあります。

今回の作成記の全貌をAIが深掘りして解説する「DEEP DIVE」で公開しています。



新サーバー
と言う訳で長年頑張ってくれたラー紀のWEBサーバーがついに世代交代しました!
これまで動かしていた旧サーバーは、言ってみれば「かなり年季の入ったベテランマシン」。長年の稼働でいつ悲鳴を上げてもおかしくない状態だったし、システム自体もひと昔前の古い仕組みで動いていたので、裏側はなかなかのツギハギ状態でした。
「壊れてから泣くのは嫌だし、ここらでバシッと最新環境に新調しよう!」と思い立ち、上記の工程を経て、ここにお披露目の時を迎えました。
ラー紀があと何年更新を続け、新サーバーが稼働するのかは判りませんが、これからもラーメン紀行をよろしくお願いいたします。

ページトップに戻る