Великий поштовий сервер на Ubuntu Server

Переклад та редагування, збір інформації в одне ціле: Рудюк Сергій Анатолійович Email: rs@corp2.net Viber: +38 (067) 901-63-22 Використовувані терміни: Postfix, POP3, SMTP, IMAP, MariaDB, Ubuntu, PostfixAdmin, Dovecot, Roundcube У цій інструкції налаштовано повноцінний поштовий сервер на Linux Ubuntu Server (протестовано на версії 20.04). Список усіх особливостей та можливостей: Підтримка шифрування; Зберігання пошти на сервері; Захист від СПАМу та вірусів; Поштова система з урахуванням Postru fix; Підтримка віртуальних доменів; Зберігання частини налаштувань у MariaDB; Доступ до пошти за допомогою веб-інтерфейсу (Roundcube); Підключення до поштових скриньок за POP3 та IMAP (Dovecot); Можливість керування поштовими скриньками за допомогою PostfixAdmin. Зміст 1. Передналаштування системи 2. Налаштування веб-сервера: NGINX + PHP + MariaDB 3. Встановлення та налаштування PostfixAdmin 4. Налаштування Postfix 5. Налаштування Dovecot 6. Перевірка роботи сервера 7. Налаштування Roundcube Webmail 8. Захист від вірусів та СПАМу Clamav + Amavisd Налаштування Postfix Оновлення антиспаму Перевірка налаштування Пересилання СПАМу та вірусів на іншу скриньку Антиспам засобами Postfix Навчання антиспаму 9. Надсилання пошти без влучення в СПАМ 10. Налаштування DKIM 11. Налаштування дискових квот 12. Автоматичне налаштування поштових клієнтів 13. Відображення папок IMAP в Outlook українською 14. Додаткові налаштування Налаштування лімітів Зміна email 15. Можливі проблеми І так, ця інструкція написана під Linux Ubuntu Server. Попередньо виконаємо наступні дії. Загальні налаштування Оновлюємо систему:

Задаємо правильне ім’я серверу – це важливий крок, оскільки більшість антиспам систем виконують перевірки, звертаючись до сервера на ім’я в очікуванні відповіді:

* необхідно вказати FQDN-ім’я, яке буде доступне з глобальної мережі. У цьому прикладі вказано relay.corp2.eu. Встановлюємо пакет для синхронізації […]

Read more

Как убрать сообщение «Срок действия вашей лицензии Windows 10 истекает»

На экране в любой момент может появиться окно «Срок действия вашей лицензии Windows 10 истекает» — как убрать сообщение и почему оно вообще появляется? Разберемся в этом вопросе, ведь оно откровенно мешает и не позволяет выполнять некоторые действия, раз ОС не активирована. Вы не сможете, например, поменять заставку. Те, кто успели перейти на бесплатную версию десятки до 29.06.2016 года, получили возможность год бесплатно пользоваться новинкой. Но спустя время появляется сообщение, что срок истекает, и его невозможно убрать, просто кликнув «Отмена». В Windows 10 срок действия лицензии истек у тех, кто пользовался активатором в старой версии, а потом бесплатно обновился до новой. В некоторых случаях активация просто не была проведена, если скачивалось и устанавливалось нелицензионное ПО. Итак, вы увидели на экране «Срок действия вашей лицензии Windows 10 истекает» — что делать в этом случае и как можно убрать назойливую надпись читайте далее. Убрать «Срок истекает» с помощью командной строки В главном меню запустите строку от имени администратора. Находится инструмент в разделе «Служебные». 2. Введите строчку slmgr –rearm. Она помогает сбросить на месяц активацию системы. Всего ее можно использовать три раза. То есть фактически вы можете убрать сообщение, что время истекает, только на три месяца. 1. После выполнения появится сообщение о перезагрузке. Сначала нужно отключить центр лицензирования. Зажмите WIN+R и вбейте Services.msc. 2. В открывшейся службе нужно отключить две строки: Windows License Manager и центр обновления. Дважды кликните на нужной команде и в списке вариантов кликните «Отключено». Потом перезагрузитесь. Это поможет убрать сообщение Виндовс 10 «Срок действия лицензии истекает, необходимо активировать». О […]

