Linux
  • << DEBIAN >>

  •   Сървър на отделни хостове
  •     DNS Сървър
  •     SQL Сървър
  •     WEB Сървър
  •     Пощенски Сървър
  •   PXE Server
  •   PXE UEFI Server - TFTP
  •   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 Сървър
  •     Добавяне на втори диск
  •     Файлов сървър + WEBMIN
  •     SAMBA
  •     Инсталиране и настройка на Apache
  •     Инсталиране и настройка на Nginx
  •     MySQL и PHPMyAdmin
  •     Елементарен MAIL сървър
  •       Подобрение SSL/TLS, Maildir, LMTP
  •       Подобрение ВИРТУАЛИЗАЦИЯ без MySQL
  •       Подобрение ВИРТУАЛИЗАЦИЯ и MySQL
  •       Подобрение Антиспам - SpamAssasin
  •       Подобрение Антиспам - RSpamd
  •       Защита - SPF, DKIM и DMARK
  •       Подобрение Антивирус
  •     Пълноценен MAIL сървър
  •     Пощенски сървър с iRedMail и PHPMyAdmin
  •       DKIM, SPF и DMARK
  •     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
  • Пощенски сървър на Ubuntu Server 22.04

    Нагледно две картинки как работи един пощенски сървър.

    Приема писма

    Pic01

    Изпраща писма

    Pic02

    Нагледни картинки за получаване и изпращане на електронна поща. Няма да пояснявам на https://tlan.net/menu/linux/debian/debian9/09Mail/mailDebian9.php подробно съм обяснил работата на пощенския сървър. Какво имаме: - Инсталирана операционна система, - Инсталиран и конфигуриран BIND (DNS), - Инсталиран MySQL, - Инсталиран Apache, - Инсталиран PHPMyAdmin. Ще проверим няколко неща преди да почнем. Започваме с DNS-a.

    sudo nslookup > my.tlan.net Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: my.tlan.net Address: 185.163.245.186 > set q=mx > my.tlan.net Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: my.tlan.net mail exchanger = 10 ns1.my.tlan.net. > exit

    Инсталиране на PostFix

    PostFix е агент за получаване/изпращане на писма. Той е основен компонент в мейл сървърите Да го инсталираме.

    sudo apt update -y sudo apt upgrade -y sudo apt install postfix -y Postfix Configuration --------------------- Please select the mail server configuration type that best meets your needs. No configuration: Should be chosen to leave the current configuration unchanged. Internet site: Mail is sent and received directly using SMTP. Internet with smarthost: Mail is received directly using SMTP or by running a utility such as fetchmail. Outgoing mail is sent using a smarthost. Satellite system: All mail is sent to another machine, called a 'smarthost', for delivery. Local only: The only delivered mail is the mail for local users. There is no network. 1. No configuration 3. Internet with smarthost 5. Local only 2. Internet Site 4. Satellite system General mail configuration type: 2 The 'mail name' is the domain name used to 'qualify' _ALL_ mail addresses without a domain name. This includes mail to and from : please do not make your machine send out mail from root@example.org unless root@example.org has told you to. This name will also be used by other programs. It should be the single, fully qualified domain name (FQDN). Thus, if a mail address on the local host is foo@example.org, the correct value for this option would be example.org. System mail name: my.tlan.net

    Инсталиране на PHP ,Apache и MailUtils

    Ако не сте следвали предишните стъпки за инсталация, а направо сте започнали да инсталирате пощенския сървър то е добре да инсталирате Apache и PHP. Ако пък сте ги инсталирали не е проблем наново да ги повторите, просто ще Ви каже, че вече са инсталирани.

    sudo apt install apache2 apache2-utils -y sudo apt install php libapache2-mod-php php-mysql php-net-ldap2 php-net-ldap3 php-imagick php-common php-gd php-imap php-json php-curl php-zip php-xml php-mbstring php-bz2 php-intl php-gmp php-net-smtp php-mail-mime -y sudo apt install mailutils -y

    mailutils представлява набор от приложения помагащи в тестването на настройките на пощенския сървър. Да видим дали PostFixе стартиран.

    sudo systemctl status postfix

    Работи , активен е и няма грешки. Да пробваме дали работи коректно. За целта ни трябва telnet.

    sudo apt install telnet

    И проверяваме PostFix дали работи правилно.

    telnet gmail-smtp-in.l.google.com 25 Trying 172.217.218.26... Connected to gmail-smtp-in.l.google.com. Escape character is '^]'. 220 mx.google.com ESMTP m7-20020a17090679c700b00a522e9112f5si6994578ejo.264 - gsmtp quit

    Връзваме се към пощенския сървър на Google. Първи извод !!!. PostFix се използва да се изпрати писмото до определен получател. Работи със SMTP протокол на порт 25. В момента говорим в много груб вариант. Не разглеждаме връзки с MySQL и т.н. Може да пратим тестово писмо до някой мейл адрес. Примерно до tachko@mail.bg. И пак с уговорка, ползвайте за тест електронни пощи не от рода на Gmail, защото веднага ще блокират мейла. Имат високо ниво на сигурност. Ползвайте елементарни пощи

    sudo echo test | mail tachko@mail.bg

    В пощенската кутия на tachko@mail.bg трябва да пристигне писмо от cccp без заглавие и със съдържание test. До тук всичко работи нормално, не прекрасно. Внимание !!! PostFix участва също и при получаване на ел. писмо. След като го получи трябва да го запише в някоя папка на сървъра.

    Инсталиране на Dovecot

    Dovecot предоставя безопасен достъп до пощенските кутии по протоколи POP3 и IMAP. След като PostFix получи писмото го дава на Dovecot за да го запише в папката на пощенската кутия. Отново казвам ,това е много грубо обяснение. На практика нещата са много по-сложни. Да инсталираме Dovecot и необходимите му плъгини.

    sudo apt install dovecot-imapd dovecot-pop3d -y sudo service dovecot restart sudo service dovecot status

    Работи без грешки. От тук ни вълнува къде ще се разположат пощенските кутии. За целта:

    sudo cat /etc/dovecot/conf.d/10-mail.conf | grep mail_location mail_location = mbox:~/mail:INBOX=/var/mail/%u

    Пощенските кутии ще се разположат в /var/mail/име на пощенския адрес. Променливата %u отговаря за потребителя на пощенската кутия. А от къде да знаем кои са потребителите и кои пощенски кутии ползват? Има няколко варианта на задачата. По-добрия е ползването на бази данни за тази цел. И ако погледнем горните снимки ще видим, че при получаване на поща PostFix се обръща за информация към базата данни, а при изпращане Dovecot работи с базата данни. PostFix и Dovecot разговарят помежду си чрез протокола LMTP. За сега обаче няма да ползваме MySQL. Ще работим с потребителите създадени в Ubuntu. Ако се сещате по време на инсталацията създадохме потребител cccp. Значи имаме потребител cccp@ns1.my.tlan.net с пощенска кутия /var/mail/cccp Сега да пратим писмо от външната поща tachko@mail.bg до cccp@my.tlan.net.. След това да проверим самата пощенска ккутия на cccp.

    sudo cat /var/mail/cccp From tachko@mail.bg Wed Apr 24 01:05:26 2024 Return-Path: <tachko@mail.bg> X-Original-To: cccp@ns1.my.tlan.net Delivered-To: cccp@ns1.my.tlan.net Received: from mx5.mail.bg (mx5.mail.bg [193.201.172.121]) by ns1.my.tlan.net (Postfix) with ESMTPS id 472802408CD for <cccp@ns1.my.tlan.net>; Wed, 24 Apr 2024 01:05:26 +0000 (UTC) Received: from mail.bg (unknown [10.0.0.27]) by mx5.mail.bg (Postfix) with ESMTPA id EFFC38098D45 for <cccp@ns1.my.tlan.net>; Wed, 24 Apr 2024 04:05:24 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mail.bg; s=default; t=1713920725; bh=HGFJlI9qZSTMXaWQKKWfdR9xdL9Ulwq52c9e+6PPgck=; h=Message-ID:In-Reply-To:References:Date:Subject:From:To: MIME-Version:Content-Type; b=7RKrgHQI5h/CwmGgy45IweVeTdTn9SiWS0o69AjKZDhlvAjbFOZp5tN1cAuZappBW 1sHF+pUCXssnHwHvS3C1FE/iByQePGrAJ6V6h7FNWtgvolavQo6VOkKbC1LhRFr7zu oXDfNQCITVhx/4N5B1u5FgxpqXgpKyohLx/vyikI= Message-ID: <a5d6a360c7f793a9e776519a144afc8f.mailbg@mail.bg> In-Reply-To: <20240424005349.DADF32408AD@ns1.my.tlan.net> References: <20240424005349.DADF32408AD@ns1.my.tlan.net> Date: Wed, 24 Apr 2024 04:05:24 +0300 Subject: =?utf-8?B?UkU6INGC0LXRgdGC?= From: Tachko Tachev <tachko@mail.bg> To: CCCP <cccp@ns1.my.tlan.net> User-Agent: Mail.BG Webmail MIME-Version: 1.0 Content-Type: multipart/alternative;boundary="----=_20240424040524_68556" X-Priority: 3 (Normal) Importance: Normal X-Composed: 2024-04-24T04:05:24+03:00 ### Писмото продължава още надолу

    Писмо получено от tachko@mail.bg до cccp@ns1.my.tlan.net. Писмото е в много неразбираем формат. До тук: - инсталирахме PostFix - транспортен агент за изпращане/получаване на поща - инсталирахме Dovecot - PHP3, IMAP сървър за боравене с пощенските кутии - PostFix и Dovecot работят помежду си и се допълват - не се задълбаваме в конфигурационните файлове на PostFix и Dovecot - ползваме потребители създаден в операционната система, а не специално за пощенския сървър - това е най-простата базисна настройка. Нека да инсталираме графичен клиент за ясно четене на ел. поща.

    Инсталиране на Roundcube

    Пращаме и получаваме писма, но е много неразбираемо. Трябва ни нещо с което да декодираме писмото. На помощ идва WEB приложението Roundcube. Чрез него може да се четат и пишат писма през браузър. В случая обаче не ни трябва да го инсталираме от репозиторите. Ще смъкнем програмата от сайта на разработчика и ще го инсталираме. От https://roundcube.net/download/, намираме бутона Download на LTS version. Копираме линка на бутона (текущата версия). Изпълняваме следното:

    cd /home/cccp sudo wget sudo wget https://github.com/roundcube/roundcubemail/releases/download/1.5.6/roundcubemail-1.5.6-complete.tar.gz ls -l total 7708 -rw-r--r-- 1 root root 7891534 Nov 5 09:39 roundcubemail-1.5.6-complete.tar.gz

    Разархивираме roundcubemail-1.5.6-complete.tar.gz

    sudo tar -xvf roundcubemail-1.5.6-complete.tar.gz sudo mv roundcubemail-1.5.6 /var/www/html/roundcubemail cd /var/www/html/roundcubemail/ ls CHANGELOG.md SECURITY.md composer.json index.php program vendor INSTALL SQL composer.json-dist installer public_html LICENSE UPGRADING composer.lock logs skins README.md bin config plugins temp cd sudo chown -R www-data:www-data /var/www/html/roundcubemail/ sudo chmod 755 /var/www/html/roundcubemail/

    База данни на MySQL за Roundcube

    sudo mysql -u root create database roundcube DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; create user roundcubeuser@localhost identified by 'Pa$$w0rd'; grant all privileges on roundcube.* to roundcubeuser@localhost; flush privileges; quit sudo mysql roundcube < /var/www/html/roundcubemail/SQL/mysql.initial.sql

    Настройка на Apache за Roundcube

    sudo nano /etc/apache2/conf-available/roundcube.conf # Those aliases do not work properly with several hosts on your apache server # Uncomment them to use it or adapt them to your configuration #Alias /roundcube /var/lib/roundcube/public_html Alias /roundcube /var/www/html/roundcubemail/ <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/html/roundcubemail/> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> sudo a2enconf roundcube sudo systemctl reload apache2

    В браузъра пишем: https://my.tlan.net/roundcube/

    Pic03

    Всичко е правилно. Правилния линк е: https://my.tlan.net/roundcube/installer/

    Pic04

    Всички проверки са OK. Натискаме бутона NEXT за продължение.

    Pic05
    Pic06

    Най-отдолу натискаме бутона CREATE CONFIG. Така създаваме конфигурационния файл за стартиране на Roundcube.

    Pic07

    Конфигурационния файл е създаден в /var/www/html/roundcubemail/config. Нтискаме бутона CONTINUE за продължение.

    Pic08

    Всичко е наред. Най-отдолу ни предупреждава след завършване на инсталацията да изтрием installer папката или да се убедим че enable_installer опцията във файла config.inc.php е със значение disabled. Същевременно с това имаме и опцията да тестваме. За начало създаваме втори потребител за тест.

    sudo adduser tachko Adding user `tachko' ... Adding new group `tachko' (1001) ... Adding new user `tachko' (1001) with group `tachko' ... Creating home directory `/home/tachko' ... Copying files from `/etc/skel' ... New password: password Retype new password: password passwd: password updated successfully Changing the user information for tachko Enter the new value, or press ENTER for the default Full Name []: Enter Room Number []: Enter Work Phone []: Enter Home Phone []: Enter Other []: Enter Is the information correct? [Y/n] Y

    Pic09

    Натискаме бутона Send test mail.

    Pic10

    За да мине теста ни бяха необходими два потребителя, затова създадохме tachko на сървъра. Сега да тестваме и IMAP конфигурацията.

    Pic11
    Pic12

    Вече можем да ползваме Roundcube на https://my.tlan.net/roundcube/

    Pic13

    Потребители имаме cccp и tachko.

    Pic14

    Излизаме от потребителя cccp и влизаме като tachko.

    Pic15
    Pic16

    Ако искате да продължите с тестовете, можете отново да влезете на: https://my.tlan.net/roundcube/installer/

    Pic17

    Върщаме се на: https://my.tlan.net/roundcube/installer/

    Pic18
    Pic19
    Pic20

    Натискаме бутона UPDATE CONFIG

    Pic21

    Писмото се изпрати успешно. Вече всичко работи успешно. Това е базиса от който трябва да се надграждате. На практика майл сървъра е много уязвим. Без никакви защити. Но се надявам, че схванахте самата му работа. Изводи в сгъстен вид: - PostFix - работи по протокол SMTP на 25 порт. Изпраща и получава поща. - Dovecot - работи по протоколи POP3 и IMAP на портове съответно 110 и 143. Отговаря за управление на пощенските кутии. - PostFix и Dovecot работят един с друг. - Roundcube - WEB клиент на пощенския сървър.