【Qiitaデビュー】CoreserverでNode.js(Express)をCGIで動かそうとして疲れた話
こんにちは、Fumihikoです。
定年後に「Bellwood Academy」という学びの場を立ち上げようと、日々試行錯誤しています。
Qiitaはこれが初投稿になります。よろしくお願いします。
今回は、共用サーバー(Coreserver)でNode.js(Express)をCGIとして動かそうとしたときの記録です。
技術的な話というより、「なぜそうしたか」「どう詰まったか」「どう乗り越えたか」を中心に書いています。
背景:なぜCoreserverでNode.jsを?
2019年にWordPressサイトを立ち上げたときに契約したCoreserver。
そのまま契約を続けていたのですが、今回Bellwood Academyのプロトタイプを作るにあたって、
「せっかくだからこのサーバーを活かしてみよう」と思い立ちました。
ただ、CoreserverはNode.jsを公式にはサポートしていません。
でも、CGIとしてなら動かせる…という情報を見つけて、やってみることに。
試したこと(ざっくり)
- Node.jsスクリプトに
#!/usr/local/bin/node
を書いて、cgi-bin
に配置 -
Content-Type: text/html
を出力して、パーミッションを755
に設定 -
.htaccess
で/api/
以下のリクエストをCGIスクリプトに転送
結果:
500 Internal Server Error
-
.htaccess
の RewriteRule が効かない - ログも出ない
- 本番環境がテストスクリプトでどんどん汚れていく…
疲れて考えた:「ステージング環境って、必要だな」
何時間も格闘して、ふと我に返りました。
「これ、テストしてるんだか、壊してるんだか分からんな…」
そこで思いついたのが、WordPressの「Local」みたいに、
Node.jsでもローカルで本番そっくりの環境を作れないか?ということ。
調べていくうちにDockerにたどり着き、
さらに「MacならOrbStackが軽くて速いらしい」と知って、
ちょうど余っていたMacBook ProにOrbStackを導入しました。
まとめ:今日の学び
- 共用サーバーでの開発は制約が多いけど、学びも多い
- ステージング環境は「壊してもいい場所」として本当に大事
- OrbStack、Macユーザーにはおすすめです(Docker Desktopより軽快)
次回予告
今日は2025年7月8日。
このあとも、OrbStackでの環境構築や、AWSのサービス選定、DNS設定などを進める予定です。
次回は「OrbStackで本番そっくりの環境を作ってみた話」を書く予定です。
Qiitaデビュー、読んでくださってありがとうございました!