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
Dejar una contestacion