Postfix Admin con Nginx en Debian 10

En este tutorial, les mostrare cómo instalar y configurar Postfix Admin con Nginx en Debian 10.

Requisitos

• Un servidor corriendo con Debian 10 con Postfix instalado. Usaremos un CT en proxmox para ello.
• Un nombre de dominio válido o un nombre de subdominio que apunta a la dirección IP de tu servidor.
• Un registro DNS MX válido que apunte a la dirección IP de tu servidor cloud.

Comenzamos actualizando nuestro sistema:

apt update 
apt upgrade -y

Configurar un nombre de host a nuestro servidor. Puedes hacerlo con el siguiente comando:

# hostnamectl set-hostname adminmail.domain.cu

A continuación, ejecuta el siguiente comando para aplicar los cambios:

# hostname -f

Instala Nginx, PHP y MariaDB

PostfixAdmin se ejecuta en un servidor web, escrito en PHP y utiliza MariaDB para almacenar sus datos. Por ello, deberás instalar Nginx, MariaDB, PHP y otros módulos en tu sistema. Puedes instalarlos todos ejecutando el siguiente comando:

apt install sudo nginx mariadb-server php7.3-{fpm,cli,imap,json,mysql,opcache,mbstring,readline} unzip -y

Crea una Base de Datos PostfixAdmin

A continuación, crearemos una base de datos y un usuario para PostfixAdmin. Para hacerlo, primero inicia sesión en el shell de MariaDB con el siguiente comando:

# mysql -u root -p

Ingresa tu contraseña de root cuando se te solicite y luego crea 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 'password';

A continuación, elimina los privilegios y sal del shell MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Instala y configura PostfixAdmin

Primero, deberás descargar la última versión de PostfixAdmin. Puedes hacerlo con el siguiente comando:

# wget -q https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-3.2.4.tar.gz

Extraemos el contendido:

# tar -xvzf postfixadmin-3.2.4.tar.gz

A continuación, mueve el directorio extraído al directorio raíz web de Nginx:

# mv postfixadmin-3.2 /var/www/html/postfixadmin

A continuación, crearemos la carpeta templates_c

cd /var/www/html/postfixadmin
mkdir templates_c

A continuación, cambia la propiedad del directorio postfixadmin a www-data y daremos los permisos pertinentes:

# chown -R www-data: /var/www/html/postfixadmin/

A continuación, crea un nuevo archivo de configuración PostfixAdmin llamado config.local.php con el siguiente comando:

# nano /var/www/html/postfixadmin/config.local.php

Añade el siguiente contenido:

<?php
$CONF['configured'] = true;
 
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfixadmin';
$CONF['database_password'] = 'password';
$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';
?>

Reemplaza el nombre de dominio (domain.cu) y la configuración de la base de datos con tu configuración. Luego, crea el esquema para la base de datos PostfixAdmin con el siguiente comando:

# sudo -u www-data php /var/www/html/postfixadmin/public/upgrade.php

A continuación, deberás crear un usuario superadmin utilizando la herramienta postfixadmin-cli.

# bash /var/www/html/postfixadmin/scripts/postfixadmin-cli admin add

Se te pedirá que proporciones el nombre, la contraseña y el nombre de dominio de superadmin. Proporciona toda la información y para activar el superadmin escribe como se muestra a continuación:

Welcome to Postfixadmin-CLI v0.2
 ---------------------------------------------------------------

Admin:
 > [email protected]

Password:
 > password

Password (again):
 > password

Super admin:
 (Super admins have access to all domains, can manage domains and admin accounts.) (y/n)
 > y

Domain:
 > domain.cu

Active: (y/n)
 > y

The admin [email protected] has been added!

---------------------------------------------------------------

Configura Nginx para PostfixAdmin

A continuación, deberás crear un nuevo archivo de host virtual para PostfixAdmin.

# nano /etc/nginx/sites-available/postfixadmin

Añade las siguientes líneas:

server {
        listen 80;
        root /var/www/html/postfixadmin/public;
        index index.html index.htm index.php;
        server_name adminmail.domain.cu;

        location ~ \.php$ {
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          fastcgi_pass unix:/var/run/php/php7.3-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;
   }

}

Guarda y cierra el archivo cuando hayas terminado. Luego, habilita el host virtual Nginx con el siguiente comando:

# ln -s /etc/nginx/sites-available/postfixadmin /etc/nginx/sites-enabled/

Finalmente, reinicia el servicio Nginx y PHP-FPM para aplicar los cambios de configuración:

# service restart nginx
# service restart php7.3-fpm

Accede a la Interfaz Web de PostfixAdmin

Ahora, abre tu navegador web y escribe la URL http://adminmail.domain.cu. Serás redirigido a la interfaz web de PostfixAdmin como se muestra a continuación:

Solo resta entrar con el usuario superadmin creado e iniciar sesión. Agregan su dominio proporcionando su nombre de dominio, buzones de correo y cuota. ¡Y listo! Ya tiene su Postfixadmin funcional. No es objetivo de este tutorial mostrar cómo se usa.

alex out

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 3

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sobre Alexander Rivas Alpizar 61 artículos
Administrador de Redes IDEAR Cienfuegos

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*