Servidor de Correo – Casillas y usuarios virtuales

ViMbAdmin - Administración web del Correo

ViMbAdmin – Administración web del Servidor de Correo Virtual

ViMbAdmin tiene una estética agradable y usa PHP.

Instalación Composer

Dependencias necesarias

# apt install curl php-cli php-mbstring git unzip

Descarga e instalación de Composer

# cd ~
# curl -sS https://getcomposer.org/installer -o composer-setup.php

Comprobamos que el instalador coincide con el hash SHA-384 para el último instalador que se encuentra en la página [Claves públicas de composer / Firmas][composer-sigs]. Copiamos el hash de esa página y lo guardamos como una variable de shell:

HASH=48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5

Ejecutamos el siguiente script PHP para verificar que el script de instalación es seguro de ejecutar:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Verás la siguiente salida:

Installer verified

Si ves que Instaler corrupt, tendrás que descargar el script de instalación de nuevo y comprobar que estás usando el hash correcto. A continuación, ejecuta el comando para verificar el instalador de nuevo. Una vez que tengas un instalador verificado, puedes continuar.
Para instalar composer globalmente, usa el siguiente comando que lo descargará e instalará como un comando para todo el sistema llamado composer, en /usr/local/bin:

php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Verás lo siguiente:

All settings correct for using Composer
Downloading...
Composer (version 1.8.6) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Para probar tu instalación, ejecuta:

composer

Y verás la salida que muestra la versión y los argumentos de composer, similar a esto:

 ______
 / ____/___ ____ ___ ____ ____ ________ _____
 / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
 /_/
Composer version 1.8.6 2019-06-11 15:03:05
...

Instalación ViMbAdmin v3

# export INSTALL_PATH=/srv/vimbadmin
# git clone https://github.com/opensolutions/ViMbAdmin.git $INSTALL_PATH
# cd $INSTALL_PATH
# composer install --prefer-dist --no-dev
# chown -R www-data: $INSTALL_PATH/var

Pese a las recomendaciones, se efectuó la instalación como root y luego se cambió la propiedad del directorio vimbadmin a www-data, también se estableció el setgid
Creamos una base de datos y usuario en mariadb para vimbadmin, para ello ejecutamos lo siguiente en la consola de mariadb

CREATE DATABASE `vimbadmin`;
GRANT ALL ON `vimbadmin`.* TO `vimbadmin`@`localhost` IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Archivo de configuración de vimbadmin

# cp $INSTALL_PATH/application/configs/application.ini.dist $INSTALL_PATH/application/configs/application.ini
# nano $INSTALL_PATH/application/configs/application.ini
securitysalt = "superadmin-password"
defaults.mailbox.uid = 5000
defaults.mailbox.gid = 5000
defaults.mailbox.homedir = "/var/vmail/"
resources.doctrine2.connection.options.driver = 'pdo_mysql'
resources.doctrine2.connection.options.dbname = 'vimbadmin'
resources.doctrine2.connection.options.user = 'vimbadmin'
resources.doctrine2.connection.options.password = 'contraseña'
resources.doctrine2.connection.options.host = 'localhost'

Verificamos que los datos de acceso a mariadb sean los correctos en la configuración anterior.

Entorno de aplicación

Como mínimo, debe copiar este archivo .htaccess de ejemplo incluido.

# cp $INSTALL_PATH/public/.htaccess.dist $INSTALL_PATH/public/.htaccess

Modificamos el archivo, de modo que la última línea se vea así:

RewriteRule ^.*$ /index.php [NC,L]

Crear las tablas mariadb

Lo siguiente creará las tablas mariadb para lo cual ya hemos configurado postfix y dovecot.

./bin/doctrine2-cli.php orm:schema-tool:create