Tutorial dotyczący utworzenia własnej poczty SMTPS + POP3S + IMAPS + Zarządzanie Xmailem / Obserwacja logów z poziomu GUI
+ dodatek1 ( na pewno się przyda ) – qnap jako DNS Server w Twojej sieci ! ( dnsmasq ).
+ dodatek2 – przygotowanie konkretnego adresu url, przez który będzie dostęp do PHPXmail tylko w sieci lokalnej Qnapa.
+ wisienka na torcie, czyli konfiguracja autoruna dla xmaila, dovecota i dnsmasq.
#WYMAGANIA
To rozwiazanie zostalo przetestowane na Qnap TS-251+ jak i TVS-EC880 na wersji oprogramowania QTS 4.3.3
#KONIEC WYMAGAN
#PREINSTALACJA
1. Aby nie wydziwać z nazwami typu „foo” lub „example” przyjmijmy, że mamy wykupioną domenę o nazwie „faniqnapa.com”. Nasz server QNAP jest dostępny lokalnie pod aresem IP 192.168.120.120.
2. Na samym początku nie możemy zapomnieć o tym, że musimy przygotować sobie tzw. MX Record, który należy sobie skonfigurować samodzielnie w zależności gdzie mamy wykupioną domenę, czy to na ovh czy home.pl czy gdziekolwiek. Jednakże każda z tych dostawców usług posiada swoje własne przykłady w jaki sposób takie MX Recordy tworzyć.
Załóżmy, że nasz MX Record będzie pod nazwą „mail.faniqnapa.com”.
3. Pisząc ten tutorial nie można również zapomnieć o tym, że XMail (nie wiem czy dovecot) nie posiada już wsparcia, lecz na własnym przykładzie mogę powiedzieć, że po prawie rocznym wypuszczeniu go przeze mnie „na zewnątrz” serwer stoi dalej.
4. Kolejnym ważnym elementem jest ustawienie w routerze przekierowania portów: 25, 465, 110, 995, 143, 993, które odpowiadają kolejno za SMTP, SMTPS, POP3, POP3S, IMAP, IMAPS na adres ip Qnapa, czyli 192.168.120.120.
( Oczywiście jeżeli chcesz działać tylko na połączeniach szyfrowanych to otwórz tylko porty do szyfrowanych połączeń ).
#KONIEC PREINSTALACJI
#INSTALACJA
Na początek instalacja Entware:
Install on QNAP NAS · Entware-ng/Entware-ng Wiki · GitHub
Wszystko co należy zrobić jest opisane na tej stronie. Czyli, pobieramy odpowiedni plik .qpkg, następnie przechodzimy do AppCenter i wybieramy „ręczną instalację”.
Instalacja XMail:
Następnie z konsoli Qnapa wpisujemy komendę:
Instalacja PHPXmail:
Kolejny krok to instalacja PHPXmail ze strony
https://sourceforge.net/projects/phpxmail/
Instalacja Dovecot:
Instalacja dnsmasq:
# KONIEC INSTALACJI
#KONFIGURACJA
#Zacznijmy od XMaila.
Po instalacji XMaila pojawi nam się paczka w folderze /opt/etc/.
Rozpakujmy ją.
Zróbmy na sam początek porządek z plikiem “xmail” w folderze MailRoot.
Otwórzmy go i podmieńmy następujące linie:
NA
Co oznaczają określone komendy? Odsyłam do dokumentacji XMaila: XMail mail server v 1.27 - W skrócie - wszystko co jest przydatne do poprawnego działania XMaila.
#PRZERYWNIK
Teraz tak. Powoli zaczynają nam się pojawiać dwie drogi dotyczące ustawień XMaila. Mianowicie praca z XMailem jako root lub jako non-root.
Ja opiszę metodę działania XMaila z konta admina(roota). Jeżeli natomiast uważasz, że nie jest to bezpieczny pomysł zapraszam na link: Python Buzz Forum - XMail No Root
Według mnie, jeśli nie udostępniasz SSH ani na zewnątrz ani wewnątrz dla nikogo plus z racji, ze aktualnie na xmaila exploitów zadnych nie ma to tą drogę możesz śmiało wybrać.
#KONIEC PRZERYWNIKA
Idziemy dalej.
Nadszedł czas, aby ustawić sobie konto administratora do zarządzania XMailem z poziomu GUI.
Przechodzimy do folderu bin.
Tworzymy sobie hasło do konta administratora:
W wyniku otrzymamy: 15041616120a1701
Jest to zahaszowane słowo „password”. Kopiujemy.
Następnie w folderze MailRoot znajduje się plik „ctrlaccounts.tab”
Umieszczamy w nim zawartość np.
,gdzie „admin” jest to login, oznacza tabulację i na koniec zahaszowane hasło.
Plik zapisujemy.
Następnie przechodzimy do edycji pliku „server.tab”. Można go edytować również z poziomu GUI (PHPXmail), lecz na początku wyedytujmy go w dowolnym edytorze, który mamy pod ręką.
Tutaj podam przykładową zawartość tego pliku, po której nasz server powinien poprawnie funkcjonować:
Plik zapisujemy. Prosze pamiętać, że tam gdzie jest napisane [tab] jest to znak tabulacji na klawiaturze, miedzy tabulatorami nie ma zadnych spacji.
Ustawienia SSL XMaila.
Przechodzimy do folder MailRoot.
Tworzymy klucz prywatny oraz certyfikat:
W folderze MailRoot tworzymy katalog “certs”
I przenosimy do niego plik CERTS.csr
Następnie pobieramy pliki c_rehash i c_rehash.in
( które załączyłem tutaj:
c_rehash | openload
c_rehash.in | openload
) i przenosimy je do katalogu /etc/ssl/misc/
Pamiętajmy aby nadać im prawa wykonywalne, czyli:
Odpalamy:
Już prawie koniec.
Edytujemy plik pop3link.tab, który znajduje się w folderze MailRoot. Przypuśćmy, że już wcześniej założyliśmy konto mailowe ( które można zrobić z poziomu PHPXMail, ale jeszcze nie zrobiliśmy bo nie powiedziałem jak skonfigurować PHPXMail ) o adresie mailowym postmaster@faniqnapa.com.
A więc edytujemy:
, gdzie kolejno wpisalismy adres hosta, login do zarzadzania xmailem, adres POP3S, nazwa konta mailowego, zahaszowane haslo do konta mailowego NIE do admina!! I na koniec cos tam, nie pamiętam niestety, odsyłam do dokumentacji Xmaila.
Już naprawdę koniec.
Restart XMaila.
LUB gdy xmail jest wlaczony szukamy procesu
# Konfiguracja PHPXMail + Apache
Na początku przenosimy folder z phpxmailem do folderu Web np.
Ustawiamy sobie ładny adres url dla phpxmaila.
Możemy to uczynic na dwa sposoby. Pierwszy to z poziomu GUI panelu sterowania qnapa lub przez SSH.
Wybieram opcje przez SSH i tylko korzystania z niej, ponieważ gdy raz wprowadzicie coś przez SSH a potem dodacie coś z GUI qnapa to to co dodacie z ssh trafia szlag, w sensie się usuwa.
Czyli edytujemy plik /mnt/HDA_ROOT/.config/apache/extra/httpd-vhosts-user.conf i wpisujemy w nim np.:
Plik zapisujemy i restartujemy Apacha:
LUB jak kto woli
( Druga komenda lepsza, bo restartuje tylko apache I nie robi kilku według mnie innych zbednych rzeczy, które Qnap Corp. sobie wymyślił. Mówiąc krócej, druga komenda jest po prostu szybsza).
Następnie przechodzimy do katalogu phpxmail:
I edytujemy ( lub tworzymy ) plik „servers.php” i zapisujemy w nim:
,gdzie kolejno wpisalismy nazwe, adres ip hosta, port wykorzystywany przez xmail do logowania, zahaszone haslo do admina I liczbe 0 ktora nie pamietam co oznacza.
W tym momencie to na tyle jeżeli chodzi o phpxmail, lecz w tym momencie niezbedna jest konfiguracja dnsmasq żeby wszystko ladnie zadzialalo.
#Konfiguracja Servera DNS – dnsmasq
Teraz tak. Jest masa różnych opcji. Odsyłam do dokumentacji. Ja przedstawię zawartość pliku dnsmasq.conf przy której powinien poprawnie dzialac server dns.
Plik dnsmasq.conf znajduje się w katalaogu /opt/etc/ , usuwamy wszystko i podmieniamy na:
Tutaj wazne rzeczy. Sprawdzic adres ip czy sie zgadza, czy interfejs dobry i utworzyc plik /opt/etc/hosts , w ktorym dodac:
Startujemy z dnsmasq’iem:
Jeśli wyświetli się na czerwono “Fail” sprobowac jeszcze raz z opcja “restart”.
#Konfiguracja routera
W tym miejscu należy pamietac żeby w ustawieniach routera zmienić adres serwera dns na adres ip qnapa, czyli w naszym przypadku na 192.168.120.120 lub można tez to zrobić u siebie na komputerze w Windowsie recznie żeby przetestować czy działa. Jak to zrobić odsyłam na google – prosta sprawa.
W tym miejscu powinnismy mieć dostep do PHPXMaila z http po adresie phpxmail.faniqnapa.com a także dzialajacy server SMTPS + POP3S.
# Konfiguracja Dovecota ( IMAPS )
Na początku pobierzmy plik xmail2dovecot.php ze strony: Info - xmail
Jest tam również wyjaśnione gdzie go umieścić i w jaki sposób uruchomić. Należy pamiętać żeby przed uruchomieniem edytować ten plik!!! Na samym początku należy podac odpowiednie dane w sekcji configuration. Aby nikt nie miał problemów z tym punktem przedstawiam przykladowa konfiguracje pliku xmail2dovecot.php
Teraz, z racji, że dovecot nie pozwala nam siebie uruchamiać jako root musimy stworzyć użytkownika i grupe:
Stworzmy rowniez katalog, gdzie beda znajdowaly sie logi dovecota:
W katalogu /opt/etc/dovecot powinien znajdować się plik dovecot.conf, jeśli nie tworzymy go i wpisujemy w nim (tutaj również przykladowa konfiguracja tak, aby poprawnie dzialal IMAPS):
Proszę zauważyć ze znajduje się tam nazwa typu „kontadovecot.tab” taka nazwa pliku musi zostać wygenerowana podczas wywolania pliku xmail2dovecot.php, czyli:
I teraz trzeba wykonać dwie komendy, które mogą trochę zaboleć, czyli:
ponieważ i admin jako XMail musi mieć dostep do maili jak i uzytkownik dovecot jako Dovecot musi mieć dostep do maili.
I na koniec odpalamy dovecota komendą:
LUB
# Konfiguracja Autorun
Dopisujemy do pliku /mnt/HDA_ROOT/.config/qpkg.conf zawartość np.:
Następnie tworzymy plik katalog autorun i plik autorun.sh
Tworzymy plik autorun.sh z zawartoscia:
Lub jesli nie zadziala to:
Restart QNAPA.
Powinno dzialac.
Wazna notka:
Przypominam, ze jezeli uzywamy POP3S lub IMAPS jestesmy zobowiazani przy kazdym dodaniu nowego konta mailowego na uzupelnienie w przypadku POP3 pliku pop3link.tab jak i w przypadku IMAPS na synchronizacje kont za pomocą pliku xmail2dovecot.php.
Oczywiście istnieje również możliwość robienia powyższych rzeczy automatycznie w przypadku dodawania nowych kont mailowych z PHPXMaila. Sprawa nie jest trudna i dla dociekliwych dam wskazówkę, że należy wykorzystać plik xmail2dovecot.php w plikach useradd.inc i uservars.inc w folderze phpxmail.
UWAGA
Tutorial napisany z głowy + z notatek.
Jeżeli pojawią się komuś gdzieś po drodze błędy to postaram się pomóc + będę update’ował tutoriala.
+ dodatek1 ( na pewno się przyda ) – qnap jako DNS Server w Twojej sieci ! ( dnsmasq ).
+ dodatek2 – przygotowanie konkretnego adresu url, przez który będzie dostęp do PHPXmail tylko w sieci lokalnej Qnapa.
+ wisienka na torcie, czyli konfiguracja autoruna dla xmaila, dovecota i dnsmasq.
#WYMAGANIA
To rozwiazanie zostalo przetestowane na Qnap TS-251+ jak i TVS-EC880 na wersji oprogramowania QTS 4.3.3
#KONIEC WYMAGAN
#PREINSTALACJA
1. Aby nie wydziwać z nazwami typu „foo” lub „example” przyjmijmy, że mamy wykupioną domenę o nazwie „faniqnapa.com”. Nasz server QNAP jest dostępny lokalnie pod aresem IP 192.168.120.120.
2. Na samym początku nie możemy zapomnieć o tym, że musimy przygotować sobie tzw. MX Record, który należy sobie skonfigurować samodzielnie w zależności gdzie mamy wykupioną domenę, czy to na ovh czy home.pl czy gdziekolwiek. Jednakże każda z tych dostawców usług posiada swoje własne przykłady w jaki sposób takie MX Recordy tworzyć.
Załóżmy, że nasz MX Record będzie pod nazwą „mail.faniqnapa.com”.
3. Pisząc ten tutorial nie można również zapomnieć o tym, że XMail (nie wiem czy dovecot) nie posiada już wsparcia, lecz na własnym przykładzie mogę powiedzieć, że po prawie rocznym wypuszczeniu go przeze mnie „na zewnątrz” serwer stoi dalej.
4. Kolejnym ważnym elementem jest ustawienie w routerze przekierowania portów: 25, 465, 110, 995, 143, 993, które odpowiadają kolejno za SMTP, SMTPS, POP3, POP3S, IMAP, IMAPS na adres ip Qnapa, czyli 192.168.120.120.
( Oczywiście jeżeli chcesz działać tylko na połączeniach szyfrowanych to otwórz tylko porty do szyfrowanych połączeń ).
#KONIEC PREINSTALACJI
#INSTALACJA
Na początek instalacja Entware:
Install on QNAP NAS · Entware-ng/Entware-ng Wiki · GitHub
Wszystko co należy zrobić jest opisane na tej stronie. Czyli, pobieramy odpowiedni plik .qpkg, następnie przechodzimy do AppCenter i wybieramy „ręczną instalację”.
Instalacja XMail:
Następnie z konsoli Qnapa wpisujemy komendę:
Kod:
# opkg update
# opkg install xmail
Instalacja PHPXmail:
Kolejny krok to instalacja PHPXmail ze strony
https://sourceforge.net/projects/phpxmail/
Instalacja Dovecot:
Kod:
# opkg update
# opkg install dovecot
Instalacja dnsmasq:
Kod:
# opkg update
# opkg install dnsmasq-full
# KONIEC INSTALACJI
#KONFIGURACJA
#Zacznijmy od XMaila.
Po instalacji XMaila pojawi nam się paczka w folderze /opt/etc/.
Rozpakujmy ją.
Kod:
# cd /opt/etc/
# mkdir MailRoot
# cd MailRoot
# tar xvjf /../MailRoot.tar.bz2
Zróbmy na sam początek porządek z plikiem “xmail” w folderze MailRoot.
Otwórzmy go i podmieńmy następujące linie:
Kod:
XMAIL_ROOT=/opt/var/MailRoot
XMAIL_CMD_LINE="-SX 1 -Qn 1 -Yt 1 -Ln 1 -PX 1 -CX 1"
Kod:
XMAIL_ROOT=/opt/etc/MailRoot
XMAIL_CMD_LINE="-Mr 24 -SX 2 -Qn 1 -Yt 1 -Yi 1 -Ln 1 -PX 1 -CX 2 -Ph -Ql -Sl -Pl -Yl -Fl -Cl -Ll -Pw 180 -Sp 25 -Pp 110 -Cp 6017"
Co oznaczają określone komendy? Odsyłam do dokumentacji XMaila: XMail mail server v 1.27 - W skrócie - wszystko co jest przydatne do poprawnego działania XMaila.
#PRZERYWNIK
Teraz tak. Powoli zaczynają nam się pojawiać dwie drogi dotyczące ustawień XMaila. Mianowicie praca z XMailem jako root lub jako non-root.
Ja opiszę metodę działania XMaila z konta admina(roota). Jeżeli natomiast uważasz, że nie jest to bezpieczny pomysł zapraszam na link: Python Buzz Forum - XMail No Root
Według mnie, jeśli nie udostępniasz SSH ani na zewnątrz ani wewnątrz dla nikogo plus z racji, ze aktualnie na xmaila exploitów zadnych nie ma to tą drogę możesz śmiało wybrać.
#KONIEC PRZERYWNIKA
Idziemy dalej.
Nadszedł czas, aby ustawić sobie konto administratora do zarządzania XMailem z poziomu GUI.
Przechodzimy do folderu bin.
# cd /opt/etc/MailRoot/bin
Tworzymy sobie hasło do konta administratora:
# XMCrypt password
W wyniku otrzymamy: 15041616120a1701
Jest to zahaszowane słowo „password”. Kopiujemy.
Następnie w folderze MailRoot znajduje się plik „ctrlaccounts.tab”
Umieszczamy w nim zawartość np.
admin <TAB> 15041616120a1701
,gdzie „admin” jest to login, oznacza tabulację i na koniec zahaszowane hasło.
Plik zapisujemy.
Następnie przechodzimy do edycji pliku „server.tab”. Można go edytować również z poziomu GUI (PHPXmail), lecz na początku wyedytujmy go w dowolnym edytorze, który mamy pod ręką.
Tutaj podam przykładową zawartość tego pliku, po której nasz server powinien poprawnie funkcjonować:
Kod:
"RootDomain" <TAB> "faniqnapa.com"
"SmtpServerDomain"<TAB>"mail.faniqnapa.com"
"POP3Domain"<TAB>"mail.faniqnapa.com"
"HeloDomain"<TAB> "mail.faniqnapa.com"
"RemoveSpoolErrors" <TAB> "0"
"Pop3LogPasswd"<TAB> "0"
"MaxMTAOps"<TAB> "16"
"ReceivedHdrType"<TAB> "0"
"FetchHdrTags" <TAB> "+X-Deliver-To,+Received,To,Cc"
"EnableCTRL-TLS"<TAB> "1"
"EnableSMTP-TLS"<TAB> "0"
"EnablePOP3-TLS"<TAB> "1"
"EnableAuthSMTP-POP3" <TAB> "0"
"SSLWantVerify"<TAB> "1"
"SSLAllowSelfSigned"<TAB>"0"
"SSLUseCertsFile"<TAB> "1"
"SSLUseCertsDir" <TAB> "1"
"DefaultSmtpPerms" <TAB> "MRVZ"
Plik zapisujemy. Prosze pamiętać, że tam gdzie jest napisane [tab] jest to znak tabulacji na klawiaturze, miedzy tabulatorami nie ma zadnych spacji.
Ustawienia SSL XMaila.
Przechodzimy do folder MailRoot.
# cd /opt/etc/MailRoot/
Tworzymy klucz prywatny oraz certyfikat:
Kod:
# openssl genrsa 2048 > server .key
# openssl req -new -x509 -key server .key -out server . cert -days 1095
# openssl req -new -key server .key -out CERTS .csr
W folderze MailRoot tworzymy katalog “certs”
# mkdir certs
I przenosimy do niego plik CERTS.csr
# mv CERTS.csr certs/
Następnie pobieramy pliki c_rehash i c_rehash.in
( które załączyłem tutaj:
c_rehash | openload
c_rehash.in | openload
) i przenosimy je do katalogu /etc/ssl/misc/
Pamiętajmy aby nadać im prawa wykonywalne, czyli:
Kod:
# mv c_rehash /etc/ssl/misc/
# mv c_rehash.in /etc/ssl/misc/
# chmod 755 /etc/ssl/misc/c_rehas*
Odpalamy:
# /etc/ssl/misc/c_rehash /opt/etc/MailRoot/certs
Już prawie koniec.
Edytujemy plik pop3link.tab, który znajduje się w folderze MailRoot. Przypuśćmy, że już wcześniej założyliśmy konto mailowe ( które można zrobić z poziomu PHPXMail, ale jeszcze nie zrobiliśmy bo nie powiedziałem jak skonfigurować PHPXMail ) o adresie mailowym postmaster@faniqnapa.com.
A więc edytujemy:
"faniqnapa.com"<TAB> "admin "<TAB>"mail.faniqnapa.com:995"<TAB>"postmaster@faniqnapa.com[EMAIL='postmaster@faniqnapa.com']"[/EMAIL]<TAB>"15041616120a1701"<TAB>"FAPOP ,POP3S"
, gdzie kolejno wpisalismy adres hosta, login do zarzadzania xmailem, adres POP3S, nazwa konta mailowego, zahaszowane haslo do konta mailowego NIE do admina!! I na koniec cos tam, nie pamiętam niestety, odsyłam do dokumentacji Xmaila.
Już naprawdę koniec.
Restart XMaila.
# /opt/etc/MailRoot/xmail restart
LUB gdy xmail jest wlaczony szukamy procesu
Kod:
# ps | grep xmail
# kill -9 numerprocesu
# /opt/etc/MailRoot/xmail start
# Konfiguracja PHPXMail + Apache
Na początku przenosimy folder z phpxmailem do folderu Web np.
# cp –R phpxmail /share /Web/
Ustawiamy sobie ładny adres url dla phpxmaila.
Możemy to uczynic na dwa sposoby. Pierwszy to z poziomu GUI panelu sterowania qnapa lub przez SSH.
Wybieram opcje przez SSH i tylko korzystania z niej, ponieważ gdy raz wprowadzicie coś przez SSH a potem dodacie coś z GUI qnapa to to co dodacie z ssh trafia szlag, w sensie się usuwa.
Czyli edytujemy plik /mnt/HDA_ROOT/.config/apache/extra/httpd-vhosts-user.conf i wpisujemy w nim np.:
Kod:
<VirtualHost *:80>
<Directory "/share/Web/phpxmail">
Options FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ServerName phpxmail.faniqnapa.com
DocumentRoot "/share/Web/phpxmail"
</VirtualHost>
Plik zapisujemy i restartujemy Apacha:
# /etc/init.d/Qthttpd.sh restart
LUB jak kto woli
# /usr/local/apache/bin/apachectl restart
( Druga komenda lepsza, bo restartuje tylko apache I nie robi kilku według mnie innych zbednych rzeczy, które Qnap Corp. sobie wymyślił. Mówiąc krócej, druga komenda jest po prostu szybsza).
Następnie przechodzimy do katalogu phpxmail:
# cd /share/Web/phpxmail/
I edytujemy ( lub tworzymy ) plik „servers.php” i zapisujemy w nim:
ServerNAS <TAB>127.0.0.1<TAB>6017<TAB>admin<TAB>15041616120a1701<TAB>0
,gdzie kolejno wpisalismy nazwe, adres ip hosta, port wykorzystywany przez xmail do logowania, zahaszone haslo do admina I liczbe 0 ktora nie pamietam co oznacza.
W tym momencie to na tyle jeżeli chodzi o phpxmail, lecz w tym momencie niezbedna jest konfiguracja dnsmasq żeby wszystko ladnie zadzialalo.
#Konfiguracja Servera DNS – dnsmasq
Teraz tak. Jest masa różnych opcji. Odsyłam do dokumentacji. Ja przedstawię zawartość pliku dnsmasq.conf przy której powinien poprawnie dzialac server dns.
Plik dnsmasq.conf znajduje się w katalaogu /opt/etc/ , usuwamy wszystko i podmieniamy na:
Kod:
# Change this line if you want dns to get its upstream servers from
# somewhere other that /etc/resolv.conf
#resolv-file=/etc/resolv.conf
server=8.8.8.8
# If you don't want dnsmasq to read /etc/resolv.conf or any other
# file, getting its servers from this file instead (see below), then
# uncomment this.
no-resolv
# If you don't want dnsmasq to poll /etc/resolv.conf or other resolv
# files for changes and re-read them then uncomment this.
no-poll
# If you want dnsmasq to change uid and gid to something other
# than the default, edit the following lines.
user=admin
group=administrators
# If you want dnsmasq to listen for DHCP and DNS requests only on
# specified interfaces (and the loopback) give the name of the
# interface (eg eth0) here.
# Repeat the line for more than one interface.
interface=br0
listen-address=192.168.120.120
# If you want dnsmasq to provide only DNS service on an interface,
# configure it as shown above, and then use the following line to
# disable DHCP and TFTP on it.
no-dhcp-interface=
# If you don't want dnsmasq to read /etc/hosts, uncomment the
# following line.
no-hosts
addn-hosts=/opt/etc/hosts
Tutaj wazne rzeczy. Sprawdzic adres ip czy sie zgadza, czy interfejs dobry i utworzyc plik /opt/etc/hosts , w ktorym dodac:
192.168.120.120 phpxmail.faniqnapa.com
Startujemy z dnsmasq’iem:
# /opt/etc/init.d/S56dnsmasq start
Jeśli wyświetli się na czerwono “Fail” sprobowac jeszcze raz z opcja “restart”.
#Konfiguracja routera
W tym miejscu należy pamietac żeby w ustawieniach routera zmienić adres serwera dns na adres ip qnapa, czyli w naszym przypadku na 192.168.120.120 lub można tez to zrobić u siebie na komputerze w Windowsie recznie żeby przetestować czy działa. Jak to zrobić odsyłam na google – prosta sprawa.
W tym miejscu powinnismy mieć dostep do PHPXMaila z http po adresie phpxmail.faniqnapa.com a także dzialajacy server SMTPS + POP3S.
# Konfiguracja Dovecota ( IMAPS )
Na początku pobierzmy plik xmail2dovecot.php ze strony: Info - xmail
Jest tam również wyjaśnione gdzie go umieścić i w jaki sposób uruchomić. Należy pamiętać żeby przed uruchomieniem edytować ten plik!!! Na samym początku należy podac odpowiednie dane w sekcji configuration. Aby nikt nie miał problemów z tym punktem przedstawiam przykladowa konfiguracje pliku xmail2dovecot.php
Kod:
$XMAILHOST = "localhost";
$XMAILADMINPORT = "6017";
$XMAILADMINUSERNAME = 'admin';
$XMAILADMINPASSWORD = 'password'; //put your xmail admin pwd
$CONFIGURED = 'YES';
Teraz, z racji, że dovecot nie pozwala nam siebie uruchamiać jako root musimy stworzyć użytkownika i grupe:
Kod:
# addgroup dovecot
# adduser -D -H -G dovecot dovecot
Stworzmy rowniez katalog, gdzie beda znajdowaly sie logi dovecota:
# mkdir /opt/var/log
W katalogu /opt/etc/dovecot powinien znajdować się plik dovecot.conf, jeśli nie tworzymy go i wpisujemy w nim (tutaj również przykladowa konfiguracja tak, aby poprawnie dzialal IMAPS):
Kod:
mail_location = maildir:/opt/etc/MailRoot/domains/%d/%n/Maildir
listen = *
mail_debug=yes
auth_verbose=yes
auth_debug=yes
auth default {
verbose = yes
mechanisms = plain
passdb {
driver = passwd-file
args = username_format=%u /opt/etc/MailRoot/kontadovecot.tab
}
userdb {
driver = passwd-file
args = username_format=%u /opt/etc/MailRoot/kontadovecot.tab
}
socket listen {
master {
# Master socket provides access to userdb information. It's typically
# used to give Dovecot's local delivery agent access to userdb so it
# can find mailbox locations.
path = /opt/var/run/dovecot/auth-master
mode = 0600
# Default user/group is the one who started dovecot-auth (root)
user = dovecot
group = dovecot
}
client {
# The client socket is generally safe to export to everyone. Typical use
# is to export it to your SMTP server so it can do SMTP AUTH lookups
# using it.
path = /opt/var/run/dovecot/auth-client
mode = 0660
user = dovecot
group = dovecot
}
}
}
auth_default_realm = faniqnapa.com
default_login_user = dovecot
login_chroot = no
login_dir = /opt/var/run/dovecot/login
ssl = yes
ssl_cert_file = /opt/etc/MailRoot/server.cert
ssl_key_file = /opt/etc/MailRoot/server.key
disable_plaintext_auth=no
info_log_path = /opt/var/log/dovecot-info.log
log_path = /opt/var/log/dovecot.log
last_valid_gid = 5000
last_valid_uid = 5000
first_valid_gid = 0
first_valid_uid = 0
protocols = imaps
Proszę zauważyć ze znajduje się tam nazwa typu „kontadovecot.tab” taka nazwa pliku musi zostać wygenerowana podczas wywolania pliku xmail2dovecot.php, czyli:
example: /opt/etc/MailRoot/bin/xmail2dovecot.php > /opt/etc/MailRoot/kontadovecot.tab
I teraz trzeba wykonać dwie komendy, które mogą trochę zaboleć, czyli:
Kod:
# chown –R /opt/etc/MailRoot/domains dovecot:dovecot
# chmod –R 777 /opt/etc/MailRoot/domains
ponieważ i admin jako XMail musi mieć dostep do maili jak i uzytkownik dovecot jako Dovecot musi mieć dostep do maili.
I na koniec odpalamy dovecota komendą:
# /opt/etc/init.d/S90dovecot start
LUB
# dovecot –c /opt/etc/dovecot/dovecot.conf
# Konfiguracja Autorun
Dopisujemy do pliku /mnt/HDA_ROOT/.config/qpkg.conf zawartość np.:
Kod:
[autorun]
Name = autorun
Version = 1.0
Author = Ciangi
Shell = /share/CACHEDEV1_DATA /autorun/autorun.sh
Install_Path = /share/CACHEDEV1_DATA/ autorun
Enable = TRUE
Następnie tworzymy plik katalog autorun i plik autorun.sh
Kod:
# mkdir /share/CACHEDEV1_DATA /autorun/autorun/
# cd /share/CACHEDEV1_DATA /autorun/autorun/
Tworzymy plik autorun.sh z zawartoscia:
Kod:
#!/bin/sh
/opt/etc/init.d/S56dnsmasq
/opt/etc/MailRoot/xmail start &
/opt/etc/init.d/S90dovecot
Lub jesli nie zadziala to:
Kod:
#!/bin/sh
eval "/opt/etc/init.d/S90dovecot"
eval "/opt/etc/MailRoot/xmail start &"
eval "/opt/etc/init.d/S56dnsmasq"
Restart QNAPA.
Powinno dzialac.
Wazna notka:
Przypominam, ze jezeli uzywamy POP3S lub IMAPS jestesmy zobowiazani przy kazdym dodaniu nowego konta mailowego na uzupelnienie w przypadku POP3 pliku pop3link.tab jak i w przypadku IMAPS na synchronizacje kont za pomocą pliku xmail2dovecot.php.
Oczywiście istnieje również możliwość robienia powyższych rzeczy automatycznie w przypadku dodawania nowych kont mailowych z PHPXMaila. Sprawa nie jest trudna i dla dociekliwych dam wskazówkę, że należy wykorzystać plik xmail2dovecot.php w plikach useradd.inc i uservars.inc w folderze phpxmail.
UWAGA
Tutorial napisany z głowy + z notatek.
Jeżeli pojawią się komuś gdzieś po drodze błędy to postaram się pomóc + będę update’ował tutoriala.