Skip to content

دليل التثبيت

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

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

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

  • 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/sirrmesh/SirrMesh/main/start.sh | bash

سيقوم هذا النص تلقائيًا بما يلي:

  • تثبيت جميع التبعيات
  • تنزيل أحدث إصدار من SirrMesh
  • تكوين خدمة النظام
  • إعداد شهادات TLS

التثبيت اليدوي

1. تنزيل الملف الثنائي

قم بتنزيل أحدث إصدار من GitHub Releases:

bash
wget https://github.com/sirrmesh/SirrMesh/releases/latest/download/sirrmeshd-linux-amd64.tar.gz
tar -xzf sirrmeshd-linux-amd64.tar.gz
sudo mv sirrmeshd /usr/local/bin/
sudo chmod +x /usr/local/bin/sirrmeshd

2. إنشاء مستخدم نظام

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

3. إنشاء ملف التكوين

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

تحرير ملف التكوين:

bash
sudo nano /etc/sirrmeshd/config.toml

4. تكوين خدمة Systemd

إنشاء ملف الخدمة /etc/systemd/system/sirrmeshd.service:

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

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

[Install]
WantedBy=multi-user.target

تمكين وبدء الخدمة:

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

تثبيت Docker

استخدام Docker Compose

إنشاء docker-compose.yml:

yaml
version: '3.8'

services:
  sirrchat:
    image: sirrchat/sirrmeshd:latest
    ports:
      - "25:25"
      - "587:587"
      - "143:143"
      - "993:993"
    volumes:
      - ./config.toml:/etc/sirrmeshd/config.toml
      - maildata:/var/lib/sirrmeshd
    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/sirrmesh/SirrMesh.git
cd SirrMesh

# البناء
go build -o sirrmeshd ./cmd/sirrmeshd

# التثبيت
sudo mv sirrmeshd /usr/local/bin/
sudo chmod +x /usr/local/bin/sirrmeshd

إعداد قاعدة البيانات

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 لا يتطلب تثبيتًا إضافيًا، سيقوم SirrMesh تلقائيًا بإنشاء ملف قاعدة البيانات.

تكوين 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
sirrmeshd 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 sirrmeshd

اختبار اتصال SMTP

bash
telnet mail.example.com 25

اختبار اتصال IMAP

bash
telnet mail.example.com 143

عرض السجلات

bash
sudo journalctl -u sirrmeshd -f

استكشاف الأخطاء وإصلاحها

الخدمة لن تبدأ

  1. التحقق من بناء جملة ملف التكوين:

    bash
    sirrmeshd config verify
  2. التحقق من إخراج السجل:

    bash
    sudo journalctl -u sirrmeshd -n 50

المنفذ قيد الاستخدام بالفعل

التحقق من استخدام المنفذ:

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

فشل الاتصال بقاعدة البيانات

التحقق من اتصال قاعدة البيانات:

bash
sirrmeshd db ping

الخطوات التالية

Released under the GPL 3.0 License.