Linux
  • << DEBIAN >>

  •   Debian 9
  •     Инсталиране на Debian 9
  •     Първоначални настройки (мрежа, VIM, Кирилизация)
  •     Инсталиране и настройка на SSH
  •     Инсталиране и настройка на DNS
  •     Инсталиране и настройка на NTP
  •     Инсталиране и настройка на Apache
  •     Инсталиране и настройка на MySQL (MariaDB)
  •     Инсталиране и настройка на PHPMyAdmin
  •     Инсталиране и настройка на собствен облак
  •     Инсталиране и настройка на SAMBA
  •     Инсталиране и настройка на FTP сървър
  •     Инсталиране и настройка на OSCAM
  •     Инсталиране и настройка на Mail server
  •       Първоначално конфигуриране на базата данни
  •       Инсталиране и конфигуриране на PostFix
  •       Инсталиране и конфигуриране на Dovecot
  •       PostFix дефинира Dovecot да удостоверява
  •       RoundCube
  •       Тестване доставката на поща
  •       Създаване на TLS криптиран ключ и сертификат
  •       WEB администриране
  •       Антиспам със SpamAssassin
  •       Антиспам с RSpmad
  •   Debian 11
  •     Как зарежда Linux
  •     Разпределение на диска при BIOS и UEFI
  •     Debian 11 на BIOS върху LVM и RAID
  •     Инсталиране на Debian 11 на BIOS и ZFS
  •     Инсталиране на Debian 11 на BIOS и ZFS-1
  •     Инсталиране на Debian 11 на UEFI и ZFS
  •     ZFS Замяна на развален огледален диск
  •     Ремонт на GRUB и INITRAMFS
  •   Debian 12
  •     Първоначални настройки
  •     DNS Сървър
  •     Добавяне на втори диск
  •     SAMBA + WEBMIN
  •     SAMBA
  •     Инсталиране и настройка на Apache
  •     MySQL и PHPMyAdmin
  •     Инсталиране и настройка на Nginx
  •       Директиви location в Nginx
  •       MYSQL,PHP и PHPMyAdmin в Nginx
  •     Елементарен MAIL сървър
  •       Подобрение SSL/TLS, Maildir, LMTP
  •       Подобрение ВИРТУАЛИЗАЦИЯ без MySQL
  •       Подобрение ВИРТУАЛИЗАЦИЯ и MySQL
  •       Подобрение Антиспам - SpamAssasin
  •       Подобрение Антиспам - RSpamd
  •     Пълноценен MAIL сървър
  •     Пощенски сървър с iRedMail
  •       CertBot 1 домейн
  •       Виртуални хостове, CertBot 2 домейна
  •       DKIM, SPF и DMARK
  •       Допълнителни настройки (спам и т.н.)
  •       PHP
  •     MAIL сървър за вътрешна мрежа
  •     NextCloud
  •     Сървър за отдалечен достъп - RustDESK
  • << UBUNTU >>
  •   Ubuntu SERVER 22.04
  •     Инсталиране на Ubuntu 22.04 Server
  •     Първоначални настройки на Ubuntu 22.04 Server
  •     DNS в Ubuntu 22.04 Server
  •     MySQL Apache PHPMyAdmin
  •     Пощенски сървър
  •       Пощенски сървър в опростен вариант
  •       PostFix, Dovecot по-подробно
  •   Ubuntu mini
  • << RAID >>
  •     BIOS RAID1+MSDOS
  •     BIOS RAID1+MSDOS+LVM
  •     UEFI RAID1
  • << BTRFS >>
  •     BTRFS - създаване монтиране fstab размер
  •     BTRFS - RAID
  •     BTRFS - subvolume и snapshot
  • << КОНТЕЙНЕРИ >>
  •     Инсталиране на LXC/LXD
  •     Образи (image) в LXC/LXD
  •     Контейнери в LXC/LXD
  •     Команди в LXC/LXD
  • << ОТСТРАНЯВАНЕ НА ГРЕШКИ >>
  •     SWAP
  •     InitRAMFs
  • << BGPOST >>
  •     Tar-App-01 SAMBA
  • Допълнителни настройки на iRedMail

    CertBOT за един домейн на iRedMail

    До тук всичко работи коректно. Добра практика е да се сертифицират виртуалните домейни. За целта ще ползваме безплатните сертификати на Let's Encrypt от сайта https://certbot.eff.org/. За начало обаче е необходимо няколко настройки по самия iRedMail. Имаме инсталиран Nginx отговарящ за всички виртуални хостове. Имаме активиран Graylisting в iRedMail. Започваме с изключване на Graylisting.

    chmod u+w /opt/iredapd/settings.py nano /opt/iredapd/settings.py # plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy", "sql_ml_access_policy"] plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "throttle", "amavisd_wblist", "sql_alias_access_policy", "sql_ml_access_policy"] chmod u-w /opt/iredapd/settings.py systemctl restart iredapd

    Следва редакция на конфигурационния файл на домейна.

    nano /etc/nginx/sites-enabled/00-default-ssl.conf # HTTPS server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name _; root /var/www/html; index index.php index.html; location ~ /.well-known { root /usr/share/nginx/html; allow all; } include /etc/nginx/templates/misc.tmpl; include /etc/nginx/templates/ssl.tmpl; include /etc/nginx/templates/iredadmin.tmpl; include /etc/nginx/templates/roundcube.tmpl; include /etc/nginx/templates/sogo.tmpl; include /etc/nginx/templates/netdata.tmpl; include /etc/nginx/templates/php-catchall.tmpl; include /etc/nginx/templates/stub_status.tmpl; nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful systemctl reload nginx.service systemctl status nginx.service

    Инсталираме CertBOT.

    apt install certbot -y

    За да генерираме сертификатите трябва първо да коригираме следния файл:

    nano /etc/nginx/sites-available/00-default.conf # HTTP server { # Listen on ipv4 listen 80; listen [::]:80; server_name _; # Allow ACME challenge to be served over HTTP (don't redirect to HTTPS). # location ~* ^/.well-known/acme-challenge/ { # root /opt/www/well_known; # try_files $uri =404; # allow all; # } # Redirect all insecure http requests to https. location / { return 301 https://$host$request_uri; } } service nginx restart

    Дефинираме променливата DOMAIN да приема стойността на hostname.

    DOMAIN=$(hostname -f)

    Инсталираме CertBOT за нашия домейн.

    certbot certonly --webroot --agree-tos --email tachko@tachko.com -w /usr/share/nginx/html/ -d $DOMAIN Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/post.tachko.com/fullchain.pem Key is saved at: /etc/letsencrypt/live/post.tachko.com/privkey.pem This certificate expires on 2025-06-13. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Връщаме настройката на /etc/nginx/sites-available/00-default.conf

    nano /etc/nginx/sites-available/00-default.conf # HTTP server { # Listen on ipv4 listen 80; listen [::]:80; server_name _; # Allow ACME challenge to be served over HTTP (don't redirect to HTTPS). location ~* ^/.well-known/acme-challenge/ { root /opt/www/well_known; try_files $uri =404; allow all; } # Redirect all insecure http requests to https. location / { return 301 https://$host$request_uri; } } service nginx restart

    Да обновим новогенерираните ключове.

    rm -f /etc/ssl/private/iRedMail.key rm -f /etc/ssl/certs/iRedMail.crt ln -s /etc/letsencrypt/live/$DOMAIN/fullchain.pem /etc/ssl/certs/iRedMail.crt ln -s /etc/letsencrypt/live/$DOMAIN/privkey.pem /etc/ssl/private/iRedMail.key

    Да презаредим сървисите.

    systemctl reload nginx postfix dovecot systemctl restart iredadmin.service systemctl status iredadmin.service

    Да проверим дали работи правилно iRedMail

    Преглеждаме конфигурационните файлове на виртуалните домейни.

    Всичко е наред обаче сертификата има трайност 90 дена. След 90 дена трябва да се обнови, а съответно да се обнови в postfix, dovecot и ngnix.

    nano /etc/letsencrypt/cli.ini # Най-отдолу добавяме за nginx: post-hook = systemctl restart nginx # Ако имахме инсталирани още postfix и dovecot добавяме: post-hook = systemctl restart postfix dovecot nginx iredadmin

    Проверяваме дали работи правилно сертификата на: https://post.tachko.com/mail. и https://post.tachko.com/iredadmin/