Com configurar un servidor de correu complet (Postfix) mitjançant Roundcube (Webmail) a Ubuntu/Debian


La creació d'un servidor de correu en màquines que funcionen amb Linux pot ser una de les coses més essencials que tot administrador del sistema ha de fer mentre configura els servidors per primera vegada, si no sabeu què significa; és senzill, si teniu un lloc web com \example.com, podeu crear un compte de correu electrònic com \[email  per utilitzar-lo per enviar/ rebre correus electrònics fàcilment en lloc d'utilitzar serveis com Hotmail, Gmail, Yahoo Mail, etc.

En aquest article, aprendrem a fer-ho instal·lant el servidor de correu Postfix amb l'aplicació de correu web \Roundcube i les seves dependències a les versions Debian 10/9 i Ubuntu 20.04/18.04/16.04 LTS. .

En aquesta pàgina

  • Definiu un nom d'amfitrió i creeu registres DNS per al domini de correu
  • Instal·lació d'Apache, MariaDB i PHP a Ubuntu
  • Instal·lació del servidor de correu Postfix a Ubuntu
  • Provant el servidor de correu Postfix a Ubuntu
  • Instal·lació de Dovecot IMAP i POP a Ubuntu
  • Instal·lació de Roundcube Webmail a Ubuntu
  • Creeu un host virtual d'Apache per al correu web Roundcube
  • Creació d'usuaris de correu per accedir als correus mitjançant Roundcube

1. Primer, configureu un nom d'amfitrió FQDN (nom de domini totalment qualificat) vàlid per al vostre servidor Ubuntu mitjançant l'ordre hostnamectl tal com es mostra.

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

2. A continuació, heu d'afegir un registre MX i A per al vostre domini al vostre tauler de control DNS que guiï altres MTA que el vostre servidor de correu mail.yourdomain. com domini és responsable del lliurament del correu electrònic.

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

3. Per crear un servidor de correu en funcionament amb \Roundcube, haurem d'instal·lar els paquets Apache2, MariaDB i PHP primer, per fer-ho, córrer.

$ 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

A Debian 10/9, cal que baixeu i instal·leu el dipòsit SURY PHP PPA per instal·lar PHP 7.4 a Debian 10/9 tal com es mostra.

$ 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 és un agent de transferència de correu (MTA) que és el programari responsable de lliurar i rebre correus electrònics, és essencial per crear un servidor de correu complet.

Per instal·lar-lo a Ubuntu/Debian o fins i tot a Mint, executeu:

$ sudo apt-get install postfix

Durant la instal·lació, se us demanarà que escolliu el tipus de configuració de correu, trieu \Lloc d'Internet.

5. Ara introduïu el nom de domini complet que voleu utilitzar per enviar i rebre correus electrònics.

6. Un cop instal·lat Postfix, s'iniciarà automàticament i crearà un nou fitxer /etc/postfix/main.cf. Podeu verificar la versió i l'estat de Postfix del servei mitjançant les ordres següents.

$ postconf mail_version
$ sudo systemctl status postfix

7. Ara proveu de comprovar que el vostre servidor de correu s'està connectant al port 25 mitjançant l'ordre següent.

$ 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

El missatge anterior indica que la connexió s'ha establert correctament. Escriviu sortir per tancar la connexió.

8. També podeu utilitzar un programa de correu per enviar i llegir correus electrònics mitjançant l'ordre següent.

$ mail [email 

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

9. Dovecot és un agent de lliurament de correu (MDA), envia els correus electrònics des/al servidor de correu, per instal·lar-lo, executeu l'ordre següent.

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

10. A continuació, reinicieu el servei Dovecot mitjançant l'ordre següent.

$ sudo systemctl restart dovecot
OR
$ sudo service dovecot restart

11. Roundcube és el servidor de correu web que utilitzareu per gestionar els correus electrònics al vostre servidor, té una interfície web senzilla per fer la feina, es pot personalitzar instal·lant més mòduls i temes.

$ 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. A continuació, heu de crear una base de dades i un usuari nous per a Roundcube i concedir tots els permisos a un usuari nou per escriure a la base de dades.

$ 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. A continuació, importeu les taules inicials a la base de dades Roundcube.

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

14. Creeu un amfitrió virtual Apache per al correu web Roundcube.

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

Afegiu-hi la configuració següent.

<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. A continuació, activeu aquest host virtual i torneu a carregar l'apache per als canvis.

$ sudo a2ensite roundcube.conf
$ sudo systemctl reload apache2

16. Ara podeu accedir al correu web si aneu a http://yourdomain.com/roundcubemail/installer/.

16. A continuació, aneu a la configuració de la base de dades i afegiu els detalls de la base de dades.

17. Després de fer tots els canvis, creeu un fitxer config.inc.php.

18. Després d'acabar la instal·lació i les proves finals, suprimiu la carpeta installer i assegureu-vos que l'opció enable_installer a config.inc.php estigui desactivada. .

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

19. Ara aneu a la pàgina d'inici de sessió i introduïu el nom d'usuari i la contrasenya de l'usuari.

http://yourdomain.com/roundcubemail/

20. Per començar a utilitzar el correu web de Roundcube, haureu de crear un nou usuari, per fer-ho, executar.

$ sudo useradd myusername

Substituïu \myusername pel nom d'usuari que vulgueu, creeu una contrasenya per a l'usuari nou executant-lo.

$ sudo passwd myusername

21. Ara torneu a la pàgina d'inici de sessió i introduïu el nom d'usuari i la contrasenya de l'usuari acabat de crear.

Heu provat de crear un servidor de correu electrònic abans? Com va anar? Heu utilitzat Roundcube o qualsevol altre servidor de correu abans? Què en penses?