これは「Mix Space + Yohaku デプロイシリーズ」の最初の記事で、バックエンド(Core)のインストールに焦点を当てます。フロントエンドテーマ Yohaku のデプロイについては、続く第二回をご覧ください。
Mix Space は、フロントエンドとバックエンドが分離されたモダンな個人ブログシステムです。バックエンドの Core は、RESTful API、定期タスク、バックアップ、サーバーレス関数などの一連のサービスを提供し、システム全体を静かに支える心臓部です。フロントエンドテーマはそこから独立しており、自由に組み合わせることができます。
この記事では、1Panel パネルを使って、Mix Space のバックエンドを自分のサーバーで動かす方法を紹介します。手間をかけずに、一歩ずつ進めていきましょう。
ステップ1 · 1Panel パネルのインストール
1Panel は、モダンなオープンソースの Linux サーバー管理パネルで、すっきりとしたインターフェースと直感的な操作が特徴です。これがあれば、この後のコンテナ管理、ファイルアップロード、リバースプロキシ設定が格段にスムーズになります。
インストール前のちょっとした確認
| チェック項目 | 要件 |
|---|---|
| OS | 主要な Linux ディストリビューション(Debian / Ubuntu / CentOS など) |
| サーバーアーキテクチャ | x86_64、aarch64、armv7l 等すべてサポート |
| 利用可能なメモリ | 1 GB 以上 を推奨 |
| ネットワーク環境 | インターネットに正常にアクセスできること |
| ブラウザ | Chrome、Firefox、Edge などの最新ブラウザ |
一行のコマンドでインストール完了
SSH でサーバーにログインし、以下を実行します:
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"
コマンドラインの指示に従って操作し、インストールが完了するまで気長にお待ちください。成功すると、コンソールに次のようなアクセス情報が表示されます:
パネルアドレス:http://あなたのサーバーIP:ポート/セキュリティエントリ
セキュリティエントリを忘れた場合は、再度サーバーに SSH 接続して以下のコマンドを実行してください。entrance フィールドの値がエントリパスです:
1pctl user-info
Docker のインストールに失敗した場合は、先に以下のコマンドを単独で実行して修正してください:
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
ステップ2 · 1Panel で Mix Space をインストール
2.1 アプリケーションパッケージのダウンロード
以下のリポジトリから mxspace.zip ファイルをダウンロードしてご用意ください:
2.2 アプリケーションパッケージのアップロード
1Panel パネルにログインし、左側メニューから ホスト → ファイル に進み、次のパスに移動します:
/opt/1panel/resource/apps/local
「アップロード」をクリックし、先ほどダウンロードした mxspace.zip ファイルを選択します。
2.3 解凍、パスに注意!
アップロードが完了したら、mxspace.zip をクリックして 解凍 を選択します。
2.4 ローカルアプリの同期
1Panel の アプリストア に移動し、右上の ローカルアプリを同期 ボタンをクリックします。しばらくしてから検索ボックスに mxspace と入力すると、先ほど追加したアプリが表示されます。
インストール をクリックして、設定ページに進みます。
2.5 インストール設定項目の入力
インストールページには、3つの読み取り専用の説明と5つの設定項目があります。上から順に入力していきます。
ページ上部には、グレーの「📌」マークの付いた3つの注意書きがあります。それぞれ JWT シークレットの要件、ドメイン名の形式、暗号化機能の注意点が説明されていますが、参考情報であり、変更の必要はありません。読み飛ばしてください。
🔑 JWT シークレット (JWT Secret)
これはバックエンドサービスのコアとなるセキュリティ認証情報で、長さは16文字以上、32文字以下でなければなりません。ランダムに生成された強力なパスワードを使用することをお勧めします。ターミナルで次のコマンドを実行できます:
openssl rand -base64 24
生成された結果をここに入力し、大切に保管してください。このブログシステムの鍵のようなもので、紛失するとリセットが必要になり面倒です。
🌐 許可されるオリジン (Allowed Origins)
バックエンド API へのアクセスを許可するフロントエンドのドメインを入力します。複数のドメインは英語のカンマで区切ります。形式の例:
localhost:*,あなたのテーマのフロントエンドドメイン
Yohaku フロントエンドをデプロイする際、ここには Yohaku が配置されるドメインを入力します。まだ決まっていない場合は、一旦 localhost:* と入力しておき、後でインストール済みアプリの設定ページで変更できます。
🔒 暗号化を有効にする (Enable Encryption)
ドロップダウンから選択します。デフォルトは無効(推奨) です。
🗝️ 暗号化キー (Encryption Key)
前の項目で「有効」を選択した場合のみ入力が必要です。キーは64桁の小文字英字と数字で、以下のコマンドで生成できます:
openssl rand -hex 32
暗号化を無効にした場合は、ここは空欄のままで構いません。
🔢 HTTP ポート
デフォルトは 2333 で、通常は変更不要です。ポートが競合する場合は、他の利用可能なポートに変更してください。
ポートの外部公開を直接有効にすることは推奨しません。次のステップでリバースプロキシ経由で外部にサービスを提供する方が、より安全で適切です。
2.6 インストール開始 🎉
設定に間違いがないことを確認し、インストール開始をクリックします。
1Panel が自動的に innei/mx-server、mongo:7、redis:alpine の3つのイメージを取得し、オーケストレーションして起動します。初回インストール時はイメージの取得に数分かかるため、気長に待ちましょう。
ステータスが実行中(Running) と表示されれば、Mix Space バックエンドは静かに動き出しています 🌿
ステップ3 · リバースプロキシと HTTPS の設定
ポートを直接公開する方法は安全でなく、見た目も良くありません。Nginx リバースプロキシを使ってサービスをあなたのドメインにバインドし、HTTPS を設定して初めて、全体が完成します。
ここでは、完全な Nginx 設定を提供します。この設定は興味深い工夫をしています――フロントエンド(Yohaku、ポート 2323) とバックエンド(Mix Space Core、ポート 2333) のルーティングを同じ server ブロックに記述し、ひとつのドメインで外部に提供するのです。訪問者があなたのブログにアクセスすると、フロントエンドのページとバックエンドの API が舞台裏で静かにそれぞれの役割を果たし、外からはクリーンなドメインだけが見えます。
設定を保存したら、nginx -t で構文をチェックし、その後 nginx -s reload でリロードすれば反映されます。
設定が完了すると、バックエンド関連のアドレスは次のようになります(後で Yohaku をデプロイする際に使用します):
これらのアドレスを控えておいてください。
ステップ4 · 管理画面の初期化
リバースプロキシ設定が完了したら、ブラウザで管理画面にアクセスします:
https://あなたのドメイン/qaqdmin
初回アクセス時に初期化ウィザードが表示され、管理者アカウントの作成やサイト基本情報の入力などを案内します。画面の指示に従って進めてください。
よくある質問
Q:インストール後、コンテナが何度も再起動して正常に起動しません。
おそらく、MongoDB または Redis のヘルスチェックがまだ完了していません――これらは完全に準備が整うまでに少し時間がかかり、Core コンテナは自動的にリトライします。約 1 分待てば、通常は自然に復旧します。それでも異常が続く場合は、1Panel のコンテナログで具体的なエラーメッセージを確認してください。
Q:JWT シークレットを保存し忘れてしまいました。どうすれば?
1Panel アプリストアのインストール済みリストで、mxspace の 編集 または 設定 をクリックすると、現在の環境変数の値を確認できます。
Q:許可されたオリジンを変更したい場合、どうすればよいですか?
インストール済みアプリの設定ページで、環境変数 ALLOWED_ORIGINS を変更し、保存してからコンテナを再起動すると反映されます。
Q:データはどこに保存されますか?
すべてのデータは /opt/1panel/apps/local/mxspace/mxspace/data/ ディレクトリに永続化されて保存されます。これには MongoDB データ、Redis データ、mx-space のランタイムファイルが含まれます。このディレクトリを定期的にバックアップするか、1Panel のスナップショットと一緒にバックアップしてください。
参考資料
- 1Panel オンラインインストールドキュメント
- Mix Space 公式ドキュメント
- mx-server GitHub リポジトリ
- 1Panel アプリの自作作成 · FIT2CLOUD コミュニティフォーラム
バックエンドはしっかりと土台に着地しました 🌱
次は、第二回に進んで、Yohaku という美しい衣装をまとわせましょう。