テクノロジーガイド

CentOS 5.6にOpenfireインスタントメッセージングサーバーを構築する方法

2 min read サーバー 更新されました 30 Sep 2025
CentOS 5.6にOpenfireを導入する手順
CentOS 5.6にOpenfireを導入する手順

はじめに

統合コミュニケーションが重要視される現在、社内・サポートチーム向けに自前のインスタントメッセージング(IM)基盤を持つ価値は高まっています。この記事では、オープン標準のXMPP(旧Jabber)を用いるOpenfireをCentOS 5.6に導入する手順を解説します。

用語1行定義: XMPP — XMLベースのリアルタイムメッセージングとプレゼンス情報を扱うオープンプロトコル。

前提条件

  • CentOS 5.6が稼働しているサーバー(root権限またはsudo可)
  • 基本的なLinuxコマンドの知識
  • ネットワーク上でサーバーのIPまたはFQDNにアクセスできること
  • ファイアウォールで必要ポートを開放できること(以下参照)

補足: 本記事ではCentOS自体のインストール手順は扱いません。howtoforgeの「perfect server」ガイド等を参照してください。

重要: CentOS 5.6は古いバージョンです。可能であればサポートのある新版OSへの移行を検討してください。

Openfireとは

OpenfireはIgnite Realtimeが提供するオープンソースのXMPPサーバーです。管理用のWeb GUIを備え、プラグインで機能拡張が可能です。小〜中規模の社内IMに向いています。

主な技術要素(一点説明):

  • 管理コンソール: HTTP(S)で初期設定と運用管理を行います。デフォルトはポート9090/9091。
  • クライアントプロトコル: XMPP(クライアント接続は通常ポート5222、古いTLS接続は5223)

ダウンロード

Openfire本体はIgnite Realtimeのダウンロードページから取得します。CentOS環境では.rpmパッケージを選びます。同ページから公式クライアントSparkも入手可能です。

Openfireダウンロードページのスクリーンショット

ダウンロードページのスクリーンショット

インストール手順(基本)

以下は最小限の手順です。運用環境ではバックアップや監査ログの方針を併せて検討してください。

  1. Openfireの.rpmファイルをサーバーに転送します。
  2. rootで以下を実行してインストールします。
rpm -Uvh openfire-3.7.0-1.i386.rpm
  1. インストール後、Openfireはデフォルトで管理コンソールをポート9090でリッスンします。ブラウザで次にアクセスしてセットアップを行います:

http://{OpenFire_Server_IP}:9090

  1. ウィザードに従い、データベース接続、管理者アカウント、ドメイン名などを設定します(デフォルトの内蔵データベースでも動作しますが、本番では外部DBを推奨)。

Openfireログイン画面のスクリーンショット

ログイン画面のスクリーンショット

Openfire管理ダッシュボードのスクリーンショット

管理ダッシュボードのスクリーンショット

ユーザー集計のスクリーンショット

ユーザー集計のスクリーンショット

ポートとプロトコル(要確認)

  • 管理コンソール: 9090 (HTTP), 9091 (HTTPS)
  • XMPPクライアント接続: 5222 (通常), 5223 (古いSSL)

運用前にサーバーのファイアウォール(iptablesや外部FW)で該当ポートを開放してください。

Sparkクライアントの設定

SparkはOpenfire公式のデスクトップクライアントです。インストールは一般的なWindows/Linuxインストーラー形式で行えます。アカウント作成は以下の情報を入力します。

  • Username: 任意のユーザー名
  • Password: 任意のパスワード
  • Server: OpenfireサーバーのIPまたはドメイン

Sparkユーザーアカウント設定画面のスクリーンショット

Sparkのアカウント設定画面のスクリーンショット

注意: Openfireで「オープン登録」が有効であれば、ユーザーがクライアントから直接アカウント登録できます。セキュリティの観点からオープン登録は運用方針に応じて無効化してください。

IMクライアント一覧のスクリーンショット

一般的なIMクライアントの例を示すスクリーンショット

セキュリティ強化のチェックリスト

重要: 本番導入前に以下を確認してください。

  • 管理コンソールをHTTPS(9091)でのみ公開する
  • 管理者アカウントの強力なパスワードを設定する
  • デフォルトのオープン登録は無効化する
  • TLSを有効にしてクライアント接続を暗号化する
  • 監査ログとバックアップの方針を決める
  • 必要に応じてIP制限やVPN経由でのアクセスに限定する

追加の推奨:

  • 外部データベース(MySQL/PostgreSQL/Oracle等)を利用し、DBのアクセス制御を厳格にする
  • 定期的なアップデートとセキュリティパッチ適用の計画を立てる

運用・管理の実務チェックリスト(役割別)

システム管理者:

  • Openfireプロセスの監視
  • バックアップ(構成ファイル、ユーザーデータ、DB)の自動化
  • OSとOpenfireのパッチ適用計画

セキュリティ担当:

  • TLS証明書の管理
  • 脆弱性スキャンの定期実施
  • ログ監査と異常検知ルールの設定

ヘルプデスク:

  • ユーザー作成/削除の手順を文書化
  • クライアント設定テンプレート(スクリーンショット付き)を用意
  • よくある問い合わせ(接続エラー、パスワード忘れ)のFAQ整備

ミニ・メソドロジー: 導入から運用開始までの高レベル手順

  1. 目的定義: 利用範囲(社内、外部サポート等)とセキュリティ要件を決める
  2. 環境準備: CentOSサーバーの構築とネットワーク設定
  3. インストール: Openfireをrpmで導入し、管理コンソールで初期設定
  4. テスト: 内部クライアントで接続確認、TLS/機能確認
  5. 運用設計: バックアップ、ログ、監視、アカウント運用ポリシーを確定
  6. 本番リリース: 利用者への案内とサポート体制を整備

代替アプローチと比較の観点

  • クラウド型XMPPサービス: 自己運用が不要だが、制御性が低く、データを外部に預ける必要がある
  • 他のプロトコル/製品(Matrix, Mattermost, Slackなど): 機能セットやエコシステムが異なる。XMPPは拡張性とオープン性が強み
  • コンテナ化: 古いCentOSの代わりに新しいホストOS上でOpenfireをコンテナとして運用する方法もある(移行検討推奨)

いつ失敗しやすいか(反例):

  • OSが古くサポート外である場合、脆弱性対応や依存パッケージで問題が起きやすい
  • 設計段階でログや監視を考慮しないとトラブル時の原因特定が難しい

受け入れ基準

導入が完了と見なす条件例:

  • 管理コンソールに管理者でログインできること
  • 少なくとも1つのクライアントがXMPP接続でき、メッセージ交換が可能であること
  • TLSでクライアント接続が暗号化されていること
  • バックアップと監視が設定されていること

テストケース / 受け入れテストの例

  • クライアントからのログイン成功テスト
  • 異常ネットワークでの再接続動作確認
  • 管理者によるユーザー作成・削除が即時反映されること
  • TLS無効化時に接続が拒否されること(セキュリティ確認)

トラブルシューティングのヒント

  • 管理コンソールにアクセスできない: サーバーのポート9090/9091がリッスンしているか、iptablesや外部FWを確認
  • クライアント接続エラー: サーバー名(ドメイン)と証明書のCNが一致しているかを確認
  • サービスが起動しない: /var/log/openfire/配下のログを確認

移行と互換性の注意点

  • 将来の移行を考える場合、外部DBを使う設計にしておくとデータ移行が容易です
  • 古いCentOSを使い続けるとOSサポート切れによるリスクが大きくなるため、可能な限り新しい環境へ移行してください

1行用語集

  • Openfire: XMPPサーバー実装
  • Spark: Openfire公式のデスクトップIMクライアント
  • XMPP: メッセージングプロトコル

参考リンク

連絡先

質問やコメントは本文で示された連絡方法(muffycompoqm AT gmail.com)またはOpenfireのコミュニティフォーラムを利用してください。

要約

  • OpenfireはCentOS上で比較的容易に立ち上げられるXMPPサーバーです。
  • セキュリティ(TLS、管理コンソールの保護)とバックアップを導入前に設計してください。
  • 運用者ごとのチェックリストと受け入れ基準を定めると導入がスムーズです。

さらに進める場合は、外部データベースの利用、クラスタリング、プラグインによる機能拡張などを検討してください。

共有する: X/Twitter Facebook LinkedIn Telegram
著者
編集

類似の素材

iPhone・iPadのタッチ操作を無効にする方法
モバイルガイド

iPhone・iPadのタッチ操作を無効にする方法

Rocky Linux 9 に OpenSearch を RPM で導入し TLS と認証で保護
チュートリアル

Rocky Linux 9 に OpenSearch を RPM で導入し TLS と認証で保護

iOS 26のLiquid Glassを無効化する方法
ハウツー

iOS 26のLiquid Glassを無効化する方法

Windows 10でフォルダーが作れない時の対処法
トラブルシューティング

Windows 10でフォルダーが作れない時の対処法

Windows 10 の更新履歴を確認する方法
Windows

Windows 10 の更新履歴を確認する方法

CentOS 5.6にOpenfireを導入する手順
サーバー

CentOS 5.6にOpenfireを導入する手順