{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Воронин: заметки с тегом iRedMail",
    "_rss_description": "воронин, voronin, it",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/voronin.one\/tags\/iredmail\/",
    "feed_url": "https:\/\/voronin.one\/tags\/iredmail\/json\/",
    "icon": "https:\/\/voronin.one\/pictures\/userpic\/userpic@2x.jpg?1658757233",
    "authors": [
        {
            "name": "Алексей Воронин",
            "url": "https:\/\/voronin.one\/",
            "avatar": "https:\/\/voronin.one\/pictures\/userpic\/userpic@2x.jpg?1658757233"
        }
    ],
    "items": [
        {
            "id": "50",
            "url": "https:\/\/voronin.one\/all\/cherny-i-bely-spisok-dlya-postfix\/",
            "title": "черный и белый список для postfix",
            "content_html": "<p>Делаем черный и белый список для postfix.<\/p>\n<p>создаем файл <b>\/etc\/postfix\/rbl_override<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/etc\/postfix\/rbl_override<\/code><\/pre><p>пишем в него, узлы, которые хотим исключить из проверки<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">1.2.3.4 OK\n1.2.3.5 OK\nmail.freemailer.tld OK<\/code><\/pre><p>преобразуем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo postmap \/etc\/postfix\/rbl_override<\/code><\/pre><p>осталось подключить к нашей системе, для этого отредактируем <b>\/etc\/postfix\/main.c<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/etc\/postfix\/main.cf<\/code><\/pre><p>находим раздел <b>smtpd_recipient_restrictions<\/b> и добавляем <b>check_client_access hash:\/etc\/postfix\/rbl_override<\/b> после <b>reject_unauth_destination<\/b><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/image-43.png\" width=\"445\" height=\"176\" alt=\"\" \/>\n<\/div>\n<p>теперь просто перегружаем службу postfix<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo service postfix restart<\/code><\/pre>",
            "date_published": "2023-06-29T14:09:04+03:00",
            "date_modified": "2023-06-29T14:08:52+03:00",
            "tags": [
                "iRedMail",
                "postfix"
            ],
            "image": "https:\/\/voronin.one\/pictures\/image-43.png",
            "_date_published_rfc2822": "Thu, 29 Jun 2023 14:09:04 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "50",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/voronin.one\/pictures\/image-43.png"
                ]
            }
        },
        {
            "id": "47",
            "url": "https:\/\/voronin.one\/all\/perenosim-bazu-spamassassin-bayes-v-mysql\/",
            "title": "переносим базу SpamAssassin bayes в MySQL",
            "content_html": "<p>для начала проверим версию SpamAssassin<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$ sudo spamassassin -V\nSpamAssassin version 3.4.6\n  running on Perl version 5.32.1<\/code><\/pre><p>в нашем случае это 3.4.6<\/p>\n<p>теперь качаем нужный файл со структурой mysql<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$ cd ~\n$ wget http:\/\/svn.apache.org\/repos\/asf\/spamassassin\/tags\/spamassassin_release_3_4_6\/sql\/bayes_mysql.sql<\/code><\/pre><p>подключаемся к движку базы и загружаем структуру<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$ mysql -uroot -p\nMariaDB [(none)]&gt; CREATE DATABASE sa_bayes;\nMariaDB [(none)]&gt; USE sa_bayes;\nMariaDB [(none)]&gt; SOURCE ~\/bayes_mysql.sql;<\/code><\/pre><p>создадим пользователя <b>sa_user<\/b> с паролем <b>Pa$$W0rd<\/b> (замените на свой) и правами на нашу базу<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">MariaDB [(none)]&gt; GRANT SELECT, INSERT, UPDATE, DELETE ON sa_bayes.* TO sa_user@localhost IDENTIFIED BY &#039;Pa$$W0rd&#039;;\nMariaDB [(none)]&gt; FLUSH PRIVILEGES;\nMariaDB [sa_bayes]&gt; quit;<\/code><\/pre><p>отредактируем конфиг <b>\/etc\/mail\/spamassassin\/local.cf<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">use_bayes          1\nbayes_auto_learn   1\nbayes_auto_expire  1\n\n# Store bayesian data in MySQL.\n# Please make sure you have correct server address, port and database name.\nbayes_store_module Mail::SpamAssassin::BayesStore::MySQL\nbayes_sql_dsn      DBI:mysql:sa_bayes:127.0.0.1:3306\n\n# Store bayesian data in PostgreSQL.\n# Please make sure you have correct server address, port and database name.\n#bayes_store_module Mail::SpamAssassin::BayesStore::PgSQL\n#bayes_sql_dsn      DBI:Pg:database=sa_bayes;host=127.0.0.1;port=5432\n\n# SQL username and password.\nbayes_sql_username sa_user\nbayes_sql_password Pa$$W0rd\n\n# Override the username used for storing data in the database.\n# This could be used to group users together to share bayesian filter data.\n# You can also use this config option to trick sa-learn to learn data as a specific user.\n#bayes_sql_override_username vmail\nbayes_sql_override_username amavis<\/code><\/pre><p>рестартим службу<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$ sudo service amavis restart<\/code><\/pre><p>проверяем, скармливаем тестовое сообщение<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$ sa-learn --spam --username=amavis \/usr\/share\/doc\/spamassassin\/examples\/sample-spam.txt\nLearned tokens from 1 message(s) (1 message(s) examined)<\/code><\/pre><p>и проверим наполняемость базы<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$ mysql -uroot -p\nMariaDB [(none)]&gt; USE sa_bayes;\nMariaDB [sa_bayes]&gt; SELECT username,spam_count,ham_count FROM bayes_vars;\n+----------+------------+-----------+\n| username | spam_count | ham_count |\n+----------+------------+-----------+\n| amavis   |          1 |         1 |\n+----------+------------+-----------+\n1 row in set (0,000 sec)\nMariaDB [sa_bayes]&gt; quit;<\/code><\/pre><p>и не забудьте отредактировать файл резервирования <b>\/var\/vmail\/backup\/backup_mysql.sh<\/b>, чтобы добавить и нашу базу<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># Databases we should backup.\n# Multiple databases MUST be seperated by SPACE.\nexport DATABASES=&#039;mysql vmail roundcubemail amavisd iredadmin sogo iredapd sa_bayes&#039;<\/code><\/pre><p>PS мне скрипт резервирования не пришлось менять, там уже быза бала прописана<\/p>\n",
            "date_published": "2023-06-13T17:59:28+03:00",
            "date_modified": "2023-06-15T16:04:56+03:00",
            "tags": [
                "bayes",
                "iRedMail",
                "MySQL",
                "SpamAssassin"
            ],
            "_date_published_rfc2822": "Tue, 13 Jun 2023 17:59:28 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "47",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "46",
            "url": "https:\/\/voronin.one\/all\/iredmail-i-roundcube\/",
            "title": "iRedMail и Roundcube",
            "content_html": "<p>После установки и настройки iRedMail мы получаем удобный почтовый клиент Roundcube.<\/p>\n<p>Давайте немного его улучшим для работы.<\/p>\n<h2>установим необходимые компоненты и обновим существующие модули<\/h2>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt install composer php-ldap\n\ncd \/opt\/www\/roundcubemail\nsudo composer update<\/code><\/pre><h2>установим и включим контекстное меню<\/h2>\n<pre class=\"e2-text-code\"><code class=\"\">sudo composer require johndoh\/contextmenu<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/iredmail-i-roundcube-1.png\" width=\"407\" height=\"294\" alt=\"\" \/>\n<\/div>\n<h2>установим и включим календарь<\/h2>\n<pre class=\"e2-text-code\"><code class=\"\">sudo composer require kolab\/calendar<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/iredmail-i-roundcube.png\" width=\"800\" height=\"364.08163265306\" alt=\"\" \/>\n<\/div>\n<p>отредактируем файл с конфигурацией Roundcube <b>\/opt\/www\/roundcubemail\/config\/config.inc.php<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/\/ PLUGINS\n$config[&#039;plugins&#039;] = [\n        &#039;managesieve&#039;,\n        &#039;password&#039;,\n        &#039;zipdownload&#039;,\n        &#039;acl&#039;,\n        &#039;markasjunk&#039;,\n        &#039;contextmenu&#039;,\n        &#039;libkolab&#039;,\n        &#039;libcalendaring&#039;,\n        &#039;calendar&#039;,\n];<\/code><\/pre><p>убедитесь, что у вас в списке плагинов есть <b>’acl’<\/b> и <b>’markasjunk’<\/b>, первый отвечает за расшаривание почтовых папок, второй за манипуляции со СПАМ сообщениями.<\/p>\n<h2>включим возможность отмечать сообщения как СПАМ<\/h2>\n<p>отредактируем файл с конфигурацией ’markasjunk’ <b>\/opt\/www\/roundcubemail\/plugins\/markasjunk\/config.inc.php<\/b><br \/>\nи укажем следующие значения для параметров:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$config[&#039;markasjunk2_learning_driver&#039;] = &#039;cmd_learn&#039;;\n$config[&#039;markasjunk2_spam_cmd&#039;] = &#039;\/usr\/bin\/sa-learn --spam --username=amavis %f&#039;;\n$config[&#039;markasjunk2_ham_cmd&#039;] = &#039;\/usr\/bin\/sa-learn --ham --spam --username=amavis %f&#039;;<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/Screenshot_20230530_171451.png\" width=\"274\" height=\"56\" alt=\"\" \/>\n<\/div>\n<p>PS не забудьте разрешить php исполнение внешних команд, для этого отредактируйте файл <b>\/etc\/php\/7.4\/fpm\/php.ini<\/b><\/p>\n<p>и удалите в параметре <b>disable_functions<\/b> значение <b>shell_exec<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">disable_functions = posix_uname,eval,pcntl_wexitstatus,posix_getpwuid,xmlrpc_entity_decode,pcntl_wifstopped,pcntl_wifexited,pcntl_wifsignaled,phpAds_XmlRpc,pcntl_strerror,ftp_exec,pcntl_wtermsig,mysql_pconnect,proc_nice,pcntl_sigtimedwait,posix_kill,pcntl_sigprocmask,fput,phpinfo,system,phpAds_remoteInfo,ftp_login,inject_code,posix_mkfifo,highlight_file,escapeshellcmd,show_source,pcntl_wifcontinued,fp,pcntl_alarm,pcntl_wait,ini_alter,posix_setpgid,parse_ini_file,ftp_raw,pcntl_waitpid,pcntl_getpriority,ftp_connect,pcntl_signal_dispatch,pcntl_wstopsig,ini_restore,ftp_put,passthru,proc_terminate,posix_setsid,pcntl_signal,pcntl_setpriority,phpAds_xmlrpcEncode,pcntl_exec,ftp_nb_fput,ftp_get,phpAds_xmlrpcDecode,pcntl_sigwaitinfo,pcntl_get_last_error,ftp_rawlist,pcntl_fork,posix_setuid<\/code><\/pre><p>ну и перезапустим php<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo service php7.4-fpm restart<\/code><\/pre><p>Более полный список расширений вы сможете найти по ссылке: <a href=\"https:\/\/packagist.org\/?type=roundcube-plugin\">https:\/\/packagist.org\/?type=roundcube-plugin<\/a><\/p>\n",
            "date_published": "2023-05-30T17:16:55+03:00",
            "date_modified": "2023-06-13T18:33:00+03:00",
            "tags": [
                "acl",
                "calendar",
                "composer",
                "contextmenu",
                "iRedMail",
                "markasjunk",
                "Roundcube"
            ],
            "image": "https:\/\/voronin.one\/pictures\/iredmail-i-roundcube-1.png",
            "_date_published_rfc2822": "Tue, 30 May 2023 17:16:55 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "46",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/voronin.one\/pictures\/iredmail-i-roundcube-1.png",
                    "https:\/\/voronin.one\/pictures\/iredmail-i-roundcube.png",
                    "https:\/\/voronin.one\/pictures\/Screenshot_20230530_171451.png"
                ]
            }
        },
        {
            "id": "43",
            "url": "https:\/\/voronin.one\/all\/uvelichivaem-razmer-prinimaemogo-soobscheniya-v-iredmail\/",
            "title": "Увеличиваем размер принимаемого сообщения в iRedMail",
            "content_html": "<p>Увеличим размер почтового сообщения до 35Мб<\/p>\n<p>меняем настройки postfix<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">postconf -e message_size_limit=36700160\npostconf -e mailbox_size_limit=36700160<\/code><\/pre><p>перечитываем изменения службой postfix<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo systemctl reload postfix<\/code><\/pre><p>редактируем php.ini<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/etc\/php\/7.4\/fpm\/php.ini<\/code><\/pre><p>ищем переменные и меняем значения на нужные нам<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">memory_limit = 256M;\nupload_max_filesize = 35M;\npost_max_size = 37M;<\/code><\/pre><p>рестартим php<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo systemctl restart php7.4-fpm<\/code><\/pre><p>редактируем конфиг roundcube<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/opt\/www\/roundcubemail\/config\/config.inc.php<\/code><\/pre><p>ищем настройку максимального размера сообщения и меняем значение<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">$config[&#039;max_message_size&#039;] = &#039;35M&#039;;<\/code><\/pre><p>редактируем конфиг nginx<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/etc\/nginx\/conf-enabled\/client_max_body_size.conf<\/code><\/pre><p>ищем переменную и меняем значение на своё<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">client_max_body_size 100m;<\/code><\/pre><p>проверяем правильность конфига<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo nginx -t<\/code><\/pre><p>перечитываем изменения службой nginx<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo systemctl reload nginx<\/code><\/pre>",
            "date_published": "2023-05-03T13:18:44+03:00",
            "date_modified": "2023-05-03T13:18:40+03:00",
            "tags": [
                "iRedMail",
                "nginx",
                "php",
                "postfix",
                "Roundcube"
            ],
            "_date_published_rfc2822": "Wed, 03 May 2023 13:18:44 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "43",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "42",
            "url": "https:\/\/voronin.one\/all\/vypuskaem-sertifikat-lets-encrypt-i-nastraivaem-avtomaticheskiy\/",
            "title": "Выпускаем сертификат Let’s encrypt и настраиваем автоматический перевыпуск в iRedMail",
            "content_html": "<p>устанавливаем certbot<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt update\nsudo apt install certbot<\/code><\/pre><p>запрашиваем новый сертификат для домена mail.{domain}.ru<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo certbot certonly --webroot --agree-tos --email postmaster@{domain}.ru -d mail.{domain}.ru -w \/var\/www\/html\/<\/code><\/pre><p>открываем конфиги nginx и если нужно вносим изменения, сначала для http<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/etc\/nginx\/sites-enabled\/00-default.conf<\/code><\/pre><p>убедились, чтобы эти поля были раскомментированы<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">enable listen [::]:80;<\/code><\/pre><p>затем для https<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/etc\/nginx\/sites-enabled\/00-default-ssl.conf<\/code><\/pre><p>убедились, чтобы эти поля были раскомментированы<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">add listen [::]:443 ssl http2;<\/code><\/pre><p>проверяем правильность конфига<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo nginx -t<\/code><\/pre><p>перечитываем изменения службой nginx<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo systemctl reload nginx<\/code><\/pre><p>редактируем поти к сертификатам, самоподписанные меняем на let’s encrypt<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/etc\/nginx\/templates\/ssl.tmpl<\/code><\/pre><p>находим<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ssl_certificate \/etc\/ssl\/certs\/iRedMail.crt;\nssl_certificate_key \/etc\/ssl\/private\/iRedMail.key;<\/code><\/pre><p>меняем на это<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ssl_certificate \/etc\/letsencrypt\/live\/mail.{domain}.ru\/fullchain.pem;\nssl_certificate_key \/etc\/letsencrypt\/live\/mail.{domain}.ru\/privkey.pem;<\/code><\/pre><p>проверяем правильность конфига<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo nginx -t<\/code><\/pre><p>перечитываем изменения службой nginx<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo systemctl reload nginx<\/code><\/pre><p>правим кофиг postfix<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/etc\/postfix\/main.cf<\/code><\/pre><p>находим<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">smtpd_tls_key_file = \/etc\/ssl\/private\/iRedMail.key\nsmtpd_tls_cert_file = \/etc\/ssl\/certs\/iRedMail.crt\nsmtpd_tls_CAfile = \/etc\/ssl\/certs\/iRedMail.crt<\/code><\/pre><p>заменяем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">smtpd_tls_key_file = \/etc\/letsencrypt\/live\/mail.{domain}.ru\/privkey.pem\nsmtpd_tls_cert_file = \/etc\/letsencrypt\/live\/mail.{domain}.ru\/cert.pem\nsmtpd_tls_CAfile = \/etc\/letsencrypt\/live\/mail.{domain}.ru\/chain.pem<\/code><\/pre><p>перечитываем изменения службой postfix<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo systemctl reload postfix<\/code><\/pre><p>правим другой кофиг postfix, указываем на необходимость использования tls<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/etc\/postfix\/master.cf<\/code><\/pre><p>добавляем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">465     inet  n       -       n       -       -       smtpd\n  -o syslog_name=postfix\/smtps\n  -o smtpd_tls_wrappermode=yes\n  -o smtpd_sasl_auth_enable=yes\n  -o smtpd_client_restrictions=permit_sasl_authenticated,reject\n  -o content_filter=smtp-amavis:[127.0.0.1]:10026<\/code><\/pre><p>перечитываем изменения службой postfix<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo systemctl reload postfix<\/code><\/pre><p>правим конфиг dovecot<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/etc\/dovecot\/dovecot.conf<\/code><\/pre><p>находим<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ssl_cert = &lt;\/etc\/ssl\/certs\/iRedMail.crt\nssl_key = &lt;\/etc\/ssl\/private\/iRedMail.key<\/code><\/pre><p>заменяем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ssl_cert = &lt;\/etc\/letsencrypt\/live\/mail.{domain}.ru\/fullchain.pem\nssl_key = &lt;\/etc\/letsencrypt\/live\/mail.{domain}.ru\/privkey.pem<\/code><\/pre><p>перечитываем изменения службой dovecot<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo systemctl reload dovecot<\/code><\/pre><p>осталось добавить в ротацию перевыпуск сертификата, для этого редактируем crontab<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo crontab -e<\/code><\/pre><p>add<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># перевыпуск сертификатов Let&#039;s Encrypt\n43 3 9 * * \/usr\/bin\/certbot renew --post-hook &quot;\/usr\/bin\/systemctl reload nginx; \/usr\/bin\/systemctl reload dovecot; \/usr\/bin\/systemctl reload postfix&quot;\n45 3 9 * * \/usr\/sbin\/service nginx reload\n46 3 9 * * \/usr\/sbin\/service postfix reload\n47 3 9 * * \/usr\/sbin\/service dovecot reload<\/code><\/pre><p>не забудьте оставить пустую строку в конце (такие требования синтаксиса crontab)<\/p>\n",
            "date_published": "2023-05-03T13:16:05+03:00",
            "date_modified": "2023-05-03T13:15:52+03:00",
            "tags": [
                "certbot",
                "iRedMail",
                "Let’s encrypt"
            ],
            "_date_published_rfc2822": "Wed, 03 May 2023 13:16:05 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "42",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "41",
            "url": "https:\/\/voronin.one\/all\/otklyuchaem-protokol-pop3-iredmail\/",
            "title": "Отключаем протокол pop3 iRedMail",
            "content_html": "<p>Редактируем конфиг dovecot<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/etc\/dovecot\/dovecot.conf<\/code><\/pre><p>меняем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># Enabled mail protocols.\nprotocols = pop3 imap sieve lmtp<\/code><\/pre><p>на<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># Enabled mail protocols.\nprotocols = imap sieve lmtp<\/code><\/pre><p>перезапускаем dovecot<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo service dovecot restart<\/code><\/pre>",
            "date_published": "2023-05-03T13:13:34+03:00",
            "date_modified": "2023-05-03T13:13:30+03:00",
            "tags": [
                "dovecot",
                "iRedMail",
                "pop3"
            ],
            "_date_published_rfc2822": "Wed, 03 May 2023 13:13:34 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "41",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "40",
            "url": "https:\/\/voronin.one\/all\/cistema-indeksacii-lucene-dlya-dovecot-debian\/",
            "title": "Cистема индексации lucene для Dovecot (debian)",
            "content_html": "<p>Крайне рекомендую установить систему индексации lucene, когда ваших писем перевалит за 10 тыс., вы вспомните меня добрым словом 😉<\/p>\n<p>установим из репозиториев<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo apt update\nsudo apt install dovecot-lucene<\/code><\/pre><p>теперь редактируем конфиг dovecot<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/etc\/dovecot\/dovecot.conf<\/code><\/pre><p>ищем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mail_plugins = quota mailbox_alias acl mail_log notify<\/code><\/pre><p>меняем на<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mail_plugins = quota mailbox_alias acl mail_log notify fts fts_lucene<\/code><\/pre><p>ищем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">plugin {\n    # Quota configuration.\n    # Reference: http:\/\/wiki2.dovecot.org\/Quota\/Configuration\n    quota = dict:user::proxy::quotadict<\/code><\/pre><p>меняем на<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">plugin {\n    fts = lucene\n    fts_lucene = whitespace_chars=@. normalize default_language=russian\n    fts_autoindex = yes\n\n    # Quota configuration.\n    # Reference: http:\/\/wiki2.dovecot.org\/Quota\/Configuration\n    quota = dict:user::proxy::quotadict<\/code><\/pre><p>осталось только перезапустить dovecot<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo service dovecot restart<\/code><\/pre>",
            "date_published": "2023-05-03T13:10:17+03:00",
            "date_modified": "2023-05-03T17:58:18+03:00",
            "tags": [
                "Debian",
                "dovecot",
                "iRedMail",
                "lucene"
            ],
            "_date_published_rfc2822": "Wed, 03 May 2023 13:10:17 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "40",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "38",
            "url": "https:\/\/voronin.one\/all\/proschay-yandeks-pochta\/",
            "title": "Прощай Яндекс почта",
            "content_html": "<p>Была у меня почта на Яндексе, уже была, т. к. последний сделал её платной. Что же, я перевёз свои 12 ящиков, и вы справитесь.<\/p>\n<p>Схема самая простая, сначала разворачиваем свой почтовый сервер (настраиваем его), затем перевозим ящики (по одному), бонусом тюним web-интерфейс Roundcube.<\/p>\n<p>Все представленные здесь решения являются бесплатными для личного пользования, ваша задача только оплата VDS.<\/p>\n<p>Системные требования для моих задач (12 ящиков, 1 основной домен и 3 элиаса):<\/p>\n<ul>\n<li>OC Linux<\/li>\n<li>CPU 1<\/li>\n<li>RAM 4 Гб<\/li>\n<li>HDD 100 Гб<\/li>\n<li>IP 1<\/li>\n<\/ul>\n<p>Возможно вам потребуется больше, тут всё зависит от бюджета и нагрузки, системные требования для iRedMail предполагают от 4Гб оперативной памяти, а для поддержки 500 клиентов так все 16Гб.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/image-38.png\" width=\"538\" height=\"224\" alt=\"\" \/>\n<\/div>\n<p>Я не буду останавливаться на развёртывание системы, в моём примере debian 11, многие хостеры это сделаю для вас автоматически.<br \/>\nНе забудьте прописать в DNS зону A, например mail.{domain}.ru<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/image-39.png\" width=\"447\" height=\"35\" alt=\"\" \/>\n<\/div>\n<p>Прошу обратить внимание, зону MX мы не трогаем, чтобы пока мы настраиваем новый сервер, не потерять сообщения приходящие на старый.<\/p>\n<p>коннектимся в консоль сервера и создаем пользователя с sudo<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">su -\napt update\napt install mc sudo -y\nuseradd {username}\npasswd {username}\nusermod -aG sudo {username}<\/code><\/pre><ul>\n<li>mc ставлю ради mcedit<\/li>\n<\/ul>\n<p>Логинимся под свеже созданным пользователем и назначаем серверу его имя как указывали в DNS<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo hostnamectl set-hostname mail.{domain}.ru<\/code><\/pre><p>в файле «\/etc\/hosts» руками правим имя локалхоста<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">sudo mcedit \/etc\/hosts<\/code><\/pre><p>должно получиться так<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">127.0.0.1       mail.{domain}.ru localhost<\/code><\/pre><div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa.png\" width=\"486\" height=\"132\" alt=\"\" \/>\n<\/div>\n<p>проверяем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">hostname -f<\/code><\/pre><p>Начинаем непосредственно установку сервера, для этого определяем ссылку на актуальный дистрибутив, переходим сюда: <a href=\"https:\/\/iredmail.com\/download.html\">https:\/\/iredmail.com\/download.html<\/a> , кликаем правой кнопкой мыши на стабильной версии и копируем ссылку на скачивание<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-1.png\" width=\"800\" height=\"254.01207937877\" alt=\"\" \/>\n<\/div>\n<p>в консоли идем в домашнюю папку и скачиваем дистрибутив<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">cd ~\nwget https:\/\/github.com\/iredmail\/iRedMail\/archive\/refs\/tags\/1.6.2.tar.gz<\/code><\/pre><p>распаковываем его, переходим в полученную папку делаем файл «iRedMail-1.6.2» исполняемым и запускаем установку<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">tar xvf 1.6.2.tar.gz\ncd iRedMail-1.6.2\/\nchmod +x iRedMail.sh\nsudo bash iRedMail.sh<\/code><\/pre><p>после того как скрипт скачет необходимые пакеты запустится визард, который поможет провести первоначальную настройку<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-2.png\" width=\"639\" height=\"349\" alt=\"\" \/>\n<\/div>\n<p>указываем путь, где будут храниться почтовые сообщения и бэкапы базы данных<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-3.png\" width=\"637\" height=\"351\" alt=\"\" \/>\n<\/div>\n<p>выбираем какой web-сервер будет установлен, ну как выбираем, соглашаемся с nginx<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-4.png\" width=\"631\" height=\"339\" alt=\"\" \/>\n<\/div>\n<p>далее выбираем какую базу данных будет использовать почтовый сервер (я выбираю MariaDB)<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-5.png\" width=\"635\" height=\"346\" alt=\"\" \/>\n<\/div>\n<p>придумываем и указываем пароль для администратора базы данных, можно сейчас записать, а можно дождаться окончания установки и получить все логины и пароли в первом письме<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-6.png\" width=\"637\" height=\"349\" alt=\"\" \/>\n<\/div>\n<p>указываем имя домена, не имя сервера, а имя домена!<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-7.png\" width=\"638\" height=\"350\" alt=\"\" \/>\n<\/div>\n<p>задаём пароль администратора почтового сервера<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-8.png\" width=\"639\" height=\"347\" alt=\"\" \/>\n<\/div>\n<p>указываем необходимые нам компоненты, для простого и лёгкого сервера я бы рекомендовал остановиться на почтовом web-клиенте Roundcube, web-панели администратора iRedAdmin и fail2ban для защиты от подбора паролей пользователей<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-9.png\" width=\"634\" height=\"347\" alt=\"\" \/>\n<\/div>\n<p>проверяем настройки и подтверждаем их<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-10.png\" width=\"586\" height=\"367\" alt=\"\" \/>\n<\/div>\n<p>теперь остаётся ждать, пока инсталляционный скрипт завершит свою работу<\/p>\n<p>после завершения установки подтвердите настройки файервола<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-11.png\" width=\"592\" height=\"95\" alt=\"\" \/>\n<\/div>\n<p>Я вас поздравляю, теперь можно получить доступ к ресурсам сервера по следующим адресам:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">- Roundcube webmail: https:\/\/mail.{domain}.ru\/mail\/\n- Web admin panel (iRedAdmin): https:\/\/mail.{domain}.ru\/iredadmin\/\n\n- Username: postmaster@{domain}.ru\n- Password: BTAyZswFv4VroUP2oPTUkaikMETc6pyY<\/code><\/pre><hr \/>\n<p>Если захотите добавить элиас домена через бесплатную админку этого сделать не получится, но можно внести значения напрямую в базу (работает как с MySQL, так и с PostgreSQL)<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mysql -u root\nsql&gt; USE `vmail`;\nsql&gt; INSERT INTO `alias_domain` (`alias_domain`, `target_domain`) VALUES (&#039;{alias}.ru&#039;, &#039;{domain}.ru&#039;);<\/code><\/pre><p>удалить элиас так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">mysql -u root\nsql&gt; USE `vmail`;\nsql&gt; DELETE FROM `alias_domain` WHERE `alias_domain` = &#039;{alias}.ru&#039;;<\/code><\/pre><hr \/>\n<p>На этом можно было бы и закончить, но есть моменты на которых я предлагаю остановиться, назовём это улучшения вашего сервера<\/p>\n<hr \/>\n<p><a href=\"https:\/\/voronin.one\/drafts\/cistema-indeksacii-lucene-dlya-dovecot-debian\/\">Система индексации lucene для Dovecot (debian)<\/a><\/p>\n<hr \/>\n<p><a href=\"https:\/\/voronin.one\/all\/otklyuchaem-protokol-pop3-iredmail\/\">Отключаем протокол pop3 (делал чисто для себя, т.к .не пользуюсь им, слишком устаревший)<\/a><\/p>\n<hr \/>\n<p><a href=\"https:\/\/voronin.one\/all\/vypuskaem-sertifikat-lets-encrypt-i-nastraivaem-avtomaticheskiy\/\">Выпускаем подтверждённый сертификат Let’s encrypt и настраиваем автоматический перевыпуск сертификата<\/a><\/p>\n<hr \/>\n<p><a href=\"https:\/\/voronin.one\/all\/uvelichivaem-razmer-prinimaemogo-soobscheniya-v-iredmail\/\">Как увеличить размер принимаемого сообщения, например до 35Мб?<\/a><\/p>\n<hr \/>\n<p><a href=\"https:\/\/voronin.one\/all\/obnovlyaem-clamav-na-territorii-rf\/\">Есть проблемы с антивирусом clamav на территории РФ, после первоначальной установки он у вас просто не запустится, т. к. не сможет обновить свои базы, как решить?<\/a><\/p>\n<hr \/>\n<p>готово! наш сервер готов принять письма<\/p>\n<p>Через Админку создаём пользовательские ящики, которые готовы принять письма<\/p>\n<p>Меняем запись MX в DNS, чтобы новые сообщения попадали уже на наш сервер<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/voronin.one\/pictures\/proschay-yandeks-pochta-1.png\" width=\"466\" height=\"35\" alt=\"\" \/>\n<\/div>\n<p>Ждём когда изменения вступят в силу, максимум 3 часа, вы увидите, как сообщения появятся в ящиках на новом сервере, всё — это значит пора перевозить старые письма. Для этого воспользуемся моим скриптом: <a href=\"https:\/\/voronin.one\/all\/skript-dlya-perenosa-elektronnoy-pochty-iz-odnogo-yaschika-v-dru\/\">https:\/\/voronin.one\/all\/skript-dlya-perenosa-elektronnoy-pochty-iz-odnogo-yaschika-v-dru\/<\/a><\/p>\n<p>Адресную книгу без проблем перенесёте через экспорт\/импорт.<br \/>\nА вот правила фильтрации в яндексе «фильдеперсовые», их только вручную можно перенести, хоть в Roundcube есть возможность подгрузить правила sieve из файла.<\/p>\n",
            "date_published": "2023-05-02T18:04:43+03:00",
            "date_modified": "2023-08-01T15:25:34+03:00",
            "tags": [
                "clamav",
                "Debian",
                "DNS",
                "dovecot",
                "iRedMail",
                "nginx",
                "php",
                "postfix",
                "Roundcube",
                "яндекс почта"
            ],
            "image": "https:\/\/voronin.one\/pictures\/proschay-yandeks-pochta.png",
            "_date_published_rfc2822": "Tue, 02 May 2023 18:04:43 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "38",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/voronin.one\/pictures\/proschay-yandeks-pochta.png",
                    "https:\/\/voronin.one\/pictures\/image-38.png",
                    "https:\/\/voronin.one\/pictures\/image-39.png",
                    "https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa.png",
                    "https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-1.png",
                    "https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-2.png",
                    "https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-3.png",
                    "https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-4.png",
                    "https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-5.png",
                    "https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-6.png",
                    "https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-7.png",
                    "https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-8.png",
                    "https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-9.png",
                    "https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-10.png",
                    "https:\/\/voronin.one\/pictures\/pereezd-pochty-s-yandeksa-11.png",
                    "https:\/\/voronin.one\/pictures\/proschay-yandeks-pochta-1.png"
                ]
            }
        }
    ],
    "_e2_version": 4171,
    "_e2_ua_string": "Aegea 11.4 (v4171)"
}