Podepnę się pod temat.
Otóż miałem wcześniej exim'a i tpop3d bez mysql i wszystko było oki. Domena nie była zarejestrowana - konta pocztowe działały tylko wewnątrz sieci. Przesiadłem się na wersję z wirtualnymi użytkownikami z mysql. Proftp-sql działa dobrze, tworzą się w /home/virtual/$domena/$user katalogi użytkowników.
Problem mam z pocztą w pliku errors mam błąd:
Oct 13 12:26:22 serwer tpop3d[1211]: quit: signal 11 post_fork = 1
Oct 13 12:26:22 serwer tpop3d[764]: net_loop: child process 1211 killed by signal 11 (shouldn't happen)
Wszystkie konta pocztowe tworzyłem w mailadminie i tam też odblokowałem ftp i sam ftp jak wcześniej pisałem działa.
tpop3d.conf
# Jesli masz tylko jedna domene i userrow wirtualnych wykorzystaj wpis ponizej
#listen-address: 0.0.0.0(domena.pl);tls=stls,/etc/mail/exim.crt,/etc/mail/exim.key \
# 0.0.0.0(domena.pl);tls=immediate,/etc/mail/exim.crt,/etc/mail/exim.key
max-children: 10
timeout-seconds: 30
# ten wpis traktujemy jako domyslny
listen-address: 0.0.0.0;tls=stls,/etc/mail/exim.crt,/etc/mail/exim.key \
0.0.0.0;tls=immediate,/etc/mail/exim.crt,/etc/mail/exim.key
#dla skrzynek systemowych ustawienia mbox i maildir (domyslnie mailbox)
mailbox: bsd:/var/spool/mail/$(user)
#mailbox: maildir:$(home)/Mailbox
# Wł±czmy możliwo¶ć zalogowania się via PAM, czyli dla normalnych
# lokalnych kont:
auth-pam-enable: yes
auth-pam-facility: tpop3d
auth-pam-mail-group: mail
#odhaszuj je¶li masz jedn± domenę i wirtualnych userow
#append-domain: yes
# Autoryzacja użytkowników z MySQL'a:
auth-mysql-enable: yes
auth-mysql-mail-group: mail
auth-mysql-hostname: localhost
auth-mysql-database: poczta
auth-mysql-username: poczta
auth-mysql-password: twoje_haslo
auth-mysql-pass-query: SELECT CONCAT('/var/spool/mail/','$(domain)','/', '$(local_part)'), CONCAT('{crypt_md5}', haslo), 'mail', 'maildir' FROM skrzynki WHERE nazwa = '$(local_part)' AND domena = '$(domain)'
auth-mysql-onlogin-query: UPDATE skrzynki SET polaczenie=CURDATE() WHERE nazwa='$(local_part)' and domena='$(domain)'
wycinek z exim.conf
########################################################################## #
# ABY przetestowac plik konfiguracyjny uruchom recznie polecenie ponizej #
# "exim -C /config/file.new -bV"). #
# #
########### IMPORTANT ########## IMPORTANT ########### IMPORTANT ###########
# Poł±czenie z baza
hide mysql_servers = "localhost/poczta/poczta/twoje_haslo"
# ewentualne uruchomienie spamassassin
#local_scan_path = /usr/lib/exim/local_scan/sa-exim.so
######################################################################
# MAIN CONFIGURATION SETTINGS #
######################################################################
# Adres IP (lub adresy) interfejsów, na których ma słuchać Exim
# - domy¶lnie słucha na wszystkich (0.0.0.0)
#local_interfaces = adres_ip
# Odpłotkuj powyższe i wpisz adres IP (lub adresy oddzielone dwukropkiem),
# je¶li chcesz, aby Exim pracował wył±cznie na konkretnych interfejsach.
# Przydaje się, je¶li mamy kilka publicznych adresów IP - warto wtedy ustawić Exima
# na innym adresie niż (S)NAT - je¶li który¶ z klientów zza NAT-u zacznie masowo
# wysyłać spam i znajdzie się na RBL-ach, to nasz serwer pozostanie "czysty",
# bo na czarnej li¶cie znajdzie się adres NAT-u, a nie Exima :)
#### powinno się też wtedy odpłotkować wpis "interface" i wpisać ten sam adres IP
#### w transporcie "remote_smtp" w sekcji "TRANSPORTS"
# porty nasluchujace i port tls
daemon_smtp_ports = 25:465
tls_on_connect_ports = 465
# Poniżej podajemy np. nasze IP, domenę i nazwę mx, czesto spamerzy usiłuj± sie przedstawiać jako my
# - to posłuży do ich odrzucania na etapie EHLO
MY_IP = 192.168.0.1
MY_DOM = abc.net
MY_MX = mail.abc.net
################################################################
############# Pełna nazwa domenowa serwera (FQDN) ##############
primary_hostname = abc.net
# Domena (lub kilka domen oddzielonych dwukropkiem) dla kont systemowych
domainlist system_domains = @ : abc.net
# Lista domen wirtualnych w mysql
domainlist mysql_local_domains = ${lookup mysql {SELECT nazwa FROM domeny WHERE nazwa="${domain}" AND alias=''}}
# Lista domen, które s± aliasami domenowymi
#domainlist mysql_alias_domains = ${lookup mysql {SELECT nazwa FROM domeny WHERE nazwa="${domain}" AND alias!=''}}
# Je¶li zdecydujesz korzystać z powyższego, należy dopisać (po dwukropku)
# +mysql_alias_domains do listy domen lokalnych "local_domains" (poniżej)
# oraz odpłotkować router "mysql_domain_alias" w sekcji "ROUTERS".
# lista domen lokalnych, czyli wszystkie domeny obsługiwane przez serwer ( w tym również "wirtualne" )
domainlist local_domains = +system_domains : +mysql_local_domains
# Je¶li twój serwer jest zapasowym MX-em dla jakich¶ domen - dopisz je tutaj,
# w przeciwnym razie NIE WPISUJ NIC, bo zrobisz sobie open-relay !!!!
domainlist relay_to_domains =
# je¶li masz zapasowe MX - dopisz je tutaj (nazwy albo IP, oddzielone dwukropkiem),
# w przeciwnym razie NIE DOPISUJ NIC, bo zrobisz sobie open-relay !!!!
hostlist relay_from_hosts = 127.0.0.1
######## GREYLISTING ########
# Zapłotkuj poniższ± linię, je¶li NIE chcesz używać greylistingu
GREYLIST_ENABLED=
# smtp baner
smtp_banner = +OK super.duper.baner.wyswietlany.w.naglowkach ready
# odwolanie do skanera antywirusowego, jesli z tego rezygnujesz - zapłotkuj też
# odpowiednie linie w acl_check_data w sekcji ACL CONFIGURATION
av_scanner = clamd:/var/lib/clamav/clamd.sock
#spamd_address = 127.0.0.1 783
# Domena, która będzie dodawana do adresu w przypadku, kiedy adres ten zawiera
# tylko czę¶ć lokaln± (bez domeny).
# Je¶li zostanie to zapłotkowane, to użyta będzie warto¶ć wpisana w "primary_hostname".
# W zasadzie dotyczy tylko maili generowanych lokalnie.
qualify_domain = abc.net
.
.
.
######################################################################
# TRANSPORTS CONFIGURATION #
######################################################################
# ORDER DOES NOT MATTER #
# Only one appropriate transport is called for each delivery. #
######################################################################
# A transport is used only when referenced from a router that successfully
# handles an address.
begin transports
# This transport is used for delivering messages over SMTP connections.
remote_smtp:
driver = smtp
# odpłotkuj poniższe i wpisz adres IP, je¶li ustawiłe¶ na pocz±tku konfigu opcję "local_interfaces"
#interface = Adres_IP
mysql_delivery:
driver = appendfile
# domy¶lny format przechowywania dla kont wirtualnych: maildir
# je¶li chcesz mbox - zapłotkuj poniższe 2 linie i odpłotkuj trzeci±
maildir_format = true
directory = /var/spool/mail/${domain}/${local_part}
# file = /var/spool/mail/${domain}/${local_part}
delivery_date_add
envelope_to_add
return_path_add
# This transport is used for local delivery to user mailboxes in traditional
# BSD mailbox format. By default it will be run under the uid and gid of the
# local user, and requires the sticky bit to be set on the /var/spool/mail directory.
# Some systems use the alternative approach of running mail deliveries under a
# particular group instead of using the sticky bit. The commented options below
# show how this can be done.
local_delivery:
driver = appendfile
# domy¶lny format przechowywania dla kont systemowych: mbox
# je¶li chcesz maildir - zapłotkuj poniższ± linię i odpłotkuj dwie kolejne
file = /var/spool/mail/$local_part
# maildir_format = true
# directory = /var/spool/mail/local/$local_part
delivery_date_add
envelope_to_add
return_path_add
group = mail
# mode = 0660
# This transport is used for handling pipe deliveries generated by alias or
# .forward files. If the pipe generates any standard output, it is returned
# to the sender of the message as a delivery error. Set return_fail_output
# instead of return_output if you want this to happen only when the pipe fails
# to complete normally. You can set different transports for aliases and
# forwards if you want to - see the references to address_pipe in the routers
# section above.
address_pipe:
driver = pipe
return_output
# This transport is used for handling deliveries directly to files that are
# generated by aliasing or forwarding.
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
# This transport is used for handling autoreplies generated by the filtering
# option of the userforward router.
address_reply:
driver = autoreply
Niestety nie mam na razie internetu by móc zaktualizować bazy. Moze ktoś wiec co jest nie tak z tpop3d, katalogi niby oki. Jak będzie potrzeba to wrzucę cały config exima.
Pakiety:
tpop3d-sql 1.5.3-3nnd
exim-sql 4.71-2nnd
mysql 5.0.41-1nnd
mailadmin 1.7-2nnd