Как запустить голубятню?

Я создаю веб-сервер для размещения нескольких веб-сайтов. У меня все работает, кроме почтового сервера. Я использую linode для размещения своего vps и следую их инструкциям. К вашему сведению, я использую Ubuntu 11.10.

Вот ссылка, по которой я перешел: http://library.linode.com/email/postfix/dovecot-mysql-ubuntu-10.04-lucid. Я добрался до той части, где мне говорят перезапустить голубятню, поэтому я попробовал «перезапустить служебную голубятню». Но потом я получаю это «перезагрузка: неизвестный экземпляр:». Я вошел в систему как root, поэтому я не использую sudo.

Поскольку это не сработало, я попробовал "/etc/init.d/dovecot restart" и получил "dovecot start/running, process 4760". Итак, я пытаюсь "/etc/init.d/dovecot status" и получаю "dovecot stop/waiting".

Итак, я попробовал «запуск голубятни службы» и получил «запуск/работу голубятни, процесс 4781». Итак, я попытался получить статус, поэтому я устал от «статуса голубятни службы» и получил «остановку/ожидание голубятни».

Затем я устал "/etc/init.d/dovecot start" и получаю "dovecot start/running, process 4794". Итак, я устал получать статус, поэтому я устал от «/etc/init.d/dovecot status» и получил «dovecot stop/waiting»

Просто для забавы и смеха я устал убивать процесс, я использовал PID, который я получил, когда я сделал «service dovecot start», это была команда «kill -9 4444», и я получаю это «bash: kill: (4805) - Нет такого процесса"

Я делаю что-то неправильно?

--РЕДАКТИРОВАТЬ 1--

Ниже приведены журналы, найденные в /var/log/syslog и связанные с dovecot.

dovecot: master: Dovecot v2.0.13 starting up (core dumps disabled)
dovecot: ssl-params: Generating SSL parameters
dovecot: ssl-params: SSL parameters regeneration completed
dovecot: master: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
dovecot: config: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
dovecot: anvil: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
dovecot: log: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
kernel: init: dovecot main process (10276) terminated with status 89
kernel: init: dovecot main process (10289) terminated with status 89
kernel: init: dovecot main process (10452) terminated with status 89
kernel: init: dovecot main process (2275) terminated with status 89
kernel: init: dovecot main process (3028) terminated with status 89
kernel: init: dovecot main process (3216) terminated with status 89
kernel: init: dovecot main process (3230) terminated with status 89
kernel: init: dovecot main process (3254) terminated with status 89
kernel: init: dovecot main process (3813) terminated with status 89
kernel: init: dovecot main process (3845) terminated with status 89
kernel: init: dovecot main process (4664) terminated with status 89
kernel: init: dovecot main process (4760) terminated with status 89
kernel: init: dovecot main process (4781) terminated with status 89
kernel: init: dovecot main process (4794) terminated with status 89
kernel: init: dovecot main process (4805) terminated with status 89

--Редактировать 2 (/etc/dovecot/dovecot.conf)--

Ниже приведен файл dovecot.conf.

protocols = imap imaps pop3 pop3s
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n/Maildir

ssl_cert_file = /etc/ssl/certs/dovecot.pem
ssl_key_file = /etc/ssl/private/dovecot.pem

namespace private {
    separator = .
    prefix = INBOX.
    inbox = yes
}

protocol lda {
    log_path = /home/vmail/dovecot-deliver.log
    auth_socket_path = /var/run/dovecot/auth-master
    postmaster_address = postmaster@[mydomainname.com]
    mail_plugins = sieve
    global_script_path = /home/vmail/globalsieverc
}

protocol pop3 {
    pop3_uidl_format = %08Xu%08Xv
}

auth default {
    user = root

    passdb sql {
        args = /etc/dovecot/dovecot-sql.conf
    }

    userdb static {
        args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
    }

    socket listen {
        master {
            path = /var/run/dovecot/auth-master
            mode = 0600
            user = vmail
        }

        client {
            path = /var/spool/postfix/private/auth
            mode = 0660
            user = postfix
            group = postfix
        }
    }
}

