En este tutorial, les mostrare cómo instalar y configurar Postfix Admin con Nginx en Debian 10.
• 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
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
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;
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' => 'abuse@domain.cu', 'hostmaster' => 'hostmaster@domain.cu', 'postmaster' => 'postmaster@domain.cu', 'webmaster' => 'webmaster@domain.cu' ); $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: > superadmin@domain.cu 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 superadmin@domain.cu has been added! ---------------------------------------------------------------
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
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
Me complace anunciar la creación de esta útil herramienta (SquidStats), para el análisis y monitoreo…
La inteligencia artificial está revolucionando las industrias al automatizar tareas, predecir patrones y permitiendo tomar…
Uno de los grandes retos al que nos podemos enfrentar cuando una aplicación crece, es…
Percona Monitoring and Management (PMM) es una herramienta de código abierto para la supervisión y…
Qué es lo que deseo hacer en este capítulo? Básicamente un sonoff, quiero encender/apagar las…
Hace algunos meses estoy escuchando hablar del proyecto Home Assistant (HA). En palabras literales del…