• ホーム
  • ローカルサーバーにONLYOFFICE MailをDockerでインストールする
この記事はAIによって翻訳されました

ローカルサーバーにONLYOFFICE MailをDockerでインストールする

はじめに

ONLYOFFICE Mailは、iRedMailパッケージを基に開発されたフル機能のメールサーバーソリューションで、以下のコンポーネントを含んでいます:Postfix、Dovecot、SpamAssassin、ClamAV、OpenDKIM、Fail2ban。

ONLYOFFICE Workspaceと統合されたONLYOFFICE Mailを使用すると、以下のことが可能です:

  • 独自のドメイン名を接続する;
  • メールボックスを作成する;
  • 各メールボックスにエイリアスを追加する;
  • メールボックスグループを作成する。

このガイドでは、ONLYOFFICE MailのDockerバージョンをマシンにインストールする方法を示します。

システム要件

  • CPU
    デュアルコア2 GHz以上
  • RAM
    4 GB以上
  • HDD
    少なくとも20 GBの空き容量
  • SWAP
    少なくとも4 GB、ただしホストOSに依存します。多いほど良いです。
  • OS
    amd64 Linuxディストリビューション、カーネルバージョン3.10以上
  • 追加要件
    • Docker:Dockerチームがサポートするバージョンのいずれか
Ubuntu 20.04では、ONLYOFFICE Mailをインストールする際にデフォルトのufwファイアウォールを無効にする必要があります。

インストールを始める前に

ONLYOFFICE Mailのインストールを始める前に、ONLYOFFICE Mailをインストールする予定のコンピュータをメールサーバー用に選択したドメインにリンクする必要があります。メールサーバーコンピュータのAレコードとしてmx.yourdomain.comのような名前を選択することをお勧めします。これは、ドメインネームシステム(DNS)のAレコードONLYOFFICE MailをインストールするコンピュータのIPアドレスを指す必要があり、このコンピュータのポインタ(PTR)レコードがコンピュータのIPアドレスを完全修飾ドメイン名(FQDN)に解決する必要があることを意味します。

Aレコードの設定が正しいかどうかを確認するには、次のコマンドを使用します:

dig -t A mx.yourdomain.com

すべてが正しければ、以下のような行を含む出力が表示されます:

...
;; ANSWER SECTION:
mx.yourdomain.com.  IN  A   {your IP address}
...

{your IP address}の代わりにサーバーの実際のIPアドレスが表示されます。

PTRレコードは別のコマンドで確認します:

dig -x {your IP address}

以下のような行を含む出力が返されるはずです:

...
;; ANSWER SECTION:
{your IP address}   IN  PTR mx.yourdomain.com.
...

すべての設定が正しいことを確認したら、次のステップに進むことができます。

ONLYOFFICE Mailをインストールした後、yourdomain.comMXレコードを追加し、mx.yourdomain.comを指すようにする必要があります。これは、メールが@yourdomain.comアドレスに届くために必要です。

自動スクリプトコマンドを使用したONLYOFFICE Mailのインストール

すべてを手動で設定したくない場合は、Dockerスクリプトを使用してONLYOFFICE Mailを自動的にインストールできます。スクリプトは当社のサイトダウンロードページからダウンロードできます。あるいは、より便利な場合は直接ダウンロードリンクを使用することもできます:

wget https://download.onlyoffice.com/install/workspace-install.sh

ダウンロードが完了したら、次のコマンドを実行してONLYOFFICE Mailをインストールします:

bash workspace-install.sh -ics false -ids false -icp false -ims true -md yourdomain.com -es true

ONLYOFFICE Mailの手動インストール

インストール内容や方法を完全に制御したい場合は、手動モードでインストールを実行できます。そのためには、以下の手順に従ってください。

前提条件のインストール

最新のDockerバージョンがインストールされている必要があります。インストールされていない場合は、Dockerのウェブサイトのインストールセクションを参照して取得方法を確認してください。

DockerはデフォルトでGoogleのDNSサーバーを指定します。ONLYOFFICE Workspaceがインターネットにアクセスしない場合は、デフォルトのDocker DNSアドレスをローカルDNSサーバーのアドレスに変更することをお勧めします。そのためには、/etc/default/dockerファイルに移動し、次の行のIPアドレスをローカルネットワーク内のDNSサーバーのIPアドレスに変更します:
docker_OPTS="--dns 8.8.8.8"

CentOSのようなRPMベースのオペレーティングシステムの場合:

  1. /etc/docker/daemon.json設定ファイルを次の内容で作成します:
    { "dns" : [ "8.8.8.8" ] }
  2. Dockerサービスを再起動します:
    
    sudo systemctl restart docker.service

インストールを開始する前に、次のフォルダを作成する必要があります:

  1. MySQLサーバー用
    sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
    sudo mkdir -p "/app/onlyoffice/mysql/data";
    sudo mkdir -p "/app/onlyoffice/mysql/initdb";
  2. そして、ONLYOFFICE Mailのデータとログ用
    sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
    sudo mkdir -p "/app/onlyoffice/MailServer/logs";

次に、onlyofficeネットワークを作成します:

sudo docker network create --driver bridge onlyoffice
MySQLのインストール

その後、MySQLサーバーのDockerコンテナを作成する必要があります。設定ファイルを作成します:

echo "[mysqld]
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048" > /app/
  
onlyoffice/mysql/conf.d/onlyoffice.cnf

ユーザーを生成し、権限を付与するSQLスクリプトを作成します。onlyoffice_userONLYOFFICE Community Serverに必要であり、mail_adminONLYOFFICE Mailをインストールする場合に必要です:

echo "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED WITH mysql_native_password BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED WITH mysql_native_password BY 'Isadmin123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'onlyoffice_user'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'mail_admin'@'%';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql
上記のスクリプトは、SQLサーバーへのアクセス権をすべてのドメイン(%)に設定します。アクセスを制限したい場合は、SQLサーバーにアクセスできるホストを指定できます。

次に、MySQLのバージョンを8.0.29に設定してMySQLコンテナを作成します:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server \
 -v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \
 -v /app/onlyoffice/mysql/data:/var/lib/mysql \
 -v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \
 -e MYSQL_ROOT_PASSWORD=my-secret-pw \
 -e MYSQL_DATABASE=onlyoffice \
 mysql:8.0.29
外部データベースを使用したい場合は、セットアップ(具体的にはユーザーの追加)を行う必要があります:
CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123';
GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123';
FLUSH PRIVILEGES;
ONLYOFFICE Mailのインストール

すべての準備が整ったら、次のコマンドを実行します:

sudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 -p 8081:8081 \
 -e MYSQL_SERVER=onlyoffice-mysql-server \
 -e MYSQL_SERVER_PORT=3306 \
 -e MYSQL_ROOT_USER=root \
 -e MYSQL_ROOT_PASSWD=my-secret-pw \
 -e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \
 -v /app/onlyoffice/MailServer/data:/var/vmail \
 -v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
 -v /app/onlyoffice/MailServer/logs:/var/log \
 -h yourdomain.com \
 onlyoffice/mailserver

ここで、yourdomain.comはメールサーバーのホスト名です。

このマシンでの通信を維持するために使用されるドメインは有効であり、このマシンに対して設定されている必要があります(つまり、ONLYOFFICE MailがインストールされているマシンのIPアドレスにドメイン名を指すAレコードがDNS設定にある必要があります)。
上記のコマンドでは、"yourdomain.com"パラメータはONLYOFFICE Mailのサービスドメインとして理解される必要があります。通常、通信を維持するために使用されるドメインのMXレコードに指定されます。通常、"yourdomain.com"mx1.onlyoffice.comのようになります。

この場合、メールサーバーはこのサーバー上にホストされている内部アドレスへのメール配信を保証します。

コンテナ外でのデータ保存

すべてのデータは、以下の場所にある特別に指定されたディレクトリ、データボリュームに保存されます:

  • /var/logONLYOFFICE Mailのログ用
  • /var/lib/mysqlはMySQLデータベースデータ用
  • /var/vmailはメールストレージ用
  • /etc/pki/tls/mailserverは証明書用
推奨 データをホストマシン上のDockerコンテナ外に保存することを強くお勧めします。これにより、新しいバージョンがリリースされた際にONLYOFFICE Mailを簡単に更新でき、データを失うことがありません。

コンテナ外にあるデータにアクセスするには、ボリュームをマウントする必要があります。これはdocker runコマンドで-vオプションを指定することで行えます。

sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587
  
587 -p 80818081 \
        -v /app/onlyoffice/MailServer/logs/var/log  \
        -v /app/onlyoffice/MailServer/mysql/var/lib/mysql  \
        -v /app/onlyoffice/MailServer/data/var/vmail  \
        -v /app/onlyoffice/MailServer/data/certs/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver
まだ作成されていないフォルダをマウントしようとする場合、これらのフォルダは作成されますが、アクセスは制限されます。アクセス権を手動で変更する必要があります。

データをホストマシンに保存することで、新しいバージョンがリリースされた際にONLYOFFICE Mailを簡単に更新でき、データを失うことはありません。

Dockerイメージの設定

内部アドレスおよび外部サーバーのアドレスへのメール配信を確実にするためには、独自のドメイン名を取得し、DNSサーバーを設定する必要があります。

以下のDNSレコードが必要です:

  • Aレコード(このドメインを、このDockerイメージがデプロイされているホストのIPアドレスにポイントするために使用されます)。
  • ポインタ(PTR)レコードまたは逆引きDNSレコード(ネットワークインターフェース(IP)をホスト名にマッピングするために使用されます)。
sudo docker run --privileged -i -t -d -p 2525 -p 143143 -p 587587 \
-v /app/onlyoffice/MailServer/data/certs/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver

ここでyourdomain.comは、あなたのメールサーバーのホスト名です。

SSL証明書のインストール

Dockerコンテナを実行する際に、デフォルトでドメイン用の自己署名証明書が作成されます。CA認定の証明書を使用したい場合は、イメージを実行する前にそれらをリネームして/app/onlyoffice/MailServer/data/certsディレクトリにコピーする必要があります。以下のファイルが必要です:

  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.key
  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.crt
  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.ca-bundle

イメージを実行した後にSSL証明書を/app/onlyoffice/MailServer/data/certsディレクトリにコピーすることもできますが、その場合はDockerコンテナを再起動する必要があります。

利用可能な設定パラメータ
`--env-file`フラグのdocker runコマンドオプションを参照してください。これにより、必要なすべての環境変数を1つのファイルで指定できます。これにより、長いdocker runコマンドを書く手間が省けます。

以下は、環境変数を使用して設定できるパラメータの完全なリストです。

  • STORAGE_BASE_DIR:メールストアのパス。デフォルトは/var/vmailです。
  • FIRST_DOMAIN:ポストマスターアドレスがホストされる最初の仮想ドメイン。このドメインは、メインのメールサーバードメインと一致してはなりません。デフォルトはmailserver.onlyoffice.comです。
  • DOMAIN_ADMIN_PASSWD:ポストマスターパスワード。デフォルトのポストマスターアドレスはpostmaster@mailserver.onlyoffice.comです。

ONLYOFFICE Docsと統合されたONLYOFFICE Mailのインストール

ONLYOFFICE MailONLYOFFICE Workspaceの一部であり、ONLYOFFICE DocsONLYOFFICE Control Panel、およびONLYOFFICE Community Serverも含まれています。すべてをインストールし、相互に統合したい場合は、こちらの指示をお読みください。

ONLYOFFICE Mailをインストールする別の方法

別の方法として、自動インストールスクリプトを使用して、Workspace全体を一度にインストールすることができます。メールサーバーが正しく動作するためには、そのホスト名yourdomain.comを指定する必要があります。

ステップ1:インストールスクリプトファイルをダウンロードする

以下のコマンドを実行します:

wget https//download.onlyoffice.com/install/workspace-install.sh

ステップ2:Workspaceをインストールする

これを行うには、以下のコマンドを実行します:

bash workspace-install.sh -md yourdomain.com
次の項目が含まれている記事:タグ:
すべてのタグを見る