Wyszukiwanie w witrynie

Zainstaluj kompletny serwer pocztowy z Postfixem i pocztą internetową w Debianie 9


W tym samouczku dowiesz się, jak zainstalować i skonfigurować kompletny serwer pocztowy z Postfix w wersji Debian 9. Omówi także sposób konfiguracji skrzynek pocztowych kont przy użyciu Dovecot w celu pobierania i tworzenia wiadomości poprzez protokół IMAP. Użytkownicy będą używać interfejsu Rainloop Webmail jako agenta użytkownika poczty do obsługi poczty.

Wymagania

  1. Minimalna instalacja Debiana 9
  2. Statyczny adres IP skonfigurowany dla interfejsu sieciowego
  3. Lokalna lub publicznie zarejestrowana nazwa domeny.

W tym samouczku użyjemy konta domeny prywatnej do konfiguracji serwera pocztowego skonfigurowanego wyłącznie za pomocą pliku /etc/hosts, bez żadnego serwera DNS zaangażowanego w obsługę rozpoznawania DNS.

Krok 1: Początkowa konfiguracja serwera pocztowego Postfix w Debianie

1. W pierwszym kroku zaloguj się na swój komputer przy użyciu konta z uprawnieniami roota lub bezpośrednio z użytkownikiem root i upewnij się, że Twój system Debian jest aktualny i zawiera najnowsze poprawki zabezpieczeń oraz wydania oprogramowania i pakietów , wydając następujące polecenie.

apt-get update 
apt-get upgrade 

2. W następnym kroku zainstaluj następujące pakiety oprogramowania, które będą używane do administrowania systemem, wydając poniższe polecenie.

apt-get install curl net-tools bash-completion wget lsof nano

3. Następnie otwórz plik /etc/host.conf do edycji w swoim ulubionym edytorze tekstu i dodaj następujący wiersz na początku pliku, aby rozpoznawanie DNS było prawidłowe najpierw przeczytaj plik hosts.

order hosts,bind
multi on

4. Następnie skonfiguruj FQDN swojego komputera i dodaj nazwę swojej domeny oraz systemową nazwę FQDN do pliku /etc/hosts. Użyj adresu IP systemu, aby rozwiązać nazwę domeny i nazwę FQDN, jak pokazano na poniższym zrzucie ekranu.

Zmień odpowiednio adres IP i domenę. Następnie uruchom ponownie komputer, aby poprawnie zastosować nazwę hosta.

hostnamectl set-hostname mail.linux-console.net
echo "192.168.0.102 linux-console.net mail.linux-console.net" >> /etc/hosts
init 6

5. Po ponownym uruchomieniu sprawdź, czy nazwa hosta została poprawnie skonfigurowana, wydając następującą serię poleceń. Nazwa domeny, FQDN, nazwa hosta i adres IP systemu powinny zostać zwrócone przez polecenie hostname.

hostname
hostname -s
hostname -f
hostname -A
hostname -i
cat /etc/hostname 

6. Sprawdź także, czy domena poprawnie odpowiada na zapytania lokalne, wydając poniższe polecenia. Pamiętaj, że domena nie będzie odtwarzana na zdalne zapytania wysyłane przez inne systemy w Twojej sieci, ponieważ nie korzystamy z serwera DNS.

Domena powinna jednak odpowiedzieć z innych systemów, jeśli ręcznie dodasz nazwę domeny do każdego pliku /etc/hosts. Należy także pamiętać, że rozpoznawanie DNS domeny dodanej do pliku /etc/hosts nie będzie działać za pomocą poleceń Host, nslookup ani dig.

getent ahosts mail.linux-console.net
ping linux-console.net
ping mail.linux-console.net

Krok 2: Zainstaluj serwer pocztowy Postfix na Debianie

7. Najważniejszym oprogramowaniem wymaganym do prawidłowego działania serwera pocztowego jest agent MTA. MTA to oprogramowanie zbudowane w architekturze serwer-klient, które odpowiada za przesyłanie poczty pomiędzy serwerami pocztowymi.

W tym przewodniku będziemy używać Postfix jako agenta przesyłania poczty. Aby zainstalować Postfix w Debianie z oficjalnych repozytoriów, wykonaj następujące polecenie.

apt-get install postfix

8. Podczas procesu instalacji Postfix zostaniesz poproszony o serię pytań. W pierwszym wierszu wybierz opcję Witryna internetowa jako ogólny typ konfiguracji Postfix i naciśnij klawisz [enter], aby kontynuować, a następnie dodaj nazwę swojej domeny do nazwy poczty systemowej, zgodnie z co pokazano na poniższych zrzutach ekranu.

Krok 3: Skonfiguruj serwer pocztowy Postfix na Debianie

