موافقجميع الخدمات تعمل بشكل طبيعي
Infrawireشعار Infrawireالتوثيق

تثبيت mailcow وتأمينه على VPS Linux

mailcow حزمة بريد كاملة (Postfix، Dovecot، واجهة ويب، Rspamd، …) تعمل بـ Docker. التسليم الجيد يتطلب DNS سليماً (MX، SPF، DKIM، DMARC) وPTR متوافقاً مع اسم الخادم.

متطلبات رسمية (ملخص)

الموردالحد الأدنى المذكور في الوثائق
RAM6 Gio + swap ~1 Gio
قرص20 Gio+ (بدون صناديق البريد)
معماريةx86_64 أو ARM64

لا يُدعم OpenVZ/LXC لبعض الاستخدامات — يُفضّل KVM وRAM كافية (مثلاً 8 Gio+).

تحقق من عدم احتلال المنافذ على المضيف:

Bash
ss -tlpn | grep -E -w '25|80|110|143|443|465|587|993|995|4190'

DNS قبل البدء

  1. FQDN للخادم، مثل mail.example.com — سيصبح MAILCOW_HOSTNAME.
  2. سجل AAAAA إن وُجد IPv6) نحو IP الـ VPS.
  3. MX للنطاق نحو هذا FQDN.
  4. PTR لعنوان IP العام يطابق اسم الخادم (غالباً عند مزوّد الاستضافة).
  5. بعد التشغيل: SPF، DKIM من الواجهة، DMARC.

راجع وثائق mailcow.

1) حزم النظام

Bash
sudo apt update sudo apt install -y git openssl curl gawk coreutils grep jq

2) Docker

Bash
1curl -sSL https://get.docker.com/ | CHANNEL=stable sudo sh 2sudo systemctl enable --now docker 3sudo apt install -y docker-compose-plugin 4docker --version 5docker compose version

3) استنساخ mailcow

Bash
1sudo su 2umask 0022 3cd /opt 4git clone https://github.com/mailcow/mailcow-dockerized 5cd mailcow-dockerized 6./generate_config.sh

عدّل mailcow.conf عند الحاجة:

  • MAILCOW_HOSTNAME = FQDN العام.
  • إن كان IPv6 يسبب مشاكل: ENABLE_IPV6=false (ثم إعادة تشغيل كاملة للحزمة — راجع الوثائق).

خفّف الحمل اختيارياً:

Bash
SKIP_CLAMD=y SKIP_FTS=y

4) التشغيل

Bash
docker compose pull docker compose up -d

الواجهة: https://VOTRE_FQDN/admin — الافتراضي admin / moohoo (غيّر فوراً).

التأمين السريع

  1. تغيير كلمة مرور المسؤول.
  2. تفعيل 2FA.
  3. التحقق من NTP (timedatectl).
  4. إعداد DKIM/SPF/DMARC من الواجهة والنطاق.

UFW و Docker

قواعد UFW البسيطة قد لا تتعامل مع Docker كما تتوقع؛ راجع قسم DOCKER-USER ووثائق mailcow عن الجدار.

MTU

على بعض السحابات ضبط MTU في docker-compose.yml (مثلاً 1450) حسب استكشاف الأخطاء.

تحديثات

استخدم update.sh الرسمي مع النسخ الاحتياطي للمجلد والـ volumes.

Bash
cd /opt/mailcow-dockerized ./helper-scripts/mailcow-reset-admin.sh

(لإعادة تعيين كلمة مرور المسؤول عند الحاجة.)

الوثائق الرسمية · دعم Infrawire