-- Изменить 3 (/var/log/mail.log) --

Вот что находится в /var/log/mail.log

dovecot: master: Dovecot v2.0.13 starting up (core dumps disabled)
dovecot: ssl-params: Generating SSL parameters
postfix/master[9917]: daemon started -- version 2.8.5, configuration /etc/postfix
dovecot: ssl-params: SSL parameters regeneration completed
postfix/master[9917]: terminating on signal 15
postfix/master[10196]: daemon started -- version 2.8.5, configuration /etc/postfix
dovecot: master: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
dovecot: config: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
dovecot: anvil: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
dovecot: log: Warning: Killed with signal 15 (by pid=1 uid=0 code=kill)
postfix/master[2435]: daemon started -- version 2.8.5, configuration /etc/postfix
postfix/master[2435]: terminating on signal 15
postfix/master[2965]: daemon started -- version 2.8.5, configuration /etc/postfix

person samwell    schedule 29.11.2011    source источник
comment
Я следовал тому же учебнику, и у меня та же проблема, вы нашли решение?   -  person Allisone    schedule 03.01.2013
comment
Но мне также интересно... в учебнике говорится о dovecot-sql.conf, но есть только dovecot-sql.conf.ext (это пример файла или новое место для размещения строк конфигурации? )   -  person Allisone    schedule 03.01.2013
comment
И какое это имеет отношение к программированию?   -  person tink    schedule 22.02.2016


Ответы (5)


Это означает, что он запускается, пытается разобрать конфиг и терпит неудачу. Найдите в /var/log журнал, в котором накапливаются журналы dovecot, чтобы определить, в чем проблема. Какой это журнал, зависит от используемого вами дистрибутива Linux.

-- РЕДАКТИРОВАТЬ --

Статус 89 означает, что в конфиге ошибка, связанная с парсером. Пожалуйста, сначала проверьте, отключили ли вы все фигурные скобки {}. Это будет моя первая догадка.

person favoretti    schedule 29.11.2011
comment
Я использую Ubuntu 11.10. Журнал слишком большой, поэтому я добавил его в исходный пост. - person samwell; 30.11.2011
comment
Я добавил свой файл conf в исходный пост, он снова слишком велик. Судя по тому, что я вижу, у меня есть все мои брекеты. - person samwell; 30.11.2011
comment
Честно говоря, Dovecot плохо сообщает об ошибках. Проверьте разрешения для файлов /home/vmail, /var/run/dovecot, /var/spool/postfix/private/auth. Это еще одна ошибка, которая не дает полезного вербального вывода. - person favoretti; 30.11.2011
comment
Кроме того, используете ли вы sql в соответствии с примером, который вы указали в своем вопросе? Если да, то уверены ли вы, что dovecot-sql.conf содержит правильные данные? Очень сложно сказать, не взглянув на саму систему, но моя самая большая догадка здесь - разрешения и / или неправильная конфигурация где-то. - person favoretti; 30.11.2011
comment
Так как ты это исправил?? @самвелл - person AndrewL64; 08.08.2015

В качестве общего совета попробуйте запустить dovecot прямо на переднем плане:

голубятня -F

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

person Graham    schedule 24.05.2013
comment
Dovecot просто умирал и ничего не показывал в логах, это чуть не сводило меня с ума! Этот простой трюк заставил его выдать ошибку пути сертификата с ошибкой на консоль. - person Jujuba; 09.06.2014
comment
Upstart использует параметр -F IIRC, поэтому вы можете просто проверить содержимое /var/log/upstart/dovecot.log. - person CameronNemo; 01.07.2014
comment
Это и комментарий @CameronNemo были для меня точными. Это помогает определить конкретный файл конфигурации, в котором возникла проблема. Спасибо. - person SidewaysGravity; 24.08.2015

Учебное пособие от 9 мая 2010 г.
Глядя на журнал изменений голубятни, вы видите...
v1.2.6 2009-10-05 Последняя версия голубятни до этой даты
v2.0.rc1 2010-07-02 Следующая версия голубятни после этой даты