Read more

Ускорение работы с сессиями PHP и их удаления с помощью виртуального диска

При работе веб-сервера происходит генерация огромного количества мелких файлов для сессий. Количество таких файлов может достигать много миллионов в суток. Как результат, рано или поздно исчерпывается лимит на количество файлов и система дает сбой. Приходится пересоздавать каталог и удалять старые сессии. Удаление такого количества сессий может создавать очень высокую нагрузку на сервер, мешая комфортной работе пользователей, а так же процесс удаления может происходить много суток. Могу предположить, что такие мелкие записи не очень полезны для винчестеров. Как же мгновенно удалять файлы сессий так, чтоб этого не замечали пользователи ? Для этого, можно воспользоваться записью информации о сессиях на диск в памяти. Такой диск мгновенно очищается и работает до тех пор пока не выключится питание сервера или пока размаунтится диск. На серверах в последнее время много оперативной памяти, поэтому, работа с дисками в памяти – прекрасное решение проблемы. При этом, происходит ощутимо меньше нагрузка на дисковые накопители, дисковые накопители дольше служат и система в целом работает ощутимо быстрее. Поделюсь опытом, как реализовал построение дисков я у себя на серверах. Создание диска в памяти Создаю BASH-файл create_ramdisk для создания диска: #!/bin/bash mkdir /sessions chmod 777 /sessions mount -t tmpfs -o size=32G tmpfs /sessions   Удаление диска из памяти Создаю BASH-файл del_ramdisk для удаления диска из памяти: del_ramdisk   Пересоздание диска в памяти (с очисткой данных) Создаю BASH-файл recreate для пересоздания диска: #!/bin/bash umount /sessions   Автоматизация пересоздания диска в памяти через Cron В /etc/crontab добавляю строчку: 00 3 * * * root /fw/ramdisk/recreate   Замена каталога сессий Делаем симлинк с каталога /sessions […]

Read more

Команда tail в Windows

Ранее я писал, как установить пакет для работы Linux-команд в Windows. Прошли годы и Microsoft реализовал в своих программных продуктах аналоги Linux машин. Таким образом, появился аналог команды tail. В PowerShell 3.0 (Windows 8 и выше) добавлена Tailкоманда с псевдонимом Last. Headи Firstпсевдонимы для TotalCount: Get-Content *filename* -Head *n* Get-Content *filename* -Tail *n*   Get-Content *filename* -TotalCount *n* Get-Content *filename* | Select-Object -last *n* Пример выполнения: Get-Content C:\ProgramData\FlyDoc\FlyDoc2\log\2022-02-10.txt -Tail -2 Или выводить последние строки по мере их поступления: Get-Content C:\ProgramData\FlyDoc\FlyDoc2\log\2022-02-10.txt -Wait Источник: https://qastack.ru/programming/1295068/windows-equivalent-of-the-tail-command http://microsin.net/adminstuff/windows/tail-for-windows.html      

Read more

Отключение файла подкачки в Linux

Как правило, файл подкачки приводит к торможению операционной системы, но он нужен часто для устойчивости системы. Тем не менее, если много памяти, то лучше его отключить. Отключить во время сеанса: sudo sysctl vm.swappiness=0 Для того, чтоб отключить на постоянно, необходимо отредактировать файл /etc/sysctl.conf: vm.swappiness=0   Источник: https://losst.ru/fajl-podkachki-linux

Read more

Google перестает быть бесплатным

