Cerb es una herramienta de colaboración y automatización gratuita, de código abierto y basada en la web que se utiliza para enviar grandes volúmenes de correos electrónicos. Está escrito en PHP y utiliza MySQL o MariaDB como base de datos. Viene con una interfaz web simple y fácil de usar que se puede usar para monitoreo en tiempo real, administración de tareas y seguimiento de objetivos.
En este tutorial, aprenderemos cómo instalar y configurar Cerb en el servidor CentOS 8.
Requisitos
- Un servidor que ejecuta CentOS 8.
- Un dominio válido apuntado con la IP de su servidor. En este tutorial, utilizaremos el dominio cerb.example.com.
- Se configura una contraseña de root en el servidor.
Cómo empezar
Antes de comenzar, deberá instalar el repositorio EPEL y Remi PHP en su sistema. Puede instalarlos con el siguiente comando:
dnf install epel-release -y
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
dnf module enable php:remi-7.4
Una vez que ambos repositorios estén instalados, puede continuar con el siguiente paso.
Instalar pila LAMP
A continuación, deberá instalar Apache, MariaDB, PHP y otras extensiones de PHP requeridas en su servidor. Puede instalarlos todos con el siguiente comando:
dnf install httpd mariadb-server php php-cli php-zip php-curl php-dom php-gd php-imap php-json php-mbstring php-mysqli php-openssl php-pcre php-session php-simplexml php-xml php-spl php-mailparse git unzip wget -y
Una vez que todos los paquetes estén instalados, edite el archivo php.ini y cambie algunas configuraciones:
nano /etc/php.ini
Cambie las siguientes líneas con los valores deseados:
memory_limit = 256M upload_max_filesize = 32M post_max_size = 32M date.timezone = Asia/Kolkata
Guarde y cierre el archivo cuando haya terminado. Luego, inicie el servicio Apache y MariaDB y habilítelos para que se inicien al reiniciar el sistema con el siguiente comando:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
Una vez que haya terminado, puede continuar con el siguiente paso.
Configurar servidor MariaDB
Primero, deberá proteger MariaDB y configurar la contraseña raíz de MariaDB. Puede hacerlo ejecutando el siguiente comando:
mysql_secure_installation
Responda todas las preguntas como se muestra a continuación:
Enter current password for root (enter for none): Enter Set root password? [Y/n]: Y New password: Re-enter new password: Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Una vez que su instalación de MariaDB esté asegurada, inicie sesión en el shell de MariaDB con el siguiente comando:
mysql -u root -p
Proporcione su contraseña raíz de MariaDB cuando se le solicite, luego cree una base de datos y un usuario para Cerb con el siguiente comando:
MariaDB [(none)]>CREATE DATABASE cerb;
MariaDB [(none)]>GRANT ALL PRIVILEGES ON cerb.* TO 'cerb'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:
MariaDB [(none)]>FLUSH PRIVILEGES;
MariaDB [(none)]>EXIT;
Una vez que haya terminado, puede continuar con el siguiente paso.
Instalar Postfix
A continuación, deberá instalar el paquete del servidor de correo de Postfix en su servidor. Puede instalarlo ejecutando el siguiente comando:
dnf install postfix -y
Una vez que Postfix esté instalado, inicie el servicio de Postfix y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl start postfix
systemctl enable postfix
Una vez que haya terminado, puede continuar con el siguiente paso.
Instalar compositor
Composer es un administrador de dependencias para PHP que se utiliza para instalar las dependencias requeridas para su proyecto. Puede descargar el script de instalación de Composer con el siguiente comando:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
A continuación, descargue la firma del último instalador de Composer del repositorio Github de Composer y guárdelo en la variable con el siguiente comando:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
A continuación, verifique la secuencia de comandos del instalador con el siguiente comando:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Si todo va bien, debería ver el siguiente resultado:
Installer verified
Finalmente, instale Composer con el siguiente comando:
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Deberías obtener el siguiente resultado:
All settings correct for using Composer Downloading... Composer (version 2.0.7) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
Puede verificar la versión de Composer con el siguiente comando:
composer --version
Deberías obtener el siguiente resultado:
Composer version 2.0.7 2020-11-13 17:31:06
Una vez que haya terminado, puede continuar con el siguiente paso.
Descargar Cerb
A continuación, descargue la última versión de Cerb desde el repositorio de Git al directorio raíz de Apache usando el siguiente comando:
cd /var/www/html
git clone git://github.com/wgm/cerb.git cerb
Una vez que se complete la descarga, cambie el directorio a cerb e instale las dependencias requeridas con el siguiente comando:
cd cerb
composer install
A continuación, establezca la propiedad y el permiso del directorio cerb con el siguiente comando:
chown -R apache:apache /var/www/html/cerb
chmod -R 755 /var/www/html/cerb
Una vez que haya terminado, puede continuar con el siguiente paso.
Configurar Apache para Cerb
A continuación, deberá crear un archivo de configuración de host virtual de Apache para Cerb. Puedes crearlo con el siguiente comando:
nano /etc/httpd/conf.d/cerb.conf
Agregue las siguientes líneas:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/cerb" ServerName cerb.example.com ErrorLog "/var/log/httpd/cerb-error_log" CustomLog "/var/log/httpd/cerb-access_log" combined </VirtualHost>
Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio de Apache con el siguiente comando:
systemctl restart httpd
Ahora puede verificar el estado de Apache usando el siguiente comando:
systemctl status httpd
Deberías obtener el siguiente resultado:
? httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d ??php-fpm.conf Active: active (running) since Tue 2020-11-17 03:35:53 EST; 7s ago Docs: man:httpd.service(8) Main PID: 5545 (httpd) Status: "Started, listening on: port 80" Tasks: 213 (limit: 25014) Memory: 28.9M CGroup: /system.slice/httpd.service ??5545 /usr/sbin/httpd -DFOREGROUND ??5547 /usr/sbin/httpd -DFOREGROUND ??5548 /usr/sbin/httpd -DFOREGROUND ??5549 /usr/sbin/httpd -DFOREGROUND ??5550 /usr/sbin/httpd -DFOREGROUND Nov 17 03:35:52 centos8 systemd[1]: Stopped The Apache HTTP Server. Nov 17 03:35:52 centos8 systemd[1]: Starting The Apache HTTP Server...
Una vez que haya terminado, puede continuar con el siguiente paso.
Configurar SELinux y Firewall
De manera predeterminada, SELinux está habilitado en CentOS 8. Por lo tanto, deberá configurar SELinux para Cerb. Puedes configurarlo con el siguiente comando:
setsebool -P httpd_can_network_connect 1
A continuación, deberá permitir los puertos 80 y 443 a través de firewalld. Puedes hacerlo con el siguiente comando:
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
Vuelva a cargar el firewalld para aplicar todos los cambios con el siguiente comando:
firewall-cmd --reload
Una vez que haya terminado, puede continuar con el siguiente paso.
Acceder a la interfaz de usuario web de Cerb
Ahora, abra su navegador web y acceda a Cerb usando la URL http://cerb.example.com . Debería ver la siguiente página:
Verifique todas las dependencias y haga clic en Continuar botón. Debería ver la siguiente página:
Haga clic en Acepto botón para aceptar el acuerdo de licencia. Debería ver la siguiente página:
Proporcione la información de su base de datos y haga clic en Verificar base de datos conexión . Debería ver la siguiente página:
Proporcione sus detalles SMTP y haga clic en Verificar correo configuración . Debería ver la siguiente página:
Proporcione la información de su cuenta y haga clic en Continuar botón. Debería ver la siguiente página:
Elija su paquete y haga clic en Continuar botón. Debería ver la siguiente página:
Haga clic en Continuar botón. Debería ver la siguiente página:
A continuación, elimine el directorio de instalación con el siguiente comando:
rm -rf /var/www/html/cerb/install/
Haga clic en Iniciar sesión y empezar botón. Debería ver la siguiente página:
Proporcione su dirección de correo electrónico y haga clic en Continuar botón. Debería ver la siguiente página:
Proporcione su contraseña y haga clic en Iniciar sesión botón. Debería ver el panel predeterminado de Cerb en la siguiente página:
Conclusión
¡Felicidades! ha instalado y configurado correctamente Cerb con Apache en CentOS 8. Ahora puede enviar grandes volúmenes de correos electrónicos utilizando el panel de control de Cerb. Siéntase libre de preguntarme si tiene alguna pregunta.