Таким образом, в учебнике, вероятно, будет использоваться конфигурация 1.x, а сейчас мы будем использовать dovecot 2.x.

Теперь я нашел это http://wiki2.dovecot.org/Upgrading/2.0
Далее к некоторой другой информации, он предоставляет способ конвертировать конфигурацию с 1.2 на 2.0.

Вот еще подробнее об обновлении http://wiki2.dovecot.org/Upgrading.

У меня нет решения, хотя (пока)

Изменить: (Решение)

В первую очередь необходимо также установить:

apt-get install dovecot-sieve  
apt-get install dovecot-managesieved  
apt-get install dovecot-mysql

если хотите, прочитайте советы по обновлению старой конфигурации 1.x http://wiki2.dovecot.org/Upgrading< /а>

Мой dovecot.conf:

log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n/Maildir
namespace {
  inbox = yes
  location = 
  prefix = INBOX.
  separator = .
  type = private
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
protocols = imap pop3
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-master {
    mode = 0600
    user = vmail
  }
  user = root
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
#userdb {
#  args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
#  driver = static
#}
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
protocol lda {
  auth_socket_path = /var/run/dovecot/auth-master
  log_path = /home/vmail/dovecot-deliver.log
  mail_plugins = sieve
  postmaster_address = [email protected]
  plugin {
    sieve_global_path = /var/vmail/globalsieverc
    # The include extension fetches the :personal scripts from this 
    # directory. When ManageSieve is used, this is also where scripts 
    # are uploaded.

    sieve_dir = ~/sieve

    # The location of the user's active script:

    sieve = ~/.dovecot.sieve

    # Directory for :global include scripts (for v1.1 include extension)

    sieve_global_dir = /var/vmail/sieve

    sieve_maxscriptsize = 128
  }
}
protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
}

Мой dovecot-db.conf.ext

driver = mysql
connect = host=127.0.0.1 dbname=mail user=mail_admin password=your_password
default_pass_scheme = PLAIN-MD5
#password_query = SELECT email as user, password FROM users WHERE email='%u';
#user_query = SELECT email as user, password, 5000 as uid, 5000 as gid, '/var/vmail/%d/%n' as home FROM view_users WHERE email='%u';
password_query = SELECT email AS user, password, 5000 AS userdb_uid, 5000 AS userdb_gid, '/var/vmail/%d/%n' AS userdb_home FROM users WHERE email = '%u';
user_query = SELECT email AS user, password, 5000 AS uid, 5000 AS gid, '/var/vmail/%d/%n' AS home FROM users WHERE email = '%u';

Также отредактируйте свой /etc/postfix/master.cf, чтобы он включал smtps (smtp с использованием SSL/TLS на 465). Мне пришлось активировать его, чтобы добраться до smtp из моего дома, потому что порт 25 был заблокирован от моего провайдера (это обычное дело). Также я предпочитаю smtp с защитой транспортного уровня.

smtps     inet  n       -       -       -       -       smtpd

и запустить service postfix restart


Источники:
Я собрал всю информацию об этом, погуглив, и не знаю, где я был везде, но последняя проблема

2013-01-03 16:43:27 lda: Error: userdb lookup([email protected]): Disconnected unexpectedly
2013-01-03 16:43:27 lda: Fatal: Internal error occurred. Refer to server log for more information.

Я решил прочитать некоторые из http://workaround.org/ispmail/lenny/configure-dovecot
В принципе, я обнаружил, что вы получаете хорошие результаты, когда вы гуглите любой результат ошибки, который вы получаете здесь:

/home/vmail/dovecot-deliver.log
/var/log/mail.log
/var/log/mail.err
/var/log/syslog
person Allisone    schedule 03.01.2013

Если в системном журнале не появляются соответствующие сообщения, а dovecot работает под управлением Upstart, ошибки конфигурации могут быть обнаружены в /var/log/upstart/dovecot.log.

Все кредиты на комментарий CameronNemo.

person mhsmith    schedule 22.02.2016

попробуй удалить пакет dovecot-postfix и файл /etc/dovecot/conf.d/99-*.conf мне помогло

person RouR    schedule 07.10.2013