systemdシャットダウン画面でハングアップするSUSEサーバーを診断する
systemdジョブと前回の起動ジャーナルを使用して、遅いサービス、マウント、またはストレージの依存関係を特定し、原因を隠蔽することなく修正します。
ONLYOFFICE Document Server にカスタムフォントを追加するには、ライセンスされたフォントファイルをサーバーからアクセス可能なディレクトリに配置し、コマンドを実行します/usr/bin/documentserver-generate-allfonts.sh。Docker デプロイメントの場合、コンテナの再作成後も保持されるため、実行中のコンテナにファイルをコピーするよりも、バインドマウントされたフォントディレクトリを使用する方が通常は望ましいです。
適切なインストール方法は、ONLYOFFICE Docsがどこで動作しているか、どのくらいの頻度で再構築するか、そしてフォントカタログの更新中に短時間のサービス中断を許容できるかどうかによって異なります。

| メソッド | 最適なフィット | トレードオフ |
|---|---|---|
| Dockerバインドマウント | Docker Composeで管理される本番環境用コンテナ | コンテナ構成の編集が必要であり、再作成が必要になる場合があります。 |
docker cp実行中のコンテナへ | クイックテストまたは一時的な追加 | そのコンテナが置き換えられると、ファイルが消えることがあります。 |
| ネイティブのドキュメントサーバーパッケージを実行しているLinuxホストにフォントをインストールします。 | Dockerを使用しないDEB/RPM形式のインストール | サーバーレベルの管理が必要であり、そのホストに紐づけられたままとなる。 |
公式のDockerフォント手順書には、ファイルのコピーとフォントリストの再構築に関する説明が記載されています。Dockerのバインドマウントに関するリファレンスでは、専用のホストフォルダをマウントすることで、コンテナの置き換え後もファイルが利用可能になる理由が説明されています。これらは異なるフォント形式ではなく、異なるデプロイメント方法なのです。
docker psエディタがコンテナで実行される場合は、Docker ホストで実行してください。NAMES列でドキュメント サーバー コンテナ名を探します。以下の例では を使用していますonlyoffice-documentserver。異なる場合は、その値を置き換えてください。Nextcloud または ownCloud の統合によって、フォントがストレージ サーバーやドキュメントを表示するコンピューターだけでなく、ONLYOFFICE Docs サーバーにもインストールする必要があるという事実は通常変わりません。
docker ps

