タグ: LXC

  • WordPressからGhostにブログを移行してみた

    このブログはWordpressを使って運営していますが、自分のブログの方針として、面倒くさいのでゴテゴテした感じにするつもりはないし、テキストと写真・リンク以外のものが存在しないので、Wordpressは結構過剰な仕様なんですよね。

    ということで、もっとシンプルに使えるものとして、同じCMSながらブログ・ニュースレターに特化したGhostというセルフホスト可能なサービスを使うことにしました。
    https://ghost.org/

    ウェブサービスとしても使えますが、セルフホストも可能というのはWordpressとWordpress.orgみたいな感じでしょうか。

    移行にあたっては、まずは既存のWordpressでGhost移行用プラグインをインストールします。プラグイン検索でGhostで検索すると見つかりますので、それを入れたあとに有効化すると、エクスポートできます。json1つだけ出力されるのと、画像込みZipを出力するのとがありますので、一応両方エクスポートしておきます。

    肝心のGhostについては、最初はProxmoxのLXCコンテナで作るつもりでしたが、DBとか面倒くさいなあと思ったので、VMを作ってCasaOSを入れて、CasaOSのアプリとしてGhostを入れました。勝手にDBを入れるところまでやってくれるので楽です。

    まずはプライベートIPアドレスでGhostを起動します。ポートは2368がデフォルトです。

    最初の画面でメールアドレスとパスワードを設定して初回ログイン。先ほどエクスポートしたWordpressの中身をインポートしようとすると、画像込みのZipファイルを読んでくれません。仕方無しにjsonでインポートします。画像入れてる投稿は1つくらいしか無かったので別に良いのですが、画像が多いブログを移行する場合は大変ですね。

    さて、問題なさそうなので独自ドメイン(https://hrsgmb.com)に移行・・・する前にテストとして、
    https://new.hrsgmb.com
    で使えるか試してみます。

    Cloudflareの設定で上記のテスト用サブドメインのDNSレコードを固定IPに設定し、
    AdguardHomeでサブドメインをNginxProxyManagerに向けて設定、
    NginxProxyManagerでCasaOSのIPアドレスに向けるのとSSL設定を行い、
    さあサブドメインでテスト運用!と思っていました。

    しかし、このサブドメインをブラウザで開き、設定画面で初回ログイン時に設定したメールアドレスとパスワードを使うとエラーが出てログインできません。

    訳が分かりませんでしたが、調べてみるとどうやらログイン時に作成したクッキーがないと強制的に2段階認証が発動するようです。そして、メール送信の仕組みを設定していないため、そのメールアドレス宛への2段階認証のコードを送ることすら出来ないという状況になっていました。

    先達の方々のブログも読んで、configファイルにCasaOSのアプリのターミナルから普段使わないviで書いたりしましたが、それでも2段階認証のメール送信が出来ません。

    結局、困ったときはいつもの通り生成AIです。聞いてみると、configを編集するよりも、dockerなら環境変数で設定したほうが良いとのこと。こういうことはやっぱり知識がないと駄目ですね。

    言われたとおり、CasaOSのGhostの設定画面で環境変数に追加してみました。ちなみに使用するメールはGmailで、送信システムもGmailのSMTPを使用します。

    この時に、Gmailのアプリパスワードという仕組みを使いましたが、セキュリティのことを考えるといずれこの仕組みはGoogleが廃止しそうな気がします。その時までに、自宅ネットワーク内でのメールサーバを立ち上げておかないといけないのでしょうか。

    それはともかく、生成AIのおかげで2段階認証のメールがちゃんと届き、ログインできました。

    まだテスト用のサブドメイン運用ですので、
    https://new.hrsgmb.com
    となっているものを全て、
    https://hrsgmb.com
    に変更していきまして、Ghostの設定画面にも再び2段階認証でログインできました。これで移行完了です。あ、上記のテスト用サイトは

    大してビュー数も無く、画像もあまり貼っておらず、ポスト数もまだまだ少ないブログですので、WordpressでもGhostでも表示速度に差は無いと思いますが、とにかくシンプルなのは良いですね。

    設定画面が全部英語で、日本語ローカライズも無いようですが、難しい英語が書かれているわけではないですし、ブラウザの翻訳機能を使えば誰でも使えるでしょう。

    結構良いなと思ったのですが、少なくとも日本での知名度も利用度もWordpressと比ぶべくもないくらい隔絶しています。まあ、シンプルなブログを書きたいなら、GoogleのBloggerとか、私も書いているnoteとかありますしね・・・。

  • 自宅ネットワーク内でのホームサーバ構成

    ・現状

    今年の2月から今までにかけて、なぜか突然、「ミニPC購入欲」が沸いてきまして、それに素直に従った結果、自宅というか自室にある常時稼働パソコンが5台になってしまいました。他にノートパソコンとしてChromebookもありますが、こちらはたまにしか起動しないので今回の話からは外れます。

    さて、この4台のパソコンについては、メインPC以外の用途は常時稼働サーバとして運用しています。

    型番で言いますと、
    DELL Wyse5070
    IceWhaleTechnology Zimaboard
    Minisforum UN100P
    Goodtico MINIPC-3550H
    となりまして、見事にメーカーもスペックも異なります。これらを生かそうと思いつつ、自分の勉強のためと、様々なサービスを享受するため、そしてGoogle社なんかを始めとするメガIT企業に頼り切らないようにするため、自宅サーバを色々立てることにしました。

    とはいえ、メガIT企業に頼らないと言いつつも、実際にサーバを立てるに当たっては、ChatGPT、Gemini(Google AI Studio)、Claudeといった生成AIの皆さんに、ひたすらガッツリ聞きまくって、悩みつつ試行錯誤しつつ、サーバを立てては消したりなんやかんやした結果、現時点では以下の通りの構成となりました。

    ・Zimaboard

    (スペック)
    CPU Intel Celeron N3450(4コア4スレッド)
    メモリ 2GB
    ストレージ eMMC 32GB

    (用途)
    RJ45のLANポートが二つあるので、自室のPCとスマホ・タブレットのゲートウェイとして運用することにしました。具体的にはUbuntuserver24.04をインストールして、Firewall(UFW)と広告ブロック(Pi-hole)とVPN(WireGuard)のサーバとして利用しています。PCIeカードもさせますが、今のところは使う予定無し。シングルボードマイコンとして使う分には充分な性能があります。メモリが4GBや8GBのものだと、もっと有効活用出来たでしょうけれど、それはそれで高くなりますので割り切ってルータっぽく使う分にはこれでいいですね。

    ・Wyse5070

    (スペック)
    CPU Intel CeleronJ4105(4コア4スレッド)
    メモリ DDR4 16GB
    ストレージ SATA接続SSD480GB、USB接続HDD2TB

    (用途)
    こちらはLANポートが1つしかないですが、USBポートは8つもあります。最初はOpenMediaVaultを入れて、2TBのUSB接続HDDを2台でRaid1としてNAS運用していましたが、今はProxmox Backup Server のVM(CPU2コア、メモリ4GB、スワップ1GB、ストレージ10GB、USB接続HDD2TB)のみとして利用しています。まだ余力はありますが、個人的にはバックアップ用のサーバには他のサービスを入れたくないので、当面はこのままだと思います。

    ・UN100P

    (スペック)
    CPU Intel N100(4コア4スレッド)
    メモリ DDR4 16GB
    ストレージ SATA接続SSDが240GBと、USB接続SSDが2TB

    (用途)
    もともとベアボーンとしてメモリもストレージもない状態で買いましたが、手持ちのNVMe接続SSDをつないでWindows11を入れてみて、あっさり使えましたが、そもそもメインPCのWindowsがあるので使い道がありません。ということでサーバに回します。
    Proxmoxを導入して、その上で、既にノードとして
    FreshRSS(RSSリーダー)のLXCコンテナ(CPU1コア、メモリ1GB、スワップ1GB、ストレージ10GB)、
    Vaultwarden(パスワードマネージャー)のLXCコンテナ(CPU1コア、メモリ1GB、スワップ512MB、ストレージ16GB)、
    Nginx Proxy Manager(リバースプロキシ)のLXCコンテナ(CPU1コア、メモリ1GB、スワップ1GB、ストレージ8GB)、
    OpenMediaVault(ファイルサーバ)のVM(CPU1コア、メモリ2GB、SSD10GB、USB接続HDD2TB)、
    を動かしています。

    ・MINIPC-3550H

    (スペック)
    CPU Ryzen5 3550H(4コア8スレッド)
    メモリ DDR4 16GB
    SSD NVMe接続SSDが512GB、USB接続SSD1TB、USB接続HDD1TB

    (用途)
    以前、使っていたPCが故障したために急遽購入したこちらのマシンが、普段使いだとファンがうるさく、結局別のPCをまた購入してメインPCとして使っているため、このRyzen搭載ミニPCは押し入れにしまっていました。他のミニPCでどんどんサーバを立てていくと、やりたいことが増えてきたため、このRyzen5マシンを復帰させました。ファンのうるささはCPU周波数を低速で固定することで対策しました。この対策についてはまた別の記事に書こうと思います。ともかく、手持ちのサーバ運用ミニPC群の中では、一番リッチなスペック(といってもCPU単体ではN100と大差ないですが)なので、重たい動作のものを集めました。
    Proxmoxを導入して、その上で、既にノードとして
    WordPressのLXCコンテナ(CPU2コア、メモリ4GB、スワップ1GB、ストレージ10GB)、
    NextCloudのLXCコンテナ(CPU2コア、メモリ4GB、スワップ1GB、ストレージ10GB、USB接続HDD1TB)、
    Apt-cacher-ng(パッケージ配布キャッシュプロキシ)のLXCコンテナ(CPU1コア、メモリ2GB、スワップ512MB、ストレージ100GB)、
    UniversalMediaPlayerのVM(CPU2コア、メモリ4GB、ストレージ32GB、USB接続SSD1TB)、
    を動かしています。
    Apt-cacher-ngのストレージは、本当はキャッシュを貯めておくのに外付けのSSDかHDDにしたいところですが、現状余っているものがないため、内部のSSDを多目に確保して運用しています。

    ・その他、これから

    後、いくつもあるサーバの死活監視のために、ZabbixとかNogiOSとか運用してみたかったのですが、生成AIに聞きながら作成しても失敗してしまいました。この辺はひとえに私の知識不足なので、またそのうち試してみます。ですので、現在はWindowsで運用できる、PRTGのフリー版を使ってとりあえずPingの監視だけ行っています。まあ、この程度のサーバ数なら一つ一つ見てても何とかなるといえばなるのですけれど。別に仕事じゃないし。

    あと、導入したいのはメールサーバくらいでしょうか? メールサーバは結構面倒というか、既に何度か試しましたが色々大変で結局上手く行かなかったので、また折を見て試すつもりです。ただ、既にメールサーバを入れられそうな余裕があるPCがないのですよね・・・。