Некогда, многие не верили, что Google способен построить что-то стоящее, а не только поисковую машину. Тем не менее, раздавая бесплатные аккаунты и совершенствуя свой сервис, Google добился лидерства на рынке. Через какое-то время, возникла необходимость вложения в программные средства и инфраструктуру, вложенные в Google окупать, показывать акционерам положительные финансовые результаты. Вначале, Google окупал свои продукты благодаря рекламе. Со временем, этого стало мало. Начали монетизировать сервисы. Прослеживаются пути монетизации сервисов Google: – Вначале была реклама.– Потом стало платным для тех, кто хочет более 10 адресов.– Потом стало платным для тех, кто новый. – Потом стало платным для разработчиков.– Теперь, стало платным тем, кто работает с Гугл более 10 лет.– Завтра станет платным ВСЁ. На данный момент имеем, 1 июля все ранее раздаваемые бесплатные корпоративные аккаунты перестанут поддерживаться и за них будет взиматься стоимость от 10$/аккаунт в месяц. Соответственно, если аккаунтов много, то и много нужно будет платить… Конечно, эта стоимость может повышаться в одностороннем порядке компанией Google.  

Read more

Как сделать проброс портов на Mikrotik, если он не является шлюзом

Бешенное количество времени потратил на то, чтоб научить Микротик пробрасывать порт, если он не является шлюзом. У меня такое работало в Linux, а Mikrotik и разные “домашние роутеры” не хотели этого делать.  Как оказалось, Mikrotik может всё))) Для того, чтоб Микротик умел работать с сервером, который работает через другой шлюз, необходимо прописать правила: В Mangle: /ip firewall mangle add chain=input action=mark-connection new-connection-mark=to_speedy passthrough=yes in-interface=ether1 /ip firewall mangle add chain=output action=mark-routing new-routing-mark=speedy-isp passthrough=no connection-mark=to_speedy log=no log-prefix=”” /ip firewall mangle add chain=forward action=mark-connection new-connection-mark=to_speedy-f passthrough=no in-interface=ether1 /ip firewall mangle add chain=prerouting action=mark-routing new-routing-mark=speedy-isp connection-mark=to_speedy-f in-interface=ether1 В Firewall Nat: /ip firewall nat add chain=srcnat action=masquerade src-address=192.168.20.0/24 log=no log-prefix=”” /ip firewall nat add chain=dstnat action=dst-nat to-addresses=192.168.20.167 to-ports=80 protocol=tcp dst-address=134.249.121.18 in-interface=ether1 dst-port=80 log=no log-prefix=”” /ip firewall nat add chain=srcnat action=src-nat to-addresses=192.168.20.200 protocol=tcp dst-address=192.168.20.167 dst-port=80 log=no log-prefix=”” /ip firewall nat add chain=dstnat action=dst-nat to-addresses=192.168.20.167 to-ports=443 protocol=tcp dst-address=134.249.121.18 in-interface=ether1 dst-port=443 log=no log-prefix=”” /ip firewall nat add chain=srcnat action=src-nat to-addresses=192.168.20.200 protocol=tcp dst-address=192.168.20.167 dst-port=443 log=no log-prefix=”” Где 134.249.121.18 – внешний адрес WAN Микротика, 192.168.20.200 – внутренний адрес LAN Микротика, 192.168.20.0/24 – внутренняя сеть (LAN), 192.168.20.167 – IP-адрес сервера, к которому пробрасываем порты, 80, 443 – пробрасываемые порты.      

Read more

Отключение засыпания в Linux Ubuntu, Linux Debian

Отключение какого-либо засыпания в Linux Ubuntu, Linux Debian: sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target Чтобы включить обратно: sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target Если это ноутбук и нужно, чтобы он не засыпал при закрытии крышки, тогда добавить в /etc/systemd/logind.conf: [Login] HandleLidSwitch=ignore HandleLidSwitchDocked=ignore Для применения параметров сделаем sudo systemctl restart systemd-logind.service Источник: https://unlix.ru/%D0%BE%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82%D1%8C-%D1%81%D0%BE%D0%BD-%D0%B3%D0%B8%D0%B1%D0%B5%D1%80%D0%BD%D0%B0%D1%86%D0%B8%D1%8E-%D0%B2-debian/    

Read more
1 2 3 36