Skip to content

インストールガイド

このガイドでは、さまざまなプラットフォームで SirrChat メールサーバーをインストールする方法を説明します。

システム要件

最小要件

  • CPU: 1コア
  • RAM: 512MB
  • ストレージ: 10GB 利用可能なスペース
  • OS: Linux(Ubuntu 20.04+、Debian 11+、CentOS 8+)

推奨要件

  • CPU: 2コア以上
  • RAM: 2GB以上
  • ストレージ: 50GB SSD
  • ネットワーク: 固定 IP アドレスとドメイン名

クイックインストール

ワンクリックインストールスクリプト

Ubuntu/Debian システムの場合:

bash
curl -sSL https://raw.githubusercontent.com/mail-chat-chain/mailchatd/main/start.sh | bash

このスクリプトは自動的に:

  • すべての依存関係をインストール
  • SirrChat の最新バージョンをダウンロード
  • システムサービスを設定
  • TLS 証明書をセットアップ

手動インストール

1. バイナリをダウンロード

GitHub Releases から最新バージョンをダウンロード:

bash
wget https://github.com/mail-chat-chain/mailchatd/releases/latest/download/sirrchatd-linux-amd64.tar.gz
tar -xzf sirrchatd-linux-amd64.tar.gz
sudo mv sirrchatd /usr/local/bin/
sudo chmod +x /usr/local/bin/sirrchatd

2. システムユーザーを作成

bash
sudo useradd -r -s /bin/false -d /var/lib/sirrchatd sirrchat
sudo mkdir -p /var/lib/sirrchatd
sudo chown sirrchat:sirrchat /var/lib/sirrchatd

3. 設定ファイルを作成

bash
sudo mkdir -p /etc/sirrchatd
sudo sirrchatd config init > /etc/sirrchatd/config.toml

設定ファイルを編集:

bash
sudo nano /etc/sirrchatd/config.toml

4. Systemd サービスを設定

サービスファイル /etc/systemd/system/sirrchatd.service を作成:

ini
[Unit]
Description=SirrChat Mail Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=sirrchat
Group=sirrchat
ExecStart=/usr/local/bin/sirrchatd run --config /etc/sirrchatd/config.toml
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

サービスを有効化して起動:

bash
sudo systemctl daemon-reload
sudo systemctl enable sirrchatd
sudo systemctl start sirrchatd

Docker インストール

Docker Compose を使用

docker-compose.yml を作成:

yaml
version: '3.8'

services:
  sirrchat:
    image: sirrchat/sirrchatd:latest
    ports:
      - "25:25"
      - "587:587"
      - "143:143"
      - "993:993"
    volumes:
      - ./config.toml:/etc/sirrchatd/config.toml
      - maildata:/var/lib/sirrchatd
    environment:
      - SIRRCHAT_SERVER_HOSTNAME=mail.example.com
    restart: unless-stopped

  postgres:
    image: postgres:15-alpine
    environment:
      - POSTGRES_DB=sirrchat
      - POSTGRES_USER=sirrchat
      - POSTGRES_PASSWORD=your-password
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  maildata:
  pgdata:

サービスを起動:

bash
docker-compose up -d

ソースからビルド

前提条件

  • Go 1.21 以上
  • Git

ビルド手順

bash
# リポジトリをクローン
git clone https://github.com/mail-chat-chain/mailchatd.git
cd sirrchatd

# ビルド
go build -o sirrchatd ./cmd/sirrchatd

# インストール
sudo mv sirrchatd /usr/local/bin/
sudo chmod +x /usr/local/bin/sirrchatd

データベースセットアップ

PostgreSQL

bash
# PostgreSQL をインストール
sudo apt install postgresql postgresql-contrib

# データベースとユーザーを作成
sudo -u postgres psql <<EOF
CREATE DATABASE sirrchat;
CREATE USER sirrchat WITH ENCRYPTED PASSWORD 'your-password';
GRANT ALL PRIVILEGES ON DATABASE sirrchat TO sirrchat;
EOF

MySQL

bash
# MySQL をインストール
sudo apt install mysql-server

# データベースとユーザーを作成
sudo mysql <<EOF
CREATE DATABASE sirrchat;
CREATE USER 'sirrchat'@'localhost' IDENTIFIED BY 'your-password';
GRANT ALL PRIVILEGES ON sirrchat.* TO 'sirrchat'@'localhost';
FLUSH PRIVILEGES;
EOF

SQLite

SQLite は追加のインストールは不要で、SirrChat が自動的にデータベースファイルを作成します。

DNS 設定

メールサーバーの DNS レコードを設定:

A レコード

mail.example.com. IN A 203.0.113.1

MX レコード

example.com. IN MX 10 mail.example.com.

SPF レコード

example.com. IN TXT "v=spf1 mx ~all"

DKIM レコード

DKIM 鍵を生成して TXT レコードを追加:

bash
sirrchatd dkim generate --domain example.com

DMARC レコード

_dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]"

ファイアウォール設定

必要なポートを開く:

bash
# UFW
sudo ufw allow 25/tcp
sudo ufw allow 587/tcp
sudo ufw allow 143/tcp
sudo ufw allow 993/tcp

# firewalld
sudo firewall-cmd --permanent --add-service=smtp
sudo firewall-cmd --permanent --add-service=smtp-submission
sudo firewall-cmd --permanent --add-service=imap
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --reload

インストールの確認

サービスステータスを確認

bash
sudo systemctl status sirrchatd

SMTP 接続をテスト

bash
telnet mail.example.com 25

IMAP 接続をテスト

bash
telnet mail.example.com 143

ログを表示

bash
sudo journalctl -u sirrchatd -f

トラブルシューティング

サービスが起動しない

  1. 設定ファイルの構文を確認:

    bash
    sirrchatd config verify
  2. ログ出力を確認:

    bash
    sudo journalctl -u sirrchatd -n 50

ポートが既に使用中

ポート使用状況を確認:

bash
sudo netstat -tulpn | grep -E ':(25|587|143|993)'

データベース接続が失敗

データベース接続を確認:

bash
sirrchatd db ping

次のステップ

Released under the GPL 3.0 License.