Cómo configurar un servidor de correo con PostfixAdmin en Debian 11
PostfixAdmin es una interfaz gratuita, de código abierto y basada en la web que se utiliza para administrar el servidor de correo de Postfix desde el navegador web. Le permite agregar usuarios, alias, establecer una cuota de disco, agregar y eliminar dominios desde la interfaz basada en web. Admite varios backends de bases de datos, incluidos PostgreSQL, MySQL, MariaDB y SQLite. Se puede integrar con Squirrelmail y Roundcube a través de complementos.
En este artículo, explicaré cómo instalar PostfixAdmin en Debian 11.
requisitos previos
- Un servidor que ejecuta Debian 11 con postfix instalado.
- Se apunta un nombre de dominio válido con la dirección IP de su servidor.
- Se apunta un registro MX válido con la dirección IP de su servidor.
Empezando
Primero, actualice los paquetes de su sistema con la última versión usando el siguiente comando:
apt-get update -y
Una vez que su sistema esté actualizado, configure el nombre de host completo de su servidor.
hostnamectl set-hostname mail.domain.com
A continuación, ejecute el siguiente comando para aplicar los cambios.
hostname -f
Una vez que haya terminado, puede continuar con el siguiente paso.
Instalar Nginx, MariaDB y PHP
A continuación, deberá instalar el servidor web Nginx, MariaDB, PHP y otras extensiones de PHP requeridas en su servidor. Puede instalarlos todos con el siguiente comando:
apt-get install nginx mariadb-server php-fpm php-cli php-imap php-json php-mysql php-opcache php-mbstring php-readline unzip sudo -y
Una vez que todos los paquetes estén instalados, puede continuar con el siguiente paso.
Crear una base de datos PostfixAdmin
A continuación, deberá crear una base de datos y un usuario para PostfixAdmin. Primero, inicie sesión en la consola de MariaDB con el siguiente comando:
mysql
Una vez que esté conectado, cree una base de datos y un usuario con el siguiente comando:
MariaDB [(none)]> CREATE DATABASE postfixadmin; MariaDB [(none)]> GRANT ALL ON postfixadmin.* TO 'postfixadmin'@'localhost' IDENTIFIED BY 'securepassword';
A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
En este punto, se crea la base de datos MariaDB para PostfixAdmin. Ahora puede continuar con el siguiente paso.
Instalar PostfixAdmin
Primero, deberá descargar la última versión de PostfixAdmin del sitio web de Sourceforge. Puedes descargarlo con el siguiente comando:
wget https://webwerks.dl.sourceforge.net/project/postfixadmin/postfixadmin-3.3.8/PostfixAdmin%203.3.8.tar.gz
Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:
tar -xvzf PostfixAdmin\ 3.3.8.tar.gz
A continuación, mueva el directorio extraído al directorio raíz web de Nginx:
mv postfixadmin-postfixadmin-7d04685 /var/www/html/postfixadmin
A continuación, cree un directorio necesario para instalar PostfixAdmin:
mkdir /var/www/html/postfixadmin/templates_c
A continuación, establezca la propiedad adecuada en el directorio PostfixAdmin:
chown -R www-data: /var/www/html/postfixadmin/
A continuación, cree un archivo config.local.php:
nano /var/www/html/postfixadmin/config.local.php
Agregue las siguientes líneas:
<?php $CONF['configured'] = true; $CONF['database_type'] = 'mysqli'; $CONF['database_host'] = 'localhost'; $CONF['database_user'] = 'postfixadmin'; $CONF['database_password'] = 'securepassword'; $CONF['database_name'] = 'postfixadmin'; $CONF['default_aliases'] = array ( 'abuse' => '[email protected]', 'hostmaster' => '[email protected]', 'postmaster' => '[email protected]', 'webmaster' => '[email protected]' ); $CONF['fetchmail'] = 'NO'; $CONF['show_footer_text'] = 'NO'; $CONF['quota'] = 'YES'; $CONF['domain_quota'] = 'YES'; $CONF['quota_multiplier'] = '1024000'; $CONF['used_quotas'] = 'YES'; $CONF['new_quota_table'] = 'YES'; $CONF['aliases'] = '0'; $CONF['mailboxes'] = '0'; $CONF['maxquota'] = '0'; $CONF['domain_quota_default'] = '0'; ?>
Guarde y cierre el archivo, luego cree el esquema para la base de datos de PostfixAdmin con el siguiente comando: Publicidad
sudo -u www-data php /var/www/html/postfixadmin/public/upgrade.php
A continuación, deberá crear una cuenta de superadministrador para PostfixAdmin. Puedes crearlo con el siguiente comando:
bash /var/www/html/postfixadmin/scripts/postfixadmin-cli admin add
Proporcione su nombre de usuario, contraseña y dominio de administrador como se muestra a continuación:
Welcome to Postfixadmin-CLI v0.3 --------------------------------------------------------------- Admin: > [email protected] Password: > [email protected] Password (again): > [email protected] Super admin: (Super admins have access to all domains, can manage domains and admin accounts.) (y/n) > y Domain: > domain.com Active: (y/n) > y The admin [email protected] has been added! ---------------------------------------------------------------
Configurar Nginx para PostfixAdmin
A continuación, deberá crear un archivo de configuración de host virtual Nginx para PostfixAdmin. Puedes crearlo con el siguiente comando:
nano /etc/nginx/conf.d/domain.com.conf
Agregue las siguientes líneas:
server { listen 80; root /var/www/html/postfixadmin/public; index index.html index.htm index.php; server_name mail.domain.com; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; fastcgi_connect_timeout 600; fastcgi_send_timeout 600; fastcgi_read_timeout 600; } location / { try_files $uri $uri/ =404; } }
Guarde y cierre el archivo, luego reinicie el servicio Nginx para aplicar los cambios:
systemctl restart nginx
También puede verificar el estado de Nginx con el siguiente comando:
systemctl status nginx
Deberías obtener el siguiente resultado:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-08-28 08:13:22 UTC; 7s ago Docs: man:nginx(8) Process: 74644 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 74645 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 74646 (nginx) Tasks: 2 (limit: 2341) Memory: 3.2M CPU: 57ms CGroup: /system.slice/nginx.service ??74646 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??74647 nginx: worker process Aug 28 08:13:22 mail.domain.com systemd[1]: Starting A high performance web server and a reverse proxy server... Aug 28 08:13:22 mail.domain.com systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument Aug 28 08:13:22 mail.domain.com systemd[1]: Started A high performance web server and a reverse proxy server.
Acceder a PostfixAdmin
En este punto, PostfixAdmin está instalado y configurado. Ahora puede acceder a él usando la URL http://correo.dominio.com. Será redirigido a la página de inicio de sesión de PostfixAdmin:
Proporcione su correo electrónico de administrador, contraseña y haga clic en el Acceso botón. Debería ver el panel de PostfixAdmin en la siguiente pantalla:
Conclusión
¡Felicidades! Ha instalado correctamente PostfixAdmin en Debian 11. Ahora puede administrar fácilmente su servidor de correo Postfix desde el navegador web. No dude en preguntarme si tiene alguna pregunta.