ドキュメントで実際に使用するウェイトやスタイルを含む、適切なライセンスを取得した完全なフォントファミリーを選択してください。ONLYOFFICE のLinux フォントドキュメント.ttfには、TrueType や OpenType などのフォーマット、および.otfその他のサポートされているフォント拡張子が記載されています。最初の導入をスムーズに行うには、通常の TTF または OTF ファイルを使用し、フォントライセンスで許可されているサーバーおよびクライアントの使用を確認してください。
/srv/onlyoffice/custom-fontsDockerの例では、 Dockerホスト上にファイルをステージングしてください。例のファイル名Inter-Regular.ttfはInter-Bold.ttfあくまでも例示です。インストール権限のあるファイルを使用してください。
sudo mkdir -p /srv/onlyoffice/custom-fonts
sudo cp Inter-Regular.ttf Inter-Bold.ttf /srv/onlyoffice/custom-fonts/
sudo chmod 644 /srv/onlyoffice/custom-fonts/*.ttf
フォントファイルが格納されているディレクトリからこれらのコマンドを実行してください。続行する前にフォルダの内容を確認してください。管理対象システムでは、フォルダを全員に書き込み可能にするのではなく、セキュリティポリシーに合わせて所有権とアクセス許可を調整してください。

現在の Compose ファイルで、ONLYOFFICE Document Server イメージを実行しているサービスを見つけます。既存のvolumesリストに次のエントリを追加します。既に設定されている他のボリューム、ポート、認証情報、および環境変数はそのまま保持します。
services:
onlyoffice-documentserver:
volumes:
- /srv/onlyoffice/custom-fonts:/usr/share/fonts/truetype/custom:ro
ソースパスはDockerホスト上にあり、宛先はコンテナ内にあります。:roサフィックスにより、コンテナからの書き込みはフォントディレクトリに制限されます。ツリーcustom全体を置き換えるのではなく、専用ディレクトリをマウントしてください。ツリー全体を置き換えると/usr/share/fonts、イメージによって提供されるフォントが隠されてしまう可能性があります。公式のONLYOFFICE Dockerfileでは、 CommunityおよびEnterpriseイメージステージにおいて、カスタムTrueTypeフォントディレクトリをボリュームとして宣言しています。
改訂された Compose 構成を確認し、docker compose up -dプロジェクト ディレクトリから適用してください。これによりサービスが再作成される可能性があります。変更は、編集者が安全にドキュメントを閉じられるタイミングでスケジュールしてください。プレーン デプロイメントを使用する場合は、コンテナを再作成する際にdocker run、読み取り専用引数を追加してください。--mount type=bind,src=/srv/onlyoffice/custom-fonts,dst=/usr/share/fonts/truetype/custom,readonly

サービスが起動したら、マウントされたディレクトリと、可能であればfontconfigの一覧を確認してください。fontconfigで表示されるファミリー名は、ファイル名と異なる場合があります。
docker exec onlyoffice-documentserver ls -l /usr/share/fonts/truetype/custom
docker exec onlyoffice-documentserver fc-list | grep -i 'Inter'
サンプルのInterフォントの場合、fontconfigが検出されたならば、2番目のコマンドで一致するファミリーが表示されます。ファイルが存在するにもかかわらずファミリーが表示されない場合は、アクセス許可を確認してから、再度docker exec onlyoffice-documentserver fc-cache -f確認してくださいfc-list。fontconfigによる検出だけでは、ONLYOFFICEエディタのメニューは作成されません。

コンテナ内にファイルが存在する状態で、ドキュメントサーバーのフォント生成スクリプトを実行します。
docker exec onlyoffice-documentserver /usr/bin/documentserver-generate-allfonts.sh
ONLYOFFICEはこの手順を使用して、フォント選択データとアセットを更新します。アクティブなエディターサービスに影響を与える可能性があるため、適切なメンテナンス期間中に実行してください。ドキュメントに記載されているDocker環境変数GENERATE_FONTSもデフォルトで有効になっておりtrue、コンテナ起動時にフォントデータを再生成します。これは再起動後に便利ですが、ファイルを永続的な場所にインストールする代わりにはなりません。
ボリュームの欠落を隠すためだけに、設定を変更したり、強制的に再起動したりしないでくださいGENERATE_FONTS。まず、想定されるファイルが実際にマウントされていることを確認してください。

Composeをすぐに変更できない場合は、ファイルを現在のコンテナにコピーしてカタログを再構築してください。これはONLYOFFICEのドキュメントに記載されているDockerのアプローチに準拠しており、迅速なテストのためにコンテナを再構築する必要がありません。
docker cp ./Inter-Regular.ttf onlyoffice-documentserver:/usr/share/fonts/truetype/custom/
docker exec onlyoffice-documentserver /usr/bin/documentserver-generate-allfonts.sh
これはトラブルシューティングには便利ですが、デプロイメントプランとしては信頼性が低くなります。イメージの更新や新しいコンテナによってコピーされたファイルが削除される可能性があり、同じコンテナを再起動しても再作成とは異なります。フォントが継続的な作業で必要になった場合は、テストが成功したらバインドマウントまたは別途管理されているカスタムイメージに昇格させてください。
Linuxネイティブパッケージをインストールする場合は、ファイルをサーバーのシステムフォントディレクトリに配置し、そのホスト上で同じ再生成スクリプトを実行してください。これは、一般ユーザーのデスクトップで実行するコマンドではありません。
sudo install -d -m 755 /usr/share/fonts/truetype/custom
sudo install -m 644 Inter-Regular.ttf /usr/share/fonts/truetype/custom/
sudo /usr/bin/documentserver-generate-allfonts.sh
この方法では、フォントファイルはDockerボリュームではなくLinuxインストールディレクトリ内に残りますが、ホストを再構築する際には、管理者は構成管理またはバックアップでフォントファイルを保存する必要があります。パッケージインストールサーバーに関する公式のONLYOFFICE Linux手順を参照してください。複数のドキュメントサーバーノードがエディターにサービスを提供している場合は、各ノードに同じフォントファミリーとバリアントをプロビジョニングしてください。

ドキュメントサーバーに接続されたアプリケーションで、新しい編集セッションを開きます。テスト用のDOCXファイルで、フォントのドロップダウンリストからインストールされているフォントファミリーを選択し、通常のテキスト、太字テキスト、およびフォントが多言語対応の場合は英語以外の代表的な文字を1行ずつ入力します。保存、閉じ、再度開き、PDFにエクスポートします。テキストの幅、行の折り返し、グリフのカバー率、太字/斜体などのバリエーションを、既知の参照ドキュメントと比較します。
ドロップダウンリストにフォントが表示されない場合は、サーバーパス、 の出力fc-list、カタログ生成コマンドの順に確認してください。フォントファミリーは表示されるもののレイアウトがずれる場合は、ドキュメントが正確なフォントファミリーを要求していること、および必要なウェイトが存在することを確認してください。そうでない場合、エディタが別のフォントに置き換える可能性があります。ユーザーのデスクトップにフォントをインストールしただけでは、サーバーには追加されません。
バージョン固有のブラウザに関する注意点が1つあります。ONLYOFFICEのフォントに関する説明では、バージョン8.1.3以前の場合はブラウザのキャッシュをクリアしてエディタを再度開くように指示されています。それ以降のバージョンでは、この追加の手順は不要です。インストールが古い場合は、より複雑な原因を調査する前に、上記の手順でキャッシュをクリアしてください。

修正が成功したかどうかは、エディタを再度開いた後もカスタムフォントファミリーが選択可能であり、保存したドキュメントが正しくレンダリングされ、さらに(Dockerの場合)同じ構成からサービスを再作成した後もフォントが存在するかどうかで確認できます。これらのチェックのいずれかが失敗した場合は、フォントをコンテナに繰り返しコピーするのではなく、そのレイヤーを調査してください。
systemdジョブと前回の起動ジャーナルを使用して、遅いサービス、マウント、またはストレージの依存関係を特定し、原因を隠蔽することなく修正します。
firewall-cmd を使用してアクティブゾーンを検査し、HTTP を安全に許可し、SSH アクセスを維持し、SLES 15 でルールが再読み込み後も有効であることを確認します。
PAMの障害が発生した原因を、サービス、アカウントポリシー、またはIDプロバイダーに特定し、正常に動作する管理者セッションを維持しながら、適切なSLES構成を修復します。
セキュアブートを無効にせずに、カスタムSLES 15カーネルモジュールをロードします。実行中のカーネルと一致させ、.koファイルに署名し、MOKキーを登録し、ロードが成功したことを確認します。
NextcloudのファイルとMariaDBをまとめてバックアップし、cronを使って暗号化されたResticスナップショットをスケジュール設定し、稼働中のサーバーにリスクを負わせることなく復旧を検証します。
Zimbra Community Editionの個々のメールボックスをエクスポートし、そのTGZバックアップを検証し、既存のメールを上書きすることなく、不足しているアイテムを復元します。
システムツリーの準備、ブート統合、デプロイメントチェック、ロールバックなど、仮想マシン上でDebianベースのOSTreeデスクトップを作成およびテストする方法を学びます。
Keycloakとトークン認証を使用してJitsi Meetルームを開始できるのは承認済みのアカウントのみとし、必要に応じてゲスト参加も可能にする。
ONLYOFFICE DocSpaceをActive DirectoryまたはOpenLDAPに接続し、ユーザーとグループを安全にインポートし、アカウントフィールドをマッピングし、信頼性の高い同期をスケジュールします。
ONLYOFFICE Document Serverにカスタムフォントをインストールし、永続的なDockerマウントと直接コピーを比較し、フォントリストを再構築して、結果を検証します。