Postfix не запускается с помощью systemctl, но запускается с помощью “postfix start”.

Вопрос или проблема

Ubuntu 24.04.1 LTS, “postfix start” и “postfix stop” работают прекрасно.

systemctl start postfix
(нет ответа)

/var/log/syslog

2024-12-13T21:49:14.744589+01:00 aaa systemd[1]: Запуск [email protected] - Postfix Mail Transport Agent (инстанс -)...
2024-12-13T21:49:15.002726+01:00 aaa systemd[1]: [email protected]: Контрольный процесс завершился, код=вышел, статус=1/НЕУДАЧА
2024-12-13T21:49:15.003169+01:00 aaa systemd[1]: [email protected]: Не удалось с результатом 'exit-code'.
2024-12-13T21:49:15.004922+01:00 aaa systemd[1]: Не удалось запустить [email protected] - Postfix Mail Transport Agent (инстанс -).

journalctl -xeu [email protected]

Это похоже на спам.

systemctl status postfix.service

systemctl status postfix.service
postfix.service - Postfix Mail Transport Agent
     Загружено: загружено (/usr/lib/systemd/system/postfix.service; включено; предустановка: включено)
     Активно: активно (вышло) с Пт 2024-12-13 20:51:32 CET; 1ч 1мин назад
       Документы: man:postfix(1)
    Процесс: 960 ExecStart=/bin/true (код=вышел, статус=0/УСПЕХ)
   Основной PID: 960 (код=вышел, статус=0/УСПЕХ)
        CPU: 7мс

Dec 13 20:51:31 aaa systemd[1]: Запуск postfix.service - Postfix Mail Transport Agent...
Dec 13 20:51:32 aaa systemd[1]: Завершен postfix.service - Postfix Mail Transport Agent.

systemctl status [email protected]

[email protected] - Postfix Mail Transport Agent (инстанс -)
     Загружено: загружено (/usr/lib/systemd/system/[email protected]; включено-время; предустановка: включено)
     Активно: не удалось (Результат: exit-code) с Пт 2024-12-13 21:49:15 CET; 4мин 48с назад
       Документы: man:postfix(1)
    Процесс: 2191 ExecStartPre=/usr/lib/postfix/configure-instance.sh - (код=вышел, статус=1/НЕУДАЧА)
        CPU: 246мс

Dec 13 21:49:14 aaa systemd[1]: Запуск [email protected] - Postfix Mail Transport Agent (инстанс -)...
Dec 13 21:49:15 aaa systemd[1]: [email protected]: Контрольный процесс завершился, код=вышел, статус=1/НЕУДАЧА
Dec 13 21:49:15 aaa systemd[1]: [email protected]: Не удалось с результатом 'exit-code'.
Dec 13 21:49:15 aaa systemd[1]: Не удалось запустить [email protected] - Postfix Mail Transport Agent (инстанс -).

postfix check
(нет ответа) = конфигурация в порядке

Попробовал всё без файлов

/var/lib/postfix/master.lock
/var/spool/postfix/pid/master.pid

Я также пробовал
inet_interfaces = ipv4
и
#inet_interfaces = ipv4
Ничего не меняется.

Помогите, спасибо

Я нашел решение!

systemctl start postfix
выполняет
/usr/lib/postfix/configure-instance.sh
и скрипт возвращал 1 (ошибка), потому что был неправильный
/etc/ssl/certs/ssl-cert-snakeoil.pem.
Я взял его из
/var/spool/postfix/etc/ssl/certs/ssl-cert-snakeoil.pem
и теперь всё работает.

П.С.
И /etc/ssl/certs/ssl-cert-snakeoil.pem был перезаписан, потому что я создал новый файл /etc/dovecot/private/dovecot.pem не осознавая, что /etc/dovecot/private/dovecot.pem был ссылкой на /etc/ssl/certs/ssl-cert-snakeoil.pem, перезаписав его

Ответ или решение

Проблема с запуском Postfix через systemctl на Ubuntu 24.04.1 LTS

Ситуация, в которой Postfix не запускается через команду systemctl start postfix, но успешно запускается через postfix start, может возникнуть из-за различных причин, связанных с конфигурацией системы и зависимостями службы. Рассмотрим этот вопрос более подробно.

Причины проблемы

  1. Ошибки в конфигурации: При запуске Postfix через systemd, система выполняет сценарий configure-instance.sh, который может завершаться с ошибкой, если есть проблемы в конфигурационных файлах. В вашем случае ошибка возникла из-за неправильного сертификата SSL. Важно всегда проверять конфигурацию на наличие ошибок, используя команду postfix check, что, как вы указали, подтвердило правильность конфигурации.

  2. Проблемы с SSL-сертификатом: Ваша проблема заключалась в поврежденном файле сертификата /etc/ssl/certs/ssl-cert-snakeoil.pem. Этот файл является стандартным сертификатом временной безопасности, используемым в Ubuntu для тестовых целей. Поскольку вы переопределили его, это привело к неработоспособности службы Postfix при попытке её запуска через systemd.

  3. Проблемы с правами доступа: Убедитесь, что все файлы конфигурации и сертификаты имеют правильные права доступа. Иногда неправильные права на файлы могут повлечь за собой невозможность их чтения.

Решение проблемы

Как вы сами нашли решение, заключалось в восстановлении правильного сертификата. Вам нужно было заменить ссылку на сертификат в /etc/ssl/certs/ssl-cert-snakeoil.pem, убедившись, что он корректен и доступен.

Шаги для решения проблемы:

  1. Копирование правильного сертификата:

    sudo cp /var/spool/postfix/etc/ssl/certs/ssl-cert-snakeoil.pem /etc/ssl/certs/
  2. Проверка и исправление прав доступа:

    sudo chmod 644 /etc/ssl/certs/ssl-cert-snakeoil.pem
    sudo chown root:root /etc/ssl/certs/ssl-cert-snakeoil.pem
  3. Перезапуск службы:
    После выполнения этих действий попробуйте снова запустить службу Postfix с помощью systemctl:

    sudo systemctl start postfix
  4. Проверка статуса службы:
    Убедитесь, что служба запущена:

    systemctl status postfix.service

Вывод

Возникновении проблем с запуском системной службы Postfix стоит обратить внимание на конфигурацию SSL-сертификатов и их соответствие дисковым ссылкам. Проверка файлов конфигурации, прав доступа и логов может значительно упростить поиск причины неполадок. Важно следить за целостностью сертификатов и конфигурационных файлов, чтобы избежать подобных ситуаций в будущем.

Для дальнейшего улучшения работы вашего почтового сервера рекомендуется регулярное резервное копирование конфигурационных файлов и обновление системы, чтобы поддерживать совместимость и безопасность.

Оцените материал
Добавить комментарий

Капча загружается...