メインコンテンツにスキップ

Linux サーバーへのインストール (上級)

次のドキュメントは、Linux サーバーに ONES をインストールするためのものです。

前提条件
  • Linux 環境は Docker をサポートしており、ほとんどの Linux ディストリビューション (Redhat、CentOS、Ubuntu、Oracle Linux など) は Docker をサポートします。
  • 環境の Linux オペレーティング システムに従って Docker エンジンをインストールします。公式 ガイド に従ってください。
  • Docker Compose をインストールします。 Linux OS では Linux スタンドアロン バイナリを選択する必要があります。公式の [ガイド](https://docs.docker.com/compose/install/#install-compose-as-standalone-binary-on-linux -システム)
  • 仮想マシン (Hyper-v や WMWare など) の場合、ハイパースレッディングをサポートし、ネストされた仮想化 を実行できる必要があります。 仮想マシンでこれらの構成を有効にしてください
  • MySQL 8 以上
  • 有効な SSL 証明書
情報

Docker エンジンが正しくインストールされていることを確認するには、コマンド sudo docker images を使用します。

Docker Compose が正常にインストールされたことを確認するには、コマンド sudo docker-compose version を使用します。

セットアップ の手順

  1. ONES サーバー イメージ bookings-one.tar をフォルダ /bookings-one に入れます
ONES サーバー イメージの直接ダウンロード リンクはありません。 ONES サーバー ミラーのインストールについては、ONEs Software にお問い合わせください。
  1. 次のスクリプトを/bookings-one/docker-compose.ymlに保存します
version: '3.1'

services:
bookings-one:
image: ones-software/bookings-one:latest
restart: always
volumes:
- /bookings-one:/etc/bookings-one
environment:
BackgroundJob__TimeZone: 'Asia/Hong_Kong'
File__BaseDirectory: '/etc/bookings-one/upload-files'
Logging__ErrorLog__FileLogDirectory: '/etc/bookings-one/error-logs/error-logs-{Date}.txt'
Logging__InfoLog__FileLogDirectory: '/etc/bookings-one/info-logs/info-logs-{Date}.txt'
Logging__DbLog__FileLogDirectory: '/etc/bookings-one/db-logs/db-logs-{Date}.txt'
WebPush__PrivateKey: WEB_PUSH_PRIVATE_KEY
WebPush__PublicKey: WEB_PUSH_PUBLIC_KEY
Architecture__Database: 'Mysql'
ConnectionStrings__MainDatabase: 'Server=DATABASE_SERVER_ADDRESS;Port=3306;Database=Bookings.ONE;Uid=DATABASE_USERNAME;Pwd=DATABASE_PASSWORD;Allow User Variables=true'
ASPNETCORE_URLS: 'https://+;http://+'
ASPNETCORE_HTTPS_PORT: 443
ASPNETCORE_Kestrel__Certificates__Default__Password: CERTIFICATE_PASSWORD
ASPNETCORE_Kestrel__Certificates__Default__Path: '/etc/bookings-one/certificate/bookings-one.pfx'

ports:
- 443:443
.yml ファイルの間隔は非常に重要です。例と同じインデントを維持してください。
  1. docker-compose.yml を変更します。
    1. DATABASE_SERVER_ADDRESSDATABASE_USERNAME、およびDATABASE_PASSWORDをデータベース接続文字列に置き換えます
      Mysql が Docker と同じサーバーで実行されている場合、DATABASE_SERVER_ADDRESShost.docker.internal,1433 に設定する必要があります。
    2. WEB_PUSH_PRIVATE_KEYWEB_PUSH_PUBLIC_KEY をキー ペアに置き換えます。 このキーは VAPID キーです。自分で生成するか、オンライン キー ジェネレーター を使用できます。
    3. CERTIFICATE_PASSWORD を証明書のパスワードに置き換えます
  2. 証明書ファイルを/bookings-one/certificate/に置きます。証明書名はbookings-one.pfxにする必要があります
  3. ターミナルを開き、/bookings-oneフォルダに入ります
  4. 最新の ONES サーバー イメージをロードするには、コマンドsudo docker load --input ./bookings-one.tarを実行します。
  5. ONES を開始します。コマンドsudo docker-compose up -dを実行します。
  6. これで、https://localhost経由でONESコンソールにアクセスできます

参考までに docker-compose.yml の例を示します。

version: '3.1'

services:
bookings-one:
image: ones-software/bookings-one:latest
restart: always
volumes:
- /c/bookings-one:/etc/bookings-one
environment:
BackgroundJob__TimeZone: 'Asia/Hong_Kong'
File__BaseDirectory: '/etc/bookings-one/upload-files'
Logging__ErrorLog__FileLogDirectory: '/etc/bookings-one/error-logs/error-logs-{Date}.txt'
Logging__InfoLog__FileLogDirectory: '/etc/bookings-one/info-logs/info-logs-{Date}.txt'
Logging__DbLog__FileLogDirectory: '/etc/bookings-one/db-logs/db-logs-{Date}.txt'
WebPush__PublicKey: 'BJszfqip7Ii_lKSXCd_ZZJXT5FeQwJCZx79mLpr3nY8_rvRzSBLuaTx5dOp4rQZtzI511UvoyRXIwPoZ4_PALFA'
WebPush__PrivateKey: 'C-RkwJZGooRiI0CGNwAmShlaSWsh4SRNkol-ni5LGAk'
Architecture__Database: 'Mysql'

ConnectionStrings__MainDatabase: 'Server=host.docker.internal;Port=3306;Database=Bookings.ONE; ASPNETCORE_URLS: 'https://+;http://+'
ASPNETCORE_HTTPS_PORT: 443
ASPNETCORE_Kestrel__Certificates__Default__Password: Password1234
ASPNETCORE_Kestrel__Certificates__Default__Path: '/etc/bookings-one/certificate/bookings-one.pfx'
ports:
- 443:443

ONESサーバーを更新する

1.最新のONESサーバーイメージをC:\bookings-oneにダウンロードします 2.C:\bookings-oneで PowerShell を開きます 3. ONES を停止します。コマンドdocker-compose downを実行します。 4.最新のONESサーバーイメージをロードするには、コマンドdocker load --input ./bookings-one.tarを実行します 5. ONES を更新して起動し、コマンドdocker-compose upを実行します。

画像をフォルダー C:\bookings-one に入れる必要はありません。任意のドライブまたはフォルダーで動作します。別のフォルダーに移動する場合は、移動先の "/c/bookings-one" を置き換えますフォルダー (例: /d/server/bookings-one)
サーバー用に ホストテーブル/共有ドライブ を構成する必要がある場合は、ここ で手順を参照できます。