Wéi Setup e Komplett Mail Server (Postfix) mat Roundcube (Webmail) op Ubuntu/Debian


E Mail-Server op Linux ugedriwwen Maschinnen erstellen kann ee vun de wesentlechste Saachen sinn, déi all Systemadministrator muss maachen, wann Dir d'Server fir d'éischte Kéier konfiguréiert, wann Dir net wësst wat et heescht; et ass einfach, wann Dir eng Websäit wéi \example.com hutt, kënnt Dir en E-Mail Kont wéi \[email ” erstellen fir se ze benotzen fir ze schécken/ kritt einfach E-Mailen anstatt Servicer wéi Hotmail, Gmail, Yahoo Mail, etc.

An dësem Artikel léiere mir wéi Dir dat maacht andeems Dir de Postfix Mail Server mat der \Roundcube Webmail Applikatioun installéiert a seng Ofhängegkeeten op Debian 10/9 an Ubuntu 20.04/18.04/16.04 LTS Releases .

Op dëser Säit

  • Set en Hostnumm an Erstellt DNS Records fir Mail Domain
  • Apache, MariaDB, a PHP op Ubuntu installéieren
  • Postfix Mail Server op Ubuntu installéieren
  • Postfix Mail Server op Ubuntu testen
  • Dovecot IMAP a POP an Ubuntu installéieren
  • Roundcube Webmail an Ubuntu installéieren
  • Erstellt en Apache Virtual Host fir Roundcube Webmail
  • E-Mail Benotzer erstellen fir Zougang zu Mailen iwwer Roundcube ze kréien

1. Als éischt setzt e gültege FQDN (Fully Qualified Domain Name) Hostnumm fir Ären Ubuntu Server mat dem Hostnamectl Kommando wéi gewisen.

$ sudo hostnamectl set-hostname mail.linux-console.net

2. Als nächst musst Dir e MX an A records fir Är Domain an Ärem DNS Kontrollpanel addéieren, déi aner MTAs guidéiert datt Äre Mailserver mail.yourdomain. com Domain ass verantwortlech fir d'E-Mail Liwwerung.

MX record    @           mail.linux-console.net
mail.linux-console.net        <IP-address>

3. Fir e lafende Mailserver mat \Roundcube ze kreéieren, musse mir Apache2, MariaDB an PHP Packagen installéieren éischtens, fir dat ze maachen, lafen.

$ sudo apt-get update -y
$ sudo apt-get upgrade -y
$ sudo apt install apache2 apache2-utils mariadb-server mariadb-client php7.4 libapache2-mod-php7.4 php7.4-mysql php-net-ldap2 php-net-ldap3 php-imagick php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp php-net-smtp php-mail-mime php-net-idna2 mailutils

Op Debian 10/9 musst Dir de SURY PHP PPA Repository eroflueden an installéieren fir PHP 7.4 op Debian 10/9 z'installéieren wéi gewisen.

$ sudo apt -y install lsb-release apt-transport-https ca-certificates 
$ sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
$ echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
$ sudo apt update
$ sudo apt install apache2 apache2-utils mariadb-server mariadb-client php7.4 libapache2-mod-php7.4 php7.4-mysql php-net-ldap2 php-net-ldap3 php-imagick php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp php-net-smtp php-mail-mime php-net-idna2 mailutils

4. Postfix ass e Mail Transfer Agent (MTA) deen déi verantwortlech Software ass fir E-Mailen ze liwweren & ze kréien, et ass essentiell fir e komplette Mailserver ze kreéieren.

Fir et op Ubuntu/Debian oder souguer Mint z'installéieren, lafen:

$ sudo apt-get install postfix

Wärend der Installatioun gitt Dir gefrot fir den Typ vun der Mailkonfiguratioun ze wielen, wielt \Internet Site.

5. Gitt elo de komplett qualifizéierten Domain Numm deen Dir benotze wëllt fir E-Mailen ze schécken an ze kréien.

6. Eemol Postfix installéiert, fänkt et automatesch un an erstellt eng nei /etc/postfix/main.cf Datei. Dir kënnt d'Postfix Versioun an de Status vum Service verifizéieren mat de folgende Kommandoen.

$ postconf mail_version
$ sudo systemctl status postfix

7. Probéiert elo ze kontrolléieren datt Äre Mailserver um Port 25 verbënnt mat dem folgenden Kommando.

$ telnet gmail-smtp-in.l.google.com 25

Trying 74.125.200.27...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP k12si849250plk.430 - gsmtp

Den uewe genannte Message weist datt d'Verbindung erfollegräich etabléiert ass. Typ quit fir d'Verbindung zouzemaachen.

8. Dir kënnt och e Mail-Programm benotze fir E-Maile mat de folgende Kommando ze schécken an ze liesen.

$ mail [email 

Cc: 
Subject: Testing My Postfix Mail Server
I'm sending this email using the postfix mail server from Ubuntu machine

9. Dovecot ass e Mail Liwwerung Agent (MDA), et liwwert d'E-Maile vun/op de Mailserver, fir se z'installéieren, fuert de folgende Kommando aus.

$ sudo apt-get install dovecot-imapd dovecot-pop3d

10. Als nächst, restart den Dovecot Service mat dem folgenden Kommando.

$ sudo systemctl restart dovecot
OR
$ sudo service dovecot restart

11. Roundcube ass de Webmail-Server deen Dir benotzt fir E-Mailen op Ärem Server ze managen, et huet eng einfach Webinterface fir d'Aarbecht ze maachen, et kann personaliséiert ginn andeems Dir méi Moduler & Themen installéiert.

$ wget https://github.com/roundcube/roundcubemail/releases/download/1.4.8/roundcubemail-1.4.8.tar.gz
$ tar -xvf roundcubemail-1.4.8.tar.gz
$ sudo mv roundcubemail-1.4.8 /var/www/html/roundcubemail
$ sudo chown -R www-data:www-data /var/www/html/roundcubemail/
$ sudo chmod 755 -R /var/www/html/roundcubemail/

12. Als nächst musst Dir eng nei Datebank a Benotzer fir Roundcube erstellen an all Erlaabnis fir en neie Benotzer ginn fir an d'Datebank ze schreiwen.

$ sudo mysql -u root
MariaDB [(none)]> CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> CREATE USER [email  IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcube.* TO [email ;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit;

13. Als nächst importéiert d'initial Tabellen an d'Roundcube Datebank.

$ sudo mysql roundcube < /var/www/html/roundcubemail/SQL/mysql.initial.sql

14. Erstellt en Apache virtuelle Host fir Roundcube Webmail.

$ sudo nano /etc/apache2/sites-available/roundcube.conf

Füügt déi folgend Konfiguratioun derbäi.

<VirtualHost *:80>
  ServerName linux-console.net
  DocumentRoot /var/www/html/roundcubemail/

  ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
  CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <Directory /var/www/html/roundcubemail/>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

</VirtualHost>

15. Als nächst aktivéiert dëse virtuelle Host a lued den Apache fir d'Ännerungen nei.

$ sudo a2ensite roundcube.conf
$ sudo systemctl reload apache2

16. Dir kënnt elo op de Webmail zougräifen andeems Dir op http://yourdomain.com/roundcubemail/installer/ gitt.

16. Als nächst gitt op d'Datebankastellungen a füügt d'Datebankdetailer derbäi.

17. Nodeems Dir all Ännerungen gemaach hutt, erstellt eng config.inc.php Datei.

18. Nodeems Dir d'Installatioun an d'Finale Tester ofgeschloss hutt, läscht w.e.g. den Installateur Dossier a gitt sécher datt enable_installer Optioun an config.inc.php deaktivéiert ass .

$ sudo rm /var/www/html/roundcubemail/installer/ -r

19. Gitt elo op d'Login Säit a gitt de Benotzernumm an d'Passwuert vum Benotzer.

http://yourdomain.com/roundcubemail/

20. Fir de Roundcube Webmail ze benotzen, musst Dir en neie Benotzer erstellen, fir dat ze maachen, lafen.

$ sudo useradd myusername

Ersetzt \myusername mam Benotzernumm deen Dir wëllt, erstellt e Passwuert fir den neie Benotzer andeems Dir lafen.

$ sudo passwd myusername

21. Gitt elo zréck op d'Login Säit a gitt de Benotzernumm an d'Passwuert vum nei erstallten Benotzer.

Hutt Dir scho probéiert en E-Mail-Server ze kreéieren? Wéi ass et gaangen? Hutt Dir Roundcube oder all aner Mail Server scho benotzt? Wat mengs du doriwwer?