ngtools Napisano Wrzesień 26, 2011 Zgłoszenie Share Napisano Wrzesień 26, 2011 Postanowiłem stworzyć sobie mały serwer pocztowy. Zdecydowałem się ostatecznie na połączenie: postfix , dovecot, postfixadmin, baza danych z kontami na mysql (tabelestworzone przez postfixadmin'a). Wszystko na CentOS6. Jednak serwer nie działa. Pogubiłem się ze wstępną konfiguracją. Logi podczas połączenia z Outlooka: # tail -f /var/log/dovecot-debug.logSep 26 11:14:58 imap([email protected]): Debug: Effective uid=89, gid=89, home=/mail/biuro/ Sep 26 11:14:58 imap([email protected]): Debug: Home dir not found: /mail/biuro/ Sep 26 11:14:58 imap([email protected]): Debug: maildir++: root=/mail/biuro//Maildir, index=, control=, inbox=/mail/biuro//Maildir/.INBOX Sep 26 11:14:58 imap([email protected]): Debug: Namespace : Permission lookup failed from /mail/biuro//Maildir Sep 26 11:14:58 imap([email protected]): Debug: Namespace : Using permissions from /mail/biuro//Maildir: mode=0700 gid=-1 Sep 26 11:15:21 imap([email protected]): Debug: Effective uid=89, gid=89, home=/mail/biuro/ Sep 26 11:15:21 imap([email protected]): Debug: Home dir not found: /mail/biuro/ Sep 26 11:15:21 imap([email protected]): Debug: maildir++: root=/mail/biuro//Maildir, index=, control=, inbox=/mail/biuro//Maildir/.INBOX Sep 26 11:15:21 imap([email protected]): Debug: Namespace : Permission lookup failed from /mail/biuro//Maildir Sep 26 11:15:21 imap([email protected]): Debug: Namespace : Using permissions from /mail/biuro//Maildir: mode=0700 gid=-1 Uprawnienia do katalogu /mail gdzie będę przechowywał korespondencje: # ls -alF | grep mail drwxrwxrwt. 2 postfix postfix 4096 09-23 15:39 mail/ Konfig Dovecota: # dovecot -n # 2.0.beta6 (3156315704ef): /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-71.el6.i686 i686 CentOS Linux release 6.0 (Final) debug_log_path = /var/log/dovecot-debug.log first_valid_gid = 0 first_valid_uid = 0 info_log_path = /var/log/dovecot-info.log log_path = /var/log/dovecot.log mail_debug = yes mail_gid = postfix mail_location = maildir:~/Maildir:INBOX=~/Maildir/.INBOX mail_privileged_group = postfix mail_uid = postfix mbox_write_locks = fcntl passdb { args = /etc/dovecot-mysql.conf driver = sql } postmaster_address = [email protected] service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0600 user = postfix } user = $default_internal_user } ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem userdb { args = uid=postfix gid=postfix home=/mail/%n/ driver = static } Plik do bazy mysql: # cat /etc/dovecot-mysql.conf # dovecot ver = 1.0.7 - 1.1.3 compatible driver = mysql connect = host=/var/lib/mysql/mysql.sock dbname=postfix user=******** password=********* password_query = SELECT `username` as `user`, `password` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'; user_query = SELECT "" AS `home`, 93 AS `uid`, 93 AS `gid` FROM `mailbox` WHERE `username` = '%n@%d' AND `active`='1'; Z tym że nie wiem czy poprawna jest komenda user_query. Tabela w bazie mysql: mysql> show tables; +-----------------------+ | Tables_in_postfix | +-----------------------+ | admin | | alias | | alias_domain | | config | | domain | | domain_admins | | fetchmail | | log | | mailbox | | quota | | quota2 | | vacation | | vacation_notification | +-----------------------+ 13 rows in set (0.00 sec) Pomożecie ? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
morsik Napisano Wrzesień 26, 2011 Zgłoszenie Share Napisano Wrzesień 26, 2011 Sep 26 11:15:21 imap([email protected]): Debug: Home dir not found: /mail/biuro/ Ja bym sie najpierw przyjrzal temu Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
ngtools Napisano Wrzesień 28, 2011 Autor Zgłoszenie Share Napisano Wrzesień 28, 2011 Ja bym się najpierw przyjrzał temu Właśnie jest tak, że Dovecot najpierw sprawdza czy kontener istnieje , a jeśli nie to go tworzy :maildir++ I tu przy tworzeniu kontenera error. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Wrzesień 28, 2011 Zgłoszenie Share Napisano Wrzesień 28, 2011 I tu przy tworzeniu kontenera error.A Dovecot ma prawa do tworzenia katalogów w / (root directory)? czy /mail istnieje? A jeśli /mail istnieje, to czy Dovecot ma prawa tworzyć w nim podkatalogi? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
ngtools Napisano Wrzesień 29, 2011 Autor Zgłoszenie Share Napisano Wrzesień 29, 2011 A Dovecot ma prawa do tworzenia katalogów w / (root directory)? czy /mail istnieje? A jeśli /mail istnieje, to czy Dovecot ma prawa tworzyć w nim podkatalogi? Prawa do katalogu podałem wyżej. Na innym forum dostałem poradę by wyłączyć SELinux'a i pomogło. Skrzynka się utworzyła. W międzyczasie dużo zmieniałem w konfiguracji. Obecnie wygląda ona tak: Postfix: [[email protected]]# postconf -nbroken_sasl_auth_clients = yes config_directory = /etc/postfix home_mailbox = Maildir/ inet_interfaces = all mailbox_command = /usr/libexec/dovecot/deliver mailbox_transport = dovecot mydestination = $myhostname, $mydomain mydomain = domain.com myhostname = mail.domain.com mynetworks = 127.0.0.0/8 myorigin = $mydomain smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_authenticated_header = yes smtpd_sasl_path = private/auth smtpd_sasl_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_tls_CAfile = /etc/postfix/tls/ca.crt smtpd_tls_cert_file = /etc/postfix/tls/certificate.crt smtpd_tls_key_file = /etc/postfix/tls/priv.key smtpd_tls_loglevel = 3 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s smtpd_use_tls = yes virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf virtual_gid_maps = static:89 virtual_mailbox_base = /mail virtual_mailbox_domains = domain.com virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_minimum_uid = 0 virtual_transport = virtual virtual_uid_maps = static:89 Dovecot: [[email protected]]# dovecot -n# 2.0.beta6 (3156315704ef): /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-71.el6.i686 i686 CentOS Linux release 6.0 (Final) ext4 debug_log_path = /var/log/dovecot-debug.log first_valid_gid = 89 first_valid_uid = 89 info_log_path = /var/log/dovecot-info.log log_path = /var/log/dovecot.log login_greeting = mail.domain.com server ready. mail_debug = yes mail_gid = postfix mail_location = maildir:/mail/%u/:INBOX=/mail/%u/INBOX mail_privileged_group = postfix mail_uid = postfix mbox_write_locks = fcntl passdb { args = /etc/dovecot-mysql.conf driver = sql } postmaster_address = [email protected] service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } } service imap-login { inet_listener imaps { port = 993 } } ssl_ca = </etc/postfix/tls/ca.crt ssl_cert = </etc/postfix/tls/certificate.crt ssl_key = </etc/postfix/tls/priv.key userdb { args = uid=89 gid=89 home=/mail/%u/ driver = static } Teraz mam inne problemy: 1) maile się wysyłają ładnie, ale są oznaczane jako SMAP !! 2) Po podpięciu się Outlookiem do skrzynki nie odbieram maili. W katalogu skrzynki nic nie przybywa. W logach jedynie: Sep 29 12:15:18 dns postfix/local[11515]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled Sep 29 12:15:18 dns postfix/local[11509]: 7D62FE0721: to=<[email protected]>, relay=none, delay=3299, delays=3297/0.02/0/1.6, dsn=4.3.0, status=deferred (unknown mail transport error) Sep 29 12:16:17 dns postfix/pipe[11516]: fatal: missing user= command-line attribute Sep 29 12:16:17 dns postfix/pipe[11517]: fatal: missing user= command-line attribute Sep 29 12:16:18 dns postfix/local[11508]: warning: private/dovecot socket: malformed response Sep 29 12:16:18 dns postfix/master[10934]: warning: process /usr/libexec/postfix/pipe pid 11516 exit status 1 Sep 29 12:16:18 dns postfix/master[10934]: warning: /usr/libexec/postfix/pipe: bad command startup -- throttling Sep 29 12:16:18 dns postfix/local[11515]: warning: private/dovecot socket: malformed response Sep 29 12:16:18 dns postfix/master[10934]: warning: process /usr/libexec/postfix/pipe pid 11517 exit status 1 Sep 29 12:16:18 dns postfix/local[11508]: 789D2E0720: to=<[email protected]>, relay=none, delay=48239, delays=48177/1.6/0/60, dsn=4.3.0, status=deferred (unknown mail transport error) Sep 29 12:16:18 dns postfix/local[11515]: 06C70E071C: to=<[email protected]>, relay=none, delay=48360, delays=48297/1.6/0/61, dsn=4.3.0, status=deferred (unknown mail transport error) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
ngtools Napisano Wrzesień 29, 2011 Autor Zgłoszenie Share Napisano Wrzesień 29, 2011 Może Dovecot nie ma uprawnień do zapisywania danych w folderze skrzynki. Powienien je mieć ? Jak to zmienić ? [[email protected]]# ls -alF razem 28 drwx------ 5 postfix postfix 4096 09-28 22:18 ./ drwx------ 4 postfix postfix 4096 09-29 11:26 ../ drwx------ 2 postfix postfix 4096 09-28 22:10 cur/ -rw------- 1 postfix postfix 524 09-28 22:18 dovecot.index.log -rw------- 1 postfix postfix 51 09-28 22:18 dovecot-uidlist -rw------- 1 postfix postfix 0 09-28 22:10 maildirfolder drwx------ 2 postfix postfix 4096 09-28 22:18 new/ drwx------ 2 postfix postfix 4096 09-29 11:21 tmp/ Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Wrzesień 29, 2011 Zgłoszenie Share Napisano Wrzesień 29, 2011 Moze Dovecot nie ma uprawnien do zapisywania danych w folderze skrzynki. Powienien je miec ? Jak to zmienic ? Np. dodaj do grupy postfix i nadaj odpowiednie uprawnienia katalogom i podkatalogom. Prawa do katalogu podalem wyzej. Niby tak, ale nie podales czy katalog mail to /mail czy np. /abrakadabra/mail Na innym forum dostalem porade by wylaczyc SELinux'a i pomoglo. Najglupsza porada jaka slyszalem! Mówimy o serwerze, który bedzie wystawiony na zewnatrz i bedzie pelnil dosc istotna funkcje a nie o desktopowej stacji uzytkownika do grania w pasjansa. Jedyna zaleta takiej porady, to fakt, ze wiesz gdzie szukac zródla problemu. Sprawdz jakie bledy podaje SElinux (np. jako root: sealert -b - wyswietli przegladarke alarmów SElinux) i poczytaj jak utworzyc odpowiednie reguly/polityki, które pozwola postfiksowi na zgodne wspólzycie z SElinuksem. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
ngtools Napisano Wrzesień 30, 2011 Autor Zgłoszenie Share Napisano Wrzesień 30, 2011 Np. dodaj do grupy postfix i nadaj odpowiednie uprawnienia katalogom i podkatalogom. Dodałem usera Dovecot do grupy postfix. Uprawnienia do katalogu i podkatalogów /mail są na razie 777. Sprawdź jakie błędy podaje SElinux (np. jako root: sealert -b - wyświetli przeglądarkę alarmów SElinux) i poczytaj jak utworzyć odpowiednie reguły/polityki, które pozwolą postfiksowi na zgodne współżycie z SElinuksem. Włączyłem od nowa SELinux'a. Nie mam polecenia "sealert". Nie mogę również takowego doinstalować. Nie mogę teraz połączyć się Outlookiem do serwera smtp/imap. W logach /var/log/audit/audit.log mam: type=AVC msg=audit(1317369871.769:25): avc: denied { write } for pid=1746 comm="imap" name="mail" dev=dm-0 ino=1179649 scontext=unconfined_u:system_r:dovecot_t:s0 tcontext=system_u:object_r:default_t:s0 tclass=dir type=SYSCALL msg=audit(1317369871.769:25): arch=40000003 syscall=39 success=no exit=-13 a0=8e81800 a1=1c0 a2=e444d8 a3=8e81800 items=0 ppid=1710 pid=1746 auid=0 uid=89 gid=89 euid=89 suid=89 fsuid=89 egid=89 sgid=89 fsgid=89 tty=(none) ses=1 comm="imap" exe="/usr/libexec/dovecot/imap" subj=unconfined_u:system_r:dovecot_t:s0 key=(null) type=AVC msg=audit(1317369871.769:26): avc: denied { write } for pid=1746 comm="imap" name="mail" dev=dm-0 ino=1179649 scontext=unconfined_u:system_r:dovecot_t:s0 tcontext=system_u:object_r:default_t:s0 tclass=dir type=SYSCALL msg=audit(1317369871.769:26): arch=40000003 syscall=33 success=no exit=-13 a0=8e5b830 a1=2 a2=e444d8 a3=8e5b830 items=0 ppid=1710 pid=1746 auid=0 uid=89 gid=89 euid=89 suid=89 fsuid=89 egid=89 sgid=89 fsgid=89 tty=(none) ses=1 comm="imap" exe="/usr/libexec/dovecot/imap" subj=unconfined_u:system_r:dovecot_t:s0 key=(null) type=AVC msg=audit(1317369915.961:27): avc: denied { connectto } for pid=1747 comm="smtpd" path="/var/spool/postfix/private/auth" scontext=system_u:system_r:postfix_smtpd_t:s0 tcontext=unconfined_u:system_r:dovecot_t:s0 tclass=unix_stream_socket type=SYSCALL msg=audit(1317369915.961:27): arch=40000003 syscall=102 success=no exit=-13 a0=3 a1=bfbfa550 a2=c4cff4 a3=bfbfa62e items=0 ppid=1493 pid=1747 auid=4294967295 uid=89 gid=89 euid=89 suid=89 fsuid=89 egid=89 sgid=89 fsgid=89 tty=(none) ses=4294967295 comm="smtpd" exe="/usr/libexec/postfix/smtpd" subj=system_u:system_r:postfix_smtpd_t:s0 key=(null) uid/gid=89 - postfix Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@WalDo Napisano Wrzesień 30, 2011 Zgłoszenie Share Napisano Wrzesień 30, 2011 Nie mam polecenia "sealert". Polecam zapoznanie się z poleceniem yum → http://wiki.fedora.pl/wiki/Zarz%C4%85dzanie_pakietami W tym przypadku pomaga yum provides */sealert Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi