En este tutorial, les mostrare cómo instalar y configurar [glossary]Postfix Admin[/glossary] 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 -yConfigurar un nombre de host a nuestro servidor. Puedes hacerlo con el siguiente comando:
# hostnamectl set-hostname adminmail.domain.cuA continuación, ejecuta el siguiente comando para aplicar los cambios:
# hostname -fInstala 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 -yCrea 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 -pIngresa 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.gzA continuación, mueve el directorio extraído al directorio raíz web de Nginx:
# mv postfixadmin-3.2 /var/www/html/postfixadminA continuación, crearemos la carpeta templates_c
cd /var/www/html/postfixadmin
mkdir templates_cA 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.phpAñ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.phpA continuación, deberás crear un usuario superadmin utilizando la herramienta postfixadmin-cli.
# bash /var/www/html/postfixadmin/scripts/postfixadmin-cli admin addSe 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/postfixadminAñ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-fpmAccede 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







No comments yet