9. Następnie utwórz kopię zapasową głównego pliku konfiguracyjnego Postfixa i skonfiguruj Postfix dla swojej domeny za pomocą poniższych poleceń.

cp /etc/postfix/main.cf{,.backup}
nano /etc/postfix/main.cf

Teraz skonfiguruj konfigurację Postfixa w pliku main.cf, jak pokazano.

See /usr/share/postfix/main.cf.dist for a commented, more complete version

smtpd_banner = $myhostname ESMTP
biff = no
appending .domain is the MUA's job.
append_dot_mydomain = no
readme_directory = no

See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
fresh installs.
compatibility_level = 2

TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mail.debian.lan

mydomain = debian.lan

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

#myorigin = /etc/mailname
myorigin = $mydomain

mydestination = $myhostname, $mydomain, localhost.$mydomain, localhost
relayhost = 
mynetworks = 127.0.0.0/8, 192.168.1.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
#inet_protocols = all
inet_protocols = ipv4

home_mailbox = Maildir/

SMTP-Auth settings
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

Zastąp zmienne moja nazwa_hosta, moja domena i moja sieć, aby dopasować je do własnych konfiguracji.

Możesz uruchomić polecenie postconf -n, aby zrzucić główny plik konfiguracyjny Postfixa i sprawdzić ewentualne błędy, jak pokazano na poniższym zrzucie ekranu.

postconf -n

10. Po skonfigurowaniu wszystkich konfiguracji zrestartuj demona Postfix, aby zastosować zmiany i sprawdź, czy usługa działa, sprawdzając, czy usługa główna Postfix jest powiązana z portem 25, uruchamiając polecenie netstat Komenda.

systemctl restart postfix
systemctl status postfix
netstat -tlpn

Krok 3: Przetestuj serwer pocztowy Postfix na Debianie

11. Aby sprawdzić, czy Postfix obsługuje przesyłanie poczty, najpierw zainstaluj pakiet mailutils, uruchamiając poniższe polecenie.

apt-get install mailutils

12. Następnie za pomocą narzędzia wiersza poleceń poczty wyślij wiadomość na konto root i sprawdź, czy poczta została pomyślnie przesłana, wydając poniższe polecenie w celu sprawdzenia kolejki poczty i wyświetlenia zawartości konta root Strona główna Katalog Maildir.

echo "mail body"| mail -s "test mail" root
mailq
mail
ls Maildir/
ls Maildir/new/
cat Maildir/new/[TAB]

13. Możesz także sprawdzić, w jaki sposób poczta została obsłużona przez usługę Postfix, sprawdzając zawartość pliku dziennika poczty, wydając poniższe polecenie.

tailf /var/log/mail.log

Krok 4: Zainstaluj i skonfiguruj Dovecot IMAP na Debianie

14. Agentem dostarczania poczty, którego będziemy używać w tym przewodniku do dostarczania wiadomości e-mail do skrzynek pocztowych lokalnych odbiorców, jest Dovecot IMAP. IMAP to protokół działający na portach 143 i 993 (SSL), który odpowiada za odczytywanie, usuwanie lub przenoszenie poczty pomiędzy wieloma klientami poczty e-mail.

Protokół IMAP wykorzystuje również synchronizację, aby zapewnić zapisanie kopii każdej wiadomości na serwerze i umożliwia użytkownikom tworzenie wielu katalogów na serwerze i przenoszenie wiadomości do tych katalogów w celu sortowania wiadomości e-mail.

Inaczej jest w przypadku protokołu POP3. Protokół POP3 nie pozwala użytkownikom na tworzenie wielu katalogów na serwerze w celu sortowania poczty. Do zarządzania pocztą masz tylko folder skrzynki odbiorczej.

Aby zainstalować serwer podstawowy Dovecot i pakiet Dovecot IMAP na Debianie, wykonaj następujące polecenie.

apt install dovecot-core dovecot-imapd

15. Po zainstalowaniu Dovecot w systemie otwórz poniższe pliki Dovecot do edycji i wprowadź następujące zmiany. Najpierw otwórz plik /etc/dovecot/dovecot.conf, wyszukaj i odkomentuj następujący wiersz:

listen = *, ::

16. Następnie otwórz plik /etc/dovecot/conf.d/10-auth.conf w celu edycji, zlokalizuj i zmień poniższe linie, aby wyglądały jak w poniższym fragmencie.

disable_plaintext_auth = no
auth_mechanisms = plain login

17. Otwórz plik /etc/dovecot/conf.d/10-mail.conf i dodaj następujący wiersz, aby użyć lokalizacji Maildir zamiast Format Mbox do przechowywania e-maili.

mail_location = maildir:~/Maildir

18. Ostatni plik do edycji to /etc/dovecot/conf.d/10-master.conf. Tutaj wyszukaj blok smtp-auth Postfix i wprowadź następującą zmianę:

Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
  mode = 0666
  user = postfix
  group = postfix
 }

19. Po dokonaniu wszystkich powyższych zmian zrestartuj demona Dovecot, aby odzwierciedlić zmiany, sprawdź jego status i sprawdź, czy Dovecot jest powiązany z portem 143, wydając poniższe polecenia.

systemctl restart dovecot.service 
systemctl status dovecot.service 
netstat -tlpn

20. Sprawdź, czy serwer pocztowy działa poprawnie, dodając nowe konto użytkownika do systemu i użyj polecenia telnet lub netcat, aby połączyć się z SMTP i wyślij nową pocztę do nowo dodanego użytkownika, jak pokazano w poniższych fragmentach.

adduser matie
nc localhost 25
ehlo localhost
mail from: root
rcpt to: matie
data
subject: test
Mail body
.
quit

21. Sprawdź, czy poczta dotarła do skrzynki pocztowej nowego użytkownika, wyświetlając zawartość katalogu domowego użytkownika, jak pokazano na poniższym zrzucie ekranu.

ls /home/test_mail/Maildir/new/

22. Możesz także połączyć się ze skrzynką pocztową użytkownika z wiersza poleceń za pośrednictwem protokołu IMAP, jak pokazano w poniższym fragmencie. Nowa wiadomość powinna pojawić się w skrzynce odbiorczej użytkownika.

nc localhost 143
x1 LOGIN matie user_password
x2 LIST "" "*"
x3 SELECT Inbox
x4 LOGOUT

Krok 5: Zainstaluj i skonfiguruj pocztę internetową w Debianie

23. Użytkownicy będą zarządzać swoimi e-mailami za pośrednictwem klienta Rainloop Webmail. Przed zainstalowaniem agenta użytkownika poczty Rainloop zainstaluj najpierw serwer Apache HTTP i następujące moduły PHP wymagane przez Rainloop, wydając następujące polecenie.

apt install apache2 php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-xml

24. Po zainstalowaniu serwera WWW Apache zmień ścieżkę katalogu na katalog /var/www/html/, usuń plik index.html i wydaj następujące polecenie, aby zainstalować usługę Rainloop Webmail.

cd /var/www/html/
rm index.html 
curl -sL https://repository.rainloop.net/installer.php | php

25. Po zainstalowaniu w systemie klienta poczty internetowej Rainloop przejdź do adresu IP swojej domeny i zaloguj się do interfejsu internetowego administratora Rainloop, korzystając z następujących domyślnych danych uwierzytelniających:

http://192.168.0.102/?admin
User: admin
Password: 12345

26. Przejdź do menu Domeny, naciśnij przycisk Dodaj domenę i dodaj ustawienia nazwy domeny, jak pokazano na poniższym zrzucie ekranu.

27. Po zakończeniu dodawania ustawień domeny wyloguj się z interfejsu administratora Ranloop i skieruj przeglądarkę na swój adres IP, aby zalogować się do klienta poczty internetowej za pomocą konta e-mail.

Po pomyślnym zalogowaniu się do poczty internetowej Rainloop powinieneś zobaczyć wiadomość e-mail wysłaną wcześniej z wiersza poleceń do folderu Skrzynka odbiorcza.

http://192.168.0.102
User: [email 
Pass: the matie password

27. Aby dodać nowego użytkownika, wydaj polecenie useradd z flagą -m w celu utworzenia katalogu domowego użytkownika. Ale najpierw upewnij się, że skonfigurowałeś zmienną ścieżki Maildir dla każdego użytkownika za pomocą następującego polecenia.

echo 'export MAIL=$HOME/Maildir' >> /etc/profile
useradd -m user3
passwd user3

28. Jeśli chcesz przekierować całą pocztę root na określone lokalne konto pocztowe w systemie, uruchom poniższe polecenia. Wszystkie wiadomości e-mail przekierowane lub przeznaczone na konto root zostaną przekazane do Twojego użytkownika poczty, jak pokazano na poniższym obrazku.

echo "root: test_mail" >> /etc/aliases
newaliases

To wszystko! Pomyślnie zainstalowałeś i skonfigurowałeś serwer pocztowy w swojej firmie, aby lokalni użytkownicy mogli komunikować się za pośrednictwem poczty elektronicznej. Jednak ten typ konfiguracji poczty nie jest w żaden sposób zabezpieczony i zaleca się jego wdrażanie tylko w przypadku małych konfiguracji w systemach i sieciach znajdujących się pod Twoją pełną kontrolą.