Instalando Zextras Carbonio CE 25.6 en Ubuntu 24.04 LTS

Hola a todos, hoy estamos instalando Zextras Carbonio CE 25.6 en Ubuntu 24.04 LTS aprovechando el soporte a esta nueva versión. Uno de los cambios más importantes (dejando a un lado el tema de Ubuntu) es la nueva gestión de los servicios de Carbonio, los cuales eran manejados por su propio gestor zmcontrol pero ahora delegan el control sobre systemd, así que es algo a tener en cuenta, como verán al final de esta entrada los servicios se manejan diferente. Otro detalle es que ya no podrás usar PostgreSQL12, así que usar la versión 16 es obligatoria. (Si mantienes Carbonio CE 25.6 en Ubuntu 22.04 puedes seguir usándola)

Entonces vamos a la práctica, primero veamos los datos para esta instalación, asegúrate de ajustarlos a tu escenario.

Dirección IP: 192.168.1.23

Dominio: networldcu.tech

FQDN: mta.networldcu.tech

1 – Actualizar nuestro sistema

apt update
apt upgrade

2 – Instalando dnsmasq

Es importante contar con un servicio de dns local cuando instalamos Zextras Carbonio CE con una dirección IP privada, esto para garantizar que registros vitales como el registro A y el MX apunten correctamente a nuestro servidor.

apt install dnsmasq

Al instalar dnsmasq estaremos en conflicto con resolved un servicio que viene por defecto en Ubuntu 24.04, para delegar la gestión dns a dnsmasq ejecutamos lo siguiente:

systemctl disable systemd-resolved
systemctl stop systemd-resolved

En este punto su servidor quedará sin poder hacer consultas dns, por lo tanto sin internet, configuremos ahora dnsmasq para que tome el control.

Primero hay que descomentar par de líneas en el archivo de configuración por defecto de dnsmasq.

nano /etc/default/dnsmasq

Buscamos las líneas:

# IGNORE_RESOLVCONF=yes
.....
# DNSMASQ_EXCEPT="lo"

Y las descomentamos, dejándolas así:

IGNORE_RESOLVCONF=yes
.....
DNSMASQ_EXCEPT="lo"

Ahora configuremos dnsmasq para dos tareas esenciales, primero para que reenvíe cualquier consulta dns hacia nuestros servidores dns preferidos (normalmente los de nuestro proveedor) en el ejemplo usamos los de Google, lo segundo es crear los registros A y MX para nuestro dominio de modo que apunte a la IP de nuestro servidor, editamos el archivo de configuración y agregamos al principio las siguientes líneas:

nano /etc/dnsmasq.conf
server=8.8.8.8
domain=networldcu.tech
mx-host=networldcu.tech,mta.networldcu.tech,10
address=/mta.networldcu.tech/192.168.1.23
host-record=mta.networldcu.tech,192.168.1.23
no-resolv
no-poll
listen-address=127.0.0.1
bind-interfaces

Lo importante es editar lo que está en negrita para que lo ajustes a tu escenario.

Terminamos de configurar nuestro sistema para que use dnsmasq como servicio dns.

unlink /etc/resolv.conf
echo nameserver 127.0.0.1 | sudo tee /etc/resolv.conf
systemctl restart dnsmasq
systemctl enable dnsmasq

Podemos comprobar que los registros son correctos de la siguiente forma:

dig mta.networldcu.tech
dig MX networldcu.tech

3 – Preparando el sistema y agregando los repositorios necesarios

Vamos a ajustar el nombre de host y deshabilitar el uso de IPv6 a nivel de sistema.

hostnamectl set-hostname mta.networldcu.tech

Editamos el archivo hosts

nano /etc/hosts

Descomentamos las líneas correspondientes a IPv6 y agregamos:

192.168.1.23  mta.networldcu.tech mta

Deshabilitamos IPv6

sysctl -w net.ipv6.conf.all.disable_ipv6=1 && sysctl -w net.ipv6.conf.default.disable_ipv6=1

Reiniciamos el sistema para tomar los nuevos cambios.

reboot

Ahora agreguemos los repositorios necesarios para instalar Zextras Carbonio CE y PostgreSQL16

Repositorio de PostgreSQL16

echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list
wget -O- "https://www.postgresql.org/media/keys/ACCC4CF8.asc" | \
gpg --dearmor | sudo tee /usr/share/keyrings/postgres.gpg > \
/dev/null
chmod 644 /usr/share/keyrings/postgres.gpg
sed -i 's/deb/deb [signed-by=\/usr\/share\/keyrings\/postgres.gpg] /' /etc/apt/sources.list.d/pgdg.list

Repositorio para Zextras Carbonio CE

Nota: si te interesa tener tu propio repositorio local de Zextras Carbonio CE que te ayudará y agilizará los procesos, pasa por el siguiente artículo.

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/zextras.gpg] https://repo.zextras.io/release/ubuntu noble main" > /etc/apt/sources.list.d/zextras.list
wget -O- "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x5dc7680bc4378c471a7fa80f52fd40243e584a21" | gpg --dearmor | sudo tee /usr/share/keyrings/zextras.gpg > /dev/null
chmod 644 /usr/share/keyrings/zextras.gpg

Es hora de recargar los nuevos repositorios.

apt update

4 – Instalando los componentes de Zextras Carbonio CE

El siguiente comando instalará todos los paquetes necesarios para Carbonio CE.

apt install postgresql-16 service-discover-server \
carbonio-directory-server carbonio-proxy carbonio-webui \
carbonio-files-ui carbonio-mta carbonio-mailbox-db \
carbonio-appserver carbonio-user-management \
carbonio-files-ce carbonio-files-public-folder-ui \
carbonio-files-db carbonio-tasks-ce carbonio-tasks-db \
carbonio-tasks-ui carbonio-storages-ce carbonio-preview-ce \
carbonio-docs-connector-ce carbonio-docs-connector-db \
carbonio-docs-editor carbonio-prometheus \
carbonio-catalog

Una vez instalados los paquetes, lanzamos carbonio-bootstrap para la instalación y configuración de Carbonio CE.

carbonio-bootstrap

Vemos que Carbonio CE lanza la verificación de los registros dns necesarios que deben coincidir o apuntar hacia la IP de nuestro servidor. Lo siguiente es presionar y para que comience el proceso.

Puede tardar algunos minutos, si todo salio bien, es hora de unas últimas configuraciones, lanzamos setup-wizard para configurar la dirección IP del servidor MESH y su credencial la cual usaremos en determinadas acciones.

service-discover setup-wizard

Vemos que el comando nos pregunta la dirección IP de nuestro servidor, la escribimos, en este caso es 192.168.1.23, luego le pedirá una contraseña para el servicio, debemos ponerla dos veces.

Nota: esta contraseña no es la del usuario zextras de Carbonio CE, esa la establecemos más adelante.

Anote la contraseña porque deberá usarla en diferentes acciones y principalmente después de cada actualización de Carbonio donde se requiere la ejecución de pending-setups.

Una vez establecidos los datos, ejecutamos pending-setups para las tareas pendientes.

pending-setups --execute-all

5 – Base de datos y aprovisionamiento

Es hora de crear la base de datos, el usuario y aprovisionar los datos.

Primero, vamos a establecer una contraseña para el usuario, llenamos una variable con la contraseña para luego usar la variable en cada comando.

export DB_ADM_PWD="Networld2025"​

Ahora tenemos una variable llamada DB_ADM_PWD que contiene la contraseña: Networld2025

Creando el usuario con su contraseña:

su - postgres -c "psql --command=\"CREATE ROLE carbonio_adm WITH LOGIN SUPERUSER encrypted password '$DB_ADM_PWD';\""

Creando la base de datos:

su - postgres -c "psql --command=\"CREATE DATABASE carbonio_adm owner carbonio_adm;\""

Aprovisionando los datos:

PGPASSWORD=$DB_ADM_PWD carbonio-mailbox-db-bootstrap carbonio_adm 127.0.0.1
PGPASSWORD=$DB_ADM_PWD carbonio-docs-connector-db-bootstrap carbonio_adm 127.0.0.1
PGPASSWORD=$DB_ADM_PWD carbonio-files-db-bootstrap carbonio_adm 127.0.0.1
PGPASSWORD=$DB_ADM_PWD carbonio-tasks-db-bootstrap carbonio_adm 127.0.0.1

Listo, nos queda establecer una contraseña para el usuario zextras, este usuario será el primer buzón del servidor y ademas será quien tenga los privilegios administrativos para acceder al panel de administración de Carbonio.

su - zextras -c "carbonio prov sp zextras@$(hostname -d) Networld*/2025"

6 – Manejando los servicios

Como les comentaba al principio, el proceso de manejar los servicios de Carbonio CE han cambiado para la instalación en Ubuntu 24.04, ahora estarán bajo systemd.

systemctl restart carbonio-directory-server.target
systemctl restart carbonio-appserver.target
systemctl restart carbonio-proxy.target
systemctl restart carbonio-mta.target

Puedes consultar el estado de los servicios ejecutando:

systemctl status carbonio-*

7 – Accediendo al panel y el webmail

Estamos listos para ver nuestro Zextras Carbonio CE 25.6.

Para acceder al panel de administración, abrimos:

https://192.168.1.23:6071

El Webmail:

https://192.168.1.23

Y eso sería todo por esta entrada, estas listo para comenzar a usar Carbonio CE, eso si, aún hay un largo camino por recorrer para lograr entregar un correo con éxito y tener una buena reputación, lo mismo para poder recibir sin problemas.

Si quieres aprender todo sobre este magnífico servicio de correo, si quieres aprender a instalar también sus componentes de Chat y Video conferencia te esperamos en nuestro curso completo de Zextras Carbonio CE, donde incluso vemos escenarios tan completos que incluyen firewall como pfSense e integración de Proxmox Mail Gateway con Carbonio y mucho más.

Zextras Carbonio CE 25.6 en Ubuntu 24.04

Si tienes dudas o presentaste cualquier problema al implementar esto, no dudes en pasar por nuestro grupo en Telegram donde seguramente encontrarás ayuda.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio