Skip to content

دليل التثبيت

سيساعدك هذا الدليل على تثبيت خادم بريد SirrChat على منصات مختلفة.

متطلبات النظام

الحد الأدنى من المتطلبات

  • CPU: نواة واحدة
  • RAM: 512MB
  • التخزين: 10GB مساحة متاحة
  • OS: Linux (Ubuntu 20.04+، Debian 11+، CentOS 8+)

المتطلبات الموصى بها

  • CPU: نواتان أو أكثر
  • 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:dmarc@example.com"

تكوين جدار الحماية

فتح المنافذ الضرورية:

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.