今日やったこと

Noraworld BlogGhostを使っているが なんと今の今まで開発環境モードでサイトを立ち上げていた もちろんそれははじめてブログをデプロイしたときからわかっていたことではあるけど 特に違いもわからなかったのでそのまま使っていた

(たしかそのときはプロダクションだとエラーが出てうまく起動できなかったので開発環境モードで起動していた気がする それも今振り返ってみると単なる設定ファイルのミスだったような気がしてきたけど 昔は参考サイトのコマンドをただコピペしてただけだったのでエラーの原因がわかっていなかったんだと思う)

でも、Ghostのリポジトリにあがっているissueで 特定のパスでリクエストを投げるとエラーが表示されるというものを偶然見つけて 実際にそれを自分のブログに対してやってみたらたしかにエラーが表示された

問題なのは開発環境モードで起動していたため スタックトレースの情報まで表示されてしまっていた その中にはGhostを立ち上げているディレクトリのパスとかが細かく表示されていて これをそのままにしておくのはさすがにまずいな…と思ったので 今回、プロダクションモードに切り替えることにした(やっと)

開発環境モードとプロダクションモードでは当然データベースが違うので 今まで書いてきた記事はずっと開発モードのデータベースに入っていたことになる なので単に起動時のオプションをプロダクションモードにするだけでは 今まで書いてきた記事がすべてなくなってしまう

でもこれの解決方法は意外に簡単で 単に開発モードのデータベースファイルをプロダクションモードのファイル名に変更すれば良いだけだった

というわけでめでたくプロダクションモードで起動できた


これだけならまだすぐに終わったんだけど 自分のサーバではブログだけじゃなくてポートフォリオもNode.jsで動かしている GhostはNode.jsの推奨バージョンがちょっと古いので ポートフォリオとブログとで違うバージョンのNode.jsを使い分けている

今までずっとディレクトリに入ってはバージョンを切り替えるコマンドを実行してたけど さすがにめんどくさいのでディレクトリに入ったらNode.jsのバージョンを自動的に切り替えられるようにしたかった

今まではnvmというバージョンマネージャーを使っていたが これはディレクトリ(プロジェクト)ごとにNode.jsのバージョンを自動的に切り替えられるのかわからない (わからないというかそもそも調べておらず、それよりも先に) ◯◯env系なら共通してlocalコマンドが使用できることを知っていたので nvmからndenvに切り替えることにした

RubyもPythonもPHPも全部◯◯envで共通していたので Node.jsだけnvm使っていると使い勝手があまりよろしくなかった

ということでNode.jsのバージョンもいちいちポートフォリオとブログで 切り替える作業をしなくて済むようになったので楽になった


ついでにGhostでデプロイしているブログのadminパスワードを忘れたとき用に メールを送るためにmailgunの設定をしようと思ったんだけど なぜかアカウントを登録しても機能が使用できず おかしいなと思っていたら、なんとアカウントが停止されていた

アカウントが停止されていますというメッセージとともに サポートにコンタクト取ってくださいというリンクがあったので飛んでみたら 404 Not Found で見れなかった

その時点でもけっこう謎なんだけど さらにググってみて、公式ヘルプが出てきたんだけど そのヘルプにはサポートチームに連絡してくださいと書いてあって リンク先に飛んでみたらなんとヘルプのトップページに飛ばされるだけだった

mailgun本当に対応が変じゃないか?

アカウントが停止されていた理由もはっきりしないし アカウントを作成してすぐに使おうと思ってたんだけど すでにアカウントが停止されていたしで mailgun本当に意味がわからない

ということで解決策も何もなさそうなので諦めた まあパスワードはGoogleスマートロックに保存されているので ログインできないこともないだろうし 万一そうなったとしてもデータベースに直接アクセスできるので なんとかなるでしょうきっと

mailgunは本当に意味不明だったけど ブログをプロダクション環境で起動できて Node.jsのバージョン管理も楽にできたので良かった


FEH召喚

img_0170

星5が出たけどはじめて見たから強いのかよくわからん

img_0169

img_0171