
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:
1 2 | apt update apt upgrade -y |
Configurar un nombre de host a nuestro servidor. Puedes hacerlo con el siguiente comando:
1 | # hostnamectl set-hostname adminmail.domain.cu |
A continuación, ejecuta el siguiente comando para aplicar los cambios:
1 | # 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:
1 | 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:
1 | # 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:
1 2 | 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:
1 2 | 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:
1 | # wget -q https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-3.2.4.tar.gz |
Extraemos el contendido:
1 | # tar -xvzf postfixadmin-3.2.4.tar.gz |
A continuación, mueve el directorio extraído al directorio raíz web de Nginx:
1 | # mv postfixadmin-3.2 /var/www/html/postfixadmin |
A continuación, crearemos la carpeta templates_c
1 2 | 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:
1 | # 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:
1 | # nano /var/www/html/postfixadmin/config.local.php |
Añade el siguiente contenido:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <?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 ( ); $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:
1 | # 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.
1 | # 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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! --------------------------------------------------------------- |
Configura Nginx para PostfixAdmin
A continuación, deberás crear un nuevo archivo de host virtual para PostfixAdmin.
1 | # nano /etc/nginx/sites-available/postfixadmin |
Añade las siguientes líneas:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 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:
1 | # 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:
1 2 | # 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
Dejar una contestacion