1

Добрый день. Проблема вот какая: поставил postfix в main.cf прописал все согласно инструкции.


Результат: при запуске Postfix выдается:

postfix start
postfix/postfix-script: starting the Postfix mail system

Вроде все нормально, но:

Далее при любых командах кроме start выводится:

postfix/postfix-script: fatal: the Postfix mail system is not running

Повторный start выдает также:

postfix/postfix-script: starting the Postfix mail system

То есть кажется что postfix и не запущен вовсе.

Почему это может быть?

Сразу скажу что на сервере установлены и другие почтовые программы: Exim, Dovecot, Sendmail

Но они работают как-то криво и требуют много настроек, поэтому решил поставить postfix в самом простом варианте, где пользователи почты - это пользователи linux

2

Покажите логи работы postfix.

Был, был и весь вышел...

3

а где их взять, эти логи? В папке /var/ log их нет

4

Manul, какой logger установлен?
В директории /var/log/mail ничего похожего нет? Посмотрите так же файлы вида /var/log/maillog, /var/log/mail, /var/log/mail.log.

Был, был и весь вышел...

5

Таких файлов нет. Папка mail пустая.
Логер syslog-ng . Но в нем не было прописано ничего для postfix прописал в syslog-ng.conf конструкцию:

options { 
        chain_hostnames(off); 
        sync(0); 
        stats(43200); 
};

source src  { unix-stream("/dev/log"); internal(); pipe("/proc/kmsg"); };
filter info { level(debug, info, notice); };
filter warn { level(warn); };
filter err  { level(error); };

### Mail ###
destination mailall    { file("/var/log/mail/all"); };
filter      f_mailall  { facility(mail); };
log                    { source(src); destination(mailall); filter(f_mailall); };

destination mailinfo   { file("/var/log/mail/info"); };
filter      f_mailinfo { facility(mail); };
log                    { source(src); destination(mailinfo); filter(f_mailinfo); filter(info); };

destination mailwarn   { file("/var/log/mail/warnings"); };
filter      f_mailwarn { facility(mail); };
log                    { source(src); destination(mailwarn); filter(f_mailwarn); filter(warn); };

destination mailerr    { file("/var/log/mail/errors"); };
filter      f_mailerr  { facility(mail); };
log                    { source(src); destination(mailerr); filter(f_mailerr); filter(err); };
############

### Other ###
destination mess       { file("/var/log/syslog/messages"); };
filter      f_mess     { level(info..warn); };
log                    { source(src); destination(mess); filter(f_mess); };

destination alert      { file("/var/log/syslog/alerts"); };
filter      f_alert    { level(alert); };
log                    { source(src); destination(alert); filter(f_alert); };

destination emerg      { file("/var/log/syslog/emerg"); };
filter      f_emerg    { level(emerg); };
log                    { source(src); destination(emerg); filter(f_emerg); };
############

Но ни чего не изменилось. запускаю postfix - тоже самое, логов нет.

6

 Консоль:
/etc/init.d/postfix  start ; /etc/init.d/postfix  status

что выдает?

7

Ага, с логами разобрался кажется, сделал reboot и логи стали писаться.

Вот что пишет

Лог info:

Oct 25 22:58:02 5097 postfix/postfix-script[32581]: starting the Postfix mail system

Лог all:

Oct 25 22:58:02 5097 postfix/postfix-script[32581]: starting the Postfix mail system
Oct 25 22:58:02 5097 postfix/master[32599]: fatal: bind 0.0.0.0 port 25: Address already in use
Oct 25 22:58:17 5097 postfix/postfix-script[1770]: fatal: the Postfix mail system is not running

8 (25.10.2010 23:14:58 отредактировано Manul)

Macumazan пишет:

 Консоль:
/etc/init.d/postfix  start ; /etc/init.d/postfix  status

что выдает?

Выдает:

bash: /etc/init.d/postfix: No such file or directory

То есть postfix'а там и нет.  Однако папка postfix в /etc присутствует и кроме  конфигов и прочих подобных файлов содержит ещё 2:
post-install и postfix-script что это за файлы? возможно они как то нужны для установки? может не доделал чего я?

9 (25.10.2010 23:36:12 отредактировано Macumazan)

А если?

 Консоль:
equery f postfix | sed -n /etc/p

К тому же , что -то висит на 25 порту, наверное sendmail, exim, etc...

10

Macumazan пишет:

А если?

 Консоль:
equery f postfix | sed -n /etc/p

К тому же , что -то висит на 25 порту, наверное sendmail, exim, etc...

Не выдает вообще ничего.

Exim не запущен, а команда sendmail stop повисает. Может и правда в нем дело, но как его остановить или удалить вообще?

11

Покажите

emerge -pv  mail-mta/postfix
equery f  mail-mta/postfix | grep etc
netstat -pan --inet
Был, был и весь вышел...

12

Вот результаты:

 Консоль:

5097 webmaster # emerge -pv  mail-mta/postfix
ParseError: Invalid token '${.CURDIR:N*/usr/ports/mail/exim}' (not '='): /etc/make.conf: line 22 in /etc/make.conf
5097 webmaster # equery f  mail-mta/postfix | grep etc
5097 webmaster # netstat -pan --inet
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN     24306/xinetd
tcp        0      0 0.0.0.0:56221           0.0.0.0:*               LISTEN     20366/rpc.statd
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN     23989/mysqld
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     20326/portmap
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN     24306/xinetd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     24094/sshd
tcp        0      8 89.104.72.42:25         41.205.2.174:2565       ESTABLISHED26286/exim
tcp        0    148 89.104.72.42:22         195.98.170.242:63503    ESTABLISHED13436/sshd: webmast
udp        0      0 0.0.0.0:111             0.0.0.0:*                          20326/portmap
udp        0      0 0.0.0.0:33167           0.0.0.0:*                          20366/rpc.statd
udp        0      0 0.0.0.0:614             0.0.0.0:*                          20366/rpc.statd

Похоже в make.conf надо что-то менять, там прописан exim, только вот что менять?

13

Manul пишет:

Похоже в make.conf надо что-то менять, там прописан exim, только вот что менять?

Двадцать вторую строку  wink
Покажите /etc/make.conf на всякий случай.
Судя по всему, вам придётся выбирать, что оставить — exim или postfix.

Был, был и весь вышел...

14

sendmail через xinetd запускается, похоже.
В целом, креативная система получилась ag. Удаляйте все почтовые серверы и оставляйте один.

15

А как их удалить?

Dovecot мне возможно нужен, для подключения к почте через Microsoft Outlook по протоколу POP3, или можно как-то обойтись только postfix?

16

Круговорот почты в сети, или Архитектура современных почтовых систем Рекомендую к прочтению, а то разговор становится тяжело поддерживать.

17

Спасибо! Со статьей ознакомился, теперь понятно какую функцию выполняет postfix в данном случае и для чего понадобится dovecot. Тут вопросов не возникло, но есть проблема при удалении sendmail и exim. Для того чтобы воспользоваться возможностью удаления - поставил rpm, но ни одна команда там не работает и возвращает bash: rpm: command not found

 Консоль:

5097 webmaster # rpm -e sendmail
bash: rpm: command not found

В man rpm все команды есть. reboot не помогает. Что же я делаю не так?

18

Manul пишет:

Для того чтобы воспользоваться возможностью удаления - поставил rpm, но ни одна команда там не работает и возвращает bash: rpm: command not found

Вы уверены, что у вас Gentoo?  oO

Был, был и весь вышел...

19 (30.10.2010 18:43:26 отредактировано Manul)

Да по тех. описанию Gentoo

Вообще у меня VPS на Хостинг-Центре, вот ссылка на описание:
http://www.hc.ru/ru/services/hosting/vps/

P.S. Проверил в панели управления, да Gentoo стоит. а что не так? а кроме rpm как-нибудь можно удалять пакеты?

20

Manul пишет:

Вообще у меня VPS на Хостинг-Центре, вот ссылка на описание:
http://www.hc.ru/ru/services/hosting/vps/

Там возможны варианты.
Проверьте, есть ли у вас файл /etc/gentoo-release. Тогда можно будет общаться более предметно.

Был, был и весь вышел...

21

Manul пишет:

P.S. Проверил в панели управления, да Gentoo стоит. а что не так? а кроме rpm как-нибудь можно удалять пакеты?

Не обижайтесь, пожалуйста, но вы читали какую-либо документацию по Gentoo? Я имею ввиду, в первую очередь, Gentoo Handbook.
Я могу вам подсказать, как удалить sendmail, но... восстанавливать систему потом вам.

Был, был и весь вышел...

22 (30.10.2010 19:17:23 отредактировано Manul)

Lupo Alberto пишет:
Manul пишет:

P.S. Проверил в панели управления, да Gentoo стоит. а что не так? а кроме rpm как-нибудь можно удалять пакеты?

Не обижайтесь, пожалуйста, но вы читали какую-либо документацию по Gentoo? Я имею ввиду, в первую очередь, Gentoo Handbook.
Я могу вам подсказать, как удалить sendmail, но... восстанавливать систему потом вам.

Если честно детально не читал конечно. А на счет sendmail подскажите пожалуйста. Базы данных и контент сайта стоящего на нем сделаю бекап, а на случай падения системы всегда можно в службе тех. поддержки запросить резервную копию или возврат к первоначальным настройкам.

23

Lupo Alberto пишет:
Manul пишет:

Вообще у меня VPS на Хостинг-Центре, вот ссылка на описание:
http://www.hc.ru/ru/services/hosting/vps/

Там возможны варианты.
Проверьте, есть ли у вас файл /etc/gentoo-release. Тогда можно будет общаться более предметно.

Да файл такой имеется но он пустой

24

Покажите

emerge --info
Был, был и весь вышел...

25 (30.10.2010 20:29:37 отредактировано Manul)

Вот результат:

 Консоль:

ParseError: Invalid token '${.CURDIR:N*/usr/ports/mail/postfix}' (not '='): /etc/make.conf: line 22 in /etc/make.conf

Пробовал закоментировать ошибочную строку, тогда выдает вот что:

 Консоль:

ParseError: Invalid token 'None' (not '='): /etc/make.conf: line 42 in /etc/make.conf

Вот весь make.conf

# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example


CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

DISTDIR="/usr/local/portage/distfiles"
PKGDIR="/usr/local/portage/packages"
PORTAGE_TMPDIR="/usr/local/portage/tmp"
#ACCEPT_KEYWORDS="~x86"

USE="apache2 bzip2 curl ithreads mysql nptl nptlonly postgres syslog threads truetype unicode xml -ipv6 -acl -ldap -gdbm -gpm"

FEATURES="parallel-fetch userfetch userpriv"
APACHE2_MPMS="prefork"



# Опции сборки для Exim
#.if ${.CURDIR:N*/usr/ports/mail/postfix} == ""
# Какие аутентификаторы сможет использовать Exim
WITH_AUTH_DOVECOT=YES
WITHOUT_PAM=YES
WITHOUT_AUTH_PLAINTEXT=YES
WITHOUT_AUTH_CRAM_MD5=YES
WITHOUT_AUTH_LOGIN=YES
WITHOUT_AUTH_SPA=YES
WITHOUT_AUTH_SASL=YES
WITHOUT_AUTH_RADIUS=YES
WITHOUT_SASLAUTHD=YES
WITHOUT_PWCHECK=YES
# Какие базы данных сможет использовать Exim
WITH_MYSQL=YES
WITH_MYSQL_VER=50
WITHOUT_OPENLDAP=YES
WITHOUT_PGSQL=YES
WITHOUT_SQLLITE=YES
.endif

Комменты для Exim т.к. при установке postfix поменял только директорию  (ранее было /usr/ports/mail/exim и также выдавало ошибку в строке 22)

26

Manul пишет:

#.if ${.CURDIR:N*/usr/ports/mail/postfix} == ""

.endif

Удалите эти строки.

Был, был и весь вышел...

27

# Опции сборки для Exim
#.if ${.CURDIR:N*/usr/ports/mail/postfix} == ""
# Какие аутентификаторы сможет использовать Exim
WITH_AUTH_DOVECOT=YES
WITHOUT_PAM=YES
WITHOUT_AUTH_PLAINTEXT=YES
WITHOUT_AUTH_CRAM_MD5=YES
WITHOUT_AUTH_LOGIN=YES
WITHOUT_AUTH_SPA=YES
WITHOUT_AUTH_SASL=YES
WITHOUT_AUTH_RADIUS=YES
WITHOUT_SASLAUTHD=YES
WITHOUT_PWCHECK=YES
# Какие базы данных сможет использовать Exim
WITH_MYSQL=YES
WITH_MYSQL_VER=50
WITHOUT_OPENLDAP=YES
WITHOUT_PGSQL=YES
WITHOUT_SQLLITE=YES
.endif

А откуда это в /etc/make.conf ? Вы Gentoo с FreeBSD не спутали?  wink

Был, был и весь вышел...

28 (30.10.2010 21:45:27 отредактировано Manul)

Lupo Alberto пишет:

Покажите

emerge --info

Portage 2.1.6.7 (unavailable, gcc-4.1.2, glibc-2.6.1-r0, 2.6.18-194.3.1.el5.028stab069.6 i686)
=================================================================
System uname: Linux-2.6.18-194.3.1.el5.028stab069.6-i686-Intel-R-_Xeon-R-_CPU_E5405_@_2.00GHz-with-glibc2.0
Timestamp of tree: Unknown
dev-lang/python:     2.5.2-r7
sys-devel/autoconf:  2.63
sys-devel/automake:  1.5, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/local/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
PKGDIR="/usr/local/portage/packages"
PORTAGE_TMPDIR="/usr/local/portage/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="apache2 bzip2 curl ithreads mysql nptl nptlonly postgres syslog threads truetype unicode xml"
Unset:  ACCEPT_KEYWORDS, EMERGE_DEFAULT_OPTS, PORTDIR_OVERLAY

А строки эти вроде бы я залил туда, когда Exim пытался настроить с самого начала.  Удаляю их.

29

Manul, да, это Gentoo, достаточно «древняя», правда  wink
Рекомендованную книгу всё же прочтите.
Перед тем, как удалить какой-либо пакет, выполните

emerge -pv --depclean ПАКЕТ

Если ничего «страшного» не пишет, выполните

emerge -C ПАКЕТ

После удаления пакета, может остаться много ненужных зависимых пакетов и библиотек. Чтобы от них избавится, сначала выполните

emerge -pv --depclean

Если уверены, что они вам не нужны, запустите
Команда потенциально очень опасная!

emerge --depclean
Был, был и весь вышел...

30 (31.10.2010 12:34:00 отредактировано Manul)

Вот результат:

5097 www #  emerge -pv --depclean sendmail


!!! /etc/make.profile is not a symlink and will probably prevent most merges.
!!! It should point into a profile within /usr/portage/profiles/
!!! (You can safely ignore this message when syncing. It's harmless.)


!!! If you have just changed your profile configuration, you should revert
!!! back to the previous configuration. Due to your current profile being
!!! invalid, allowed actions are limited to --help, --info, --sync, and
!!! --version.
5097 www # emerge -C sendmail


!!! /etc/make.profile is not a symlink and will probably prevent most merges.
!!! It should point into a profile within /usr/portage/profiles/
!!! (You can safely ignore this message when syncing. It's harmless.)


!!! If you have just changed your profile configuration, you should revert
!!! back to the previous configuration. Due to your current profile being
!!! invalid, allowed actions are limited to --help, --info, --sync, and
!!! --version.

Что-то не то в общем-то...