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
  • WEB клиент - RoundCube

    WEB клиента е много удобно нещо. То позволява да се борави с пощата без да има инсталиран пощенски клиент на локалния компютър. Има много такива програми, но в момента ще се спрем на RoundCube. Самата програма идва от репозиторите на Debian 9, но проблема е, че никога инсталацията не протича гладко. Поне при мене е така. В Debian 9 инсталацията се чупи когато трябва да се създаде базата за RoundCube. Стъпките за поправката на този бъг са: - създаваме празна база - създаваме потребител управляващ базата - дефенираме права на потребителя върху базата


    # mysql -u root -p Enter password: MySQL


    Да проверим какви налични бази имаме:

    MariaDB [(none)]> show databases; +-----------------------------+ | Database | +-----------------------------+ | information_schema | | mysql | | performance_schema | | pfdb | +-----------------------------+ 4 rows in set (0.01 sec)


    Няма създадена база, значи ще я създадем

    MariaDB [(none)]> create database roundcube; Query OK, 1 row affected (0.00 sec)


    Да създадем и потребител който да има права върху базата

    MariaDB [(none)]> create user roundcube@localhost; Query OK, 0 rows affected (0.00 sec)


    Да дадем и парола на потребителя roundcube

    MariaDB [(none)]> set password for roundcube@localhost=password("rcpass"); Query OK, 0 rows affected (0.00 sec)


    Да дефинираме права на потребителя roundcube@localhost с парола rcpass върху базата roundcube

    MariaDB [(none)]> grant all privileges on roundcube.* to roundcube@localhost identified by 'rcpass'; Query OK, 0 rows affected (0.00 sec)


    MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit


    Инсталиране на RounDcube и приставките му

    Пакети за инсталиране roundcube - браузър базиран WEB клиент ползващ IMAP roundcube-plugins - допълнителни екстри към клиента като смяна на парола, архивиране на стара поща и т.н. roundcube-plugins-extra - набор от приставки които не се поддържат от авторите на RoundCube а са от Debian php-net-sieve - допълнителен пакет от Debian за ползване на услугата sieve


    Време е да инсталираме и самите пакети

    # apt-get install roundcube roundcube-plugins roundcube-plugins-extra php-net-sieve


    RoundCube също създава една малка база в MySQL където записва управляваща информация и първия въпросителен екран е точно затова:

    Pic01

    Казваме Yes и придължаваме нататък. А сега да създадем потребител за базата на RoundCube който ще има достъп само до RoundCube.

    Pic02

    Преди това казахме, че паролата ще е rcpass и точно нея въвеждаме. Избираме Ok, натискаме Enter и продължаваме. Потвръжадаме паролата за съвпадение

    Pic03

    До края инсталацията протича без проблеми.


    Настройка на виртуалния хост на RoundCube

    По време на инсталацията на RoundCube се създаде файл /etc/roundcube/apache.conf. За да работи от всеки домейн той трябва да се ремонтира.

    # vi /etc/roundcube/apache.conf # Търсим реда и го размаркирваме # Alias /roundcube /var/lib/roundcube # Трябва да изглежда така Alias /roundcube /var/lib/roundcube # service apache2 restart


    Да проверим като напишем в браузъра https://home.tlan.net/roundcube/. Ще се получи долната снимка.

    Pic04

    Прекрасно, работи. Има обаче един досаден проблем. Ние се свръзваме само с един сървър и е безмислено всеки път да се описва сървъра. Затова в конфигурационния файл го описваме като статичен с localhost

    # vi /etc/roundcube/config.inc.php $config['default_host'] = 'localhost';


    Презареждаме Apache2

    # /etc/init.d/apache2 reload


    И пишем в браузъра https://home.tlan.net/roundcube

    Pic05

    Целта е постигната.


    Приставки към RoundCube

    Инсталирахме множество приставки които улесняват работата с мейл клиента, но е нормално да ги активираме и настроим. Ще започнем с това клиента да може да променя паролата си и

    # vi /etc/roundcube/config.inc.php // List of active plugins (in plugins/ directory) // Debian: install roundcube-plugins first to have any $config['plugins'] = array( 'managesieve', # Управлява Sieve 'password', # Клиента може да си променя паролата );


    Активирахме двете приставки, сега да ги настроим, като започнем с managesieve

    # cp /usr/share/roundcube/plugins/managesieve/config.inc.php.dist /etc/roundcube/plugins/managesieve/config.inc.php

    Тази приставка позволява на потребителите да създават правила за автоматично управление на електронната поща. На практика файла не изисква някакви промени освен ако не искате нещо по-специално. Следва приставката за пароли.

    # cp /usr/share/roundcube/plugins/password/config.inc.php.dist /etc/roundcube/plugins/password/config.inc.php


    Тука обаче ще си поиграем малко:

    # vi /etc/roundcube/plugins/password/config.inc.php // Require the new password to be a certain length. // set to blank to allow passwords of any length $config['password_minimum_length'] = 5; // Дължина на паролата // Enables saving the new password even if it matches the old password. Useful // for upgrading the stored passwords after the encryption scheme has changed. $config['password_force_save'] = true; // Разрешаваме старта парола да бъде и нова - да се препокрива // SQL Driver options // ------------------ // PEAR database DSN for performing the query. By default // Roundcube DB settings are used. $config['password_db_dsn'] = 'mysql://pfadmin:adminpass@localhost/pfdb'; // Връзка с базата даннита за смяна на парола // The SQL query used to change the password. // The query can contain the following macros that will be expanded as follows: // %p is replaced with the plaintext new password // %P is replaced with the crypted/hashed new password // according to configured password_method // %o is replaced with the old (current) password // %O is replaced with the crypted/hashed old (current) password // according to configured password_method // %h is replaced with the imap host (from the session info) // %u is replaced with the username (from the session info) // %l is replaced with the local part of the username // (in case the username is an email address) // %d is replaced with the domain part of the username // (in case the username is an email address) // Deprecated macros: // %c is replaced with the crypt version of the new password, MD5 if available // otherwise DES. More hash function can be enabled using the password_crypt_hash // configuration parameter. // %D is replaced with the dovecotpw-crypted version of the new password // %n is replaced with the hashed version of the new password // %q is replaced with the hashed password before the change // Escaping of macros is handled by this module. // Default: "SELECT update_passwd(%c, %u)" // $config['password_query'] = 'SELECT update_passwd(%c, %u)'; # маркира се най-отпред с // $config['password_query'] = "UPDATE virtual_users SET password=CONCAT('{SHA256-CRYPT}', ENCRYPT (%p, CONCAT('$5$', SUBSTRING(SHA(RAND()), -16)))) WHERE email=%u;"; // Дефинира как да се запише новата парола // {SHA256-CRYPT} - ползва SHA256 хеш // $5$ - означава, че се използва алгоритъма SHA-256 // SUBSTRING(SHA(RAND()), -16) - случайно разбъркване така, че да не се разбере истинската парола от кодирания низ // WHERE email=%u - гарантира правилния запис на паролата в базата данни


    Рестарт на Apache

    # service apache2 restart # service apache2 status


    Ами това е, имаме правилно работеш RoundCube, през който може да се променят паролите и да се правят скриптове за автоматична поща. Има още един момент който лично мене ме притеснява. Дълго ми се вижда изписването на https://home.tlan.net/roundcube, предпочитам да е https://home.tlan.net/mail. За целта:

    # vi /etc/roundcube/apache.conf # Търсим реда Alias /roundcube /var/lib/roundcube # И го променяме на: Alias /mail /var/lib/roundcube # service apache2 restart

    И сега като напишем в браузъра: https://home.tlan.net/mail/, ще се отвори RoundCube С това завършваме инсталацията и настройката на WEB клиента към пощенския сървър, следва тестване доставка на поща.