banner
Magneto

Magnetoの小屋

Magneto在區塊鏈上の小屋,讓我們的文章在互聯網上永遠熠熠生輝!!

Fiora ビルドガイド

前言#

私の若い頃のコンピュータを学ぶ願望の一つであるチャットルームを満たすために、Fiora の構築を再度行うことにしました。特に、私は以前に Fiora を何度も構築したことがありますが、成功したのは一度だけで、それは docker を使用してインストールしたためであり、イメージファイルを使用していたため、真の意味での構築成功とは言えません。今回書く構築ガイドは、ソースコードに基づいて構築することを指しています。

Fiora#

碎碎酱によって開発されたチャットルームシステムで、さまざまな理由から Fiora はもはや更新されておらず、メンテナンスもほとんど行われていません。そのため、2023 年の今、Fiora を再び動かすことは非常に難しい問題です。また、Fiora のドキュメントは十分に詳細ではなく、新人が構築する際に簡単に失敗する可能性があります。メンテナンスが少なく、構築が難しいことを除けば、実際には Fiora 自体は非常に優れたチャットルームシステムです。

避坑指南#

もしあなたが Fiora の構築メカニズムを大体理解しているが、いくつかの問題を克服できない場合、ここでいくつかの指針を提供します。

    1. Node.js のバージョンの問題、v14 LTS バージョンを使用してください。
      yarn build:web、つまりクライアントを構築する際に、以下のような問題に遭遇した場合

image

これはおそらく Node.js のバージョンが高すぎるためです。結局、これは 2015 年に始まったプロジェクトであり、現在高バージョンの Node.js を使用するのは礼儀に反します。画像の倒数第 6 行のコマンドで、現在使用している Node.js のバージョンが表示されます。もし見つからない場合は、以下のコマンドを実行してください。

# Node.jsのバージョンを確認
node -v
# または
node --version

使用している Node.js のバージョンを確認します。

image

通常は最新バージョンですが、Node.js v14 を使用する必要があります。切り替えが完了したら、上記のコマンドを再実行して効果を確認してください。効果がない場合は、サーバーを再起動してみてください。切り替えが完了した後は、yarn を再インストールし、依存関係をインストールし、クライアントを構築する必要があります。

    1. クライアントの構築に時間がかかりすぎる場合は、サーバーをアップグレードしてください。2 コア 2GB RAMを推奨します。
    1. UserID を取得するには、Fiora の内蔵コマンドを使用しても UserID を取得できませんので、コンソールを確認してください。
    1. Fiora に付随するアプリの構築に関する問題は、新しい構築方法を使用する必要があります。 Fiora docsに記載されている方法ではありません。ただし、Fiora がしばらく前にコードをリファクタリングしたため、アプリがサーバーと通信できなくなる可能性があることに注意してください。

開始構建#

サーバー構成ガイド#

Fiora は構成に対する要求が高くはありませんが、無門檻ではありません。ソースコードの構築に関わるため、一定の構成が必要です。

  • 構成要件:1 コア 2GB 以上(2 コア 2GB を推奨)
  • ネットワーク要件:外部ネットワークに接続可能
  • ハードディスクサイズ:2GB 以上
  • 環境要件:Node.js(バージョン v14)、MongoDB、Redis
  • サーバーシステム:Ubuntu22(このシステムを使用して構築ガイドを説明します)

Node.js、MongoDB、Redis のインストール方法については説明しません。手間を省きたい場合は、私たちの古い友人 BT.CN をインストールし、PM2 マネージャーを選択してください。そうすれば、pm2 や npm を別途インストールする必要はありません。

構築ガイド#

Web 端構築#

まず、プロジェクトをローカルにクローンする必要があります。その前に、サーバーに git 機能があることを確認してください。通常はあります。以下のコマンドを入力します。

# プロジェクトをローカルにクローン
git clone https://github.com/yinxin630/fiora.git -b master

注意すべきは、サーバーが国内にある場合、クローンに失敗する可能性があることです。GitHub からダウンロードして、サーバーにアップロードすることを選択できます。クローンが完了したら、Fiora ディレクトリに移動します。

cd /fiora

このコードを実行する際は、必ず現在のディレクトリを加えてください。私が Fiora をクローンしたディレクトリが/www/projectの場合、入力すべきコマンドは次のようになります。

cd /www/project/fiora

次に、必ず確認してください。使用している Node.js のバージョンが v14 であるかどうか、以下のコマンドを入力して確認します。

# Node.jsのバージョンを確認
node -v
# または
node --version

image

これは、yarn のインストールやその後の構築の成功に関わる重要なことです。もし v14 でない場合は、必ず v14 に切り替えてください

image

その後、yarn がインストールされているかどうかを確認する必要があります。通常はインストールされていません。すでにインストールされていると思う場合は、以下のコマンドを入力して確認できます。

yarn -v

もし yarn がインストールされていない場合は、以下のコマンドを入力してインストールします。

npm install -g yarn

少し待つと、yarn がインストールされます。yarn には特に要求はありませんが、問題がある場合は、1.22.19バージョンに切り替えてみてください。このバージョンは正常に構築できることが確認されています。

23/12/23 追記 一連の問題を解決し、Fiora の内蔵コマンドラインツールをサポートしました。

プロジェクトに必要な依存関係をインストールします。

yarn install

image

次に、Fiora プロジェクトをリンクします。

yarn link "fiora"

これで正式に Fiora を構築します。Fiora の正式な構築は実際には非常に簡単で、上記の作業を完了すれば、次のコマンドを入力できます。

yarn build:web

Fiora の構築が行われ、しばらく待つと構築が完了します。

次に、JwtSecret を構成します。このステップはなぜ必要なのかわかりませんが、これがないと実行できません。コマンドラインに以下のコマンドを入力します。

echo "JwtSecret=<string>" > .env2

<string>を秘密のテキストに置き換えます。

最後に、Fiora を起動できます。

yarn start

起動が完了したら、ブラウザでhttp://[ipアドレス]:[ポート](例えばhttp://127.0.0.1:9200)を開くと、ウェブサイトにアクセスできます。デフォルトのポートは 9200 です。

管理者の追加#

この章では Fiora の内蔵スクリプトを使用しています。実行できない場合は、Fiora プロジェクトがリンクされているかどうかを確認してください。

yarn link "fiora"

通常、上記の構築手順を使用すれば、確認することなく管理者を追加できます。

Fiora の内蔵スクリプトの詳細については→スクリプト | Fiora Docs

Fiora を正常に起動した後、Fiora の実行ログに入ります。成功した起動のアドレスにアクセスし、ユーザーを登録し、ユーザー名を覚えておきましょう。キーボードでCTRLキーとCキーを同時に押して、実行ログを終了します。

fiora getUserId [username]

[username]部分は登録したユーザーのユーザー名です。この方法でユーザーの UserID を取得します。

image

658637b993f5dbef4c3e1f0aが必要な UserID です。この ID を/packages/config/server.ts34行目に追加します。

administrator: env.Administrator ? env.Administrator.split(',') : ["658637b993f5dbef4c3e1f0a"],

構成が完了したら、Fiora を再起動します。

解決できない問題#

アプリ構築#

大量の資料を調べた結果、Fiora App | fiora docsが提供する構築方法は、2023 年の今日、成功することは完全に不可能であり、大量のエラーが発生します!さらに、アプリを正常に構築した後、Fiora のコードがしばらく前にリファクタリングされたため、2023 年の今日、アプリが自分のサーバーと通信できなくなっています!!!!!!!!!たとえ碎碎酱自身のアプリでも動作しません。ここでアプリの構築について書いている理由は、もし熱心な大神が見てくれたら、この問題を解決してもらえるかもしれないからです!!

Web 構築が完了すると、/fiora/packagesディレクトリにアプリディレクトリが作成されます。そこに入ります。

cd /fiora/packages/app

コマンドラインに以下のコマンドを入力して、最新の EAS CLI をインストールします。

npm install -g eas-cli

次に、Expo にアカウントを登録し、アカウントのパスワードを覚えておいてください。アプリの構築はクラウド構築であり、ローカル構築ではありません。次に、アカウントにログインします。

eas login

先ほど登録したアカウントとパスワードを入力して、認証を完了します。次に、コマンドラインに以下のコマンドを入力し、パッケージするタイプを選択します。ENTER(エンターキー)を使用して選択します。ここでは Android を選択します。

eas build:configure

次に、以下のコマンドを入力して初回の構築を行います。

eas build --platform android

約 10 分待つと、ログイン後の Expo のホームページに以下の内容が表示されます。

image

そこに入ると、.aab形式のインストールパッケージをダウンロードできます。そう、.aabであって **.apk** ではありません。したがって、2 回目の構築が必要です。2 回目の構築の前に、/fiora/packages/appディレクトリに移動し、eas.jsonファイルを編集して、その内容を次のように置き換えます。

{
  "build": {
    "preview": {
      "android": {
        "buildType": "apk"
      }
    },
    "preview2": {
      "android": {
        "gradleCommand": ":app:assembleRelease"
      }
    },
    "preview3": {
      "developmentClient": true
    },
    "production": {}
  }
}

次に、再度パッケージ構築を行いますが、今回は以下のコマンドを使用します。上記のものとは異なります。

eas build -p android --profile preview

再び 10 分待つと、アプリの構築が完了し、.apk 形式のインストールパッケージをダウンロードできます。自動的に署名もしてくれます。

しかし、私が言ったように、このアプリはサーバーと通信できません。大神の協力が必要です!!

ポートの問題#

一部のサービスプロバイダーは比較的厳格なファイアウォールポリシーを持っているため、必要なポートを開放する必要があります。Fiora が必要とするポートには以下が含まれますが、これに限りません。

  • 19002 アプリ構築に必要
  • 6379 アプリ構築に必要
  • 9200 Fiora Web ポート、カスタマイズ可能
  • 27017 データベースポート

その他の問題#

修正内容#

Fiora に対して一定の修正を行いたい場合は、この部分の内容を必ず確認してください。以前に Fiora のコードがリファクタリングされたため、Fiora | Docsは 2023 年の今日、もはやそれほど適用できなくなっています。提供されるディレクトリ構造も価値を失っています。したがって、Fiora のソースコードを修正したい場合は、私が書いた部分のディレクトリ構成を必ず確認してください。

# Fioraの部分ディレクトリ構成
|-- [.githubb]                // github actions
|-- [.vscode]                 // vscode ワークスペース設定
|-- [packages]                // すべてのソースコードの保存ディレクトリ
|------  [app]                // アプリのソースコード
|----------  [src]            // アプリのソースコード
|--------------  [pages]      // アプリのフロントエンドUI
|----------  [app.json]       // アプリの基本情報
|----------  [src]            // アプリのソースコード
|------  [assets]             // 静的リソース
|------  [config]             // Fioraの構成ファイルフォルダ
|----------  [client.ts]      // クライアント構成
|----------  [server.ts]      // サーバー構成
|------  [database]           // データベースメソッド、通常は触れない
|------  [server]             // 構築後に保存されるWeb
|------  [utils]              // utils
|------  [web]                // Webのソースコード
|----------  [src]            // Webのソースコード
|--------------  [modules]    // WebのフロントエンドUI
|-- .eslintignore             // eslint 無視
|-- .eslintrc                 // eslint 構成
|-- .gitignore                // git 無視
|-- Dockerfile                // docker ファイル
|-- LICENSE                   // fiora ライセンス
|-- docker-compose.yaml       // docker compose 構成
|-- package.json              // npm
|-- tsconfig.json             // typescript 構成
|-- yarn.lock                 // yarn
...

終了#

これらは私が Fiora の構築を行う際に経験したすべてです。後の人々が Fiora を構築する際にいくつかの落とし穴を避けたり、新人に Fiora チャットルームの構築方法を教えたりする手助けになれば幸いです。この記事にはまだ不十分な部分があるかもしれませんので、どうかご容赦ください。問題があれば指摘してください。改善に努めます。また、もし大神がアプリがサーバーと通信できない問題を解決する方法を知っている場合は、私のメールアドレス[email protected]までご連絡いただければ感謝いたします!

参考#

Fiora Docs:https://yinxin630.github.io/fiora/zh-Hans/

最初のビルドを作成する:https://docs.expo.dev/build/setup/

Expo CLI:https://docs.expo.dev/more/expo-cli/#installation

Android エミュレーターとデバイス用の APK をビルドする:https://docs.expo.dev/build-reference/apk/

この記事は Mix Space によって xLog に同期更新されました。元のリンクは https://fmcf.cc/posts/technology/Fiora-Setup-Guide

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。