Configurar Zarafa y Yaffas en CentOS 6

Existen muchas soluciones que reemplazan Microsoft Exchange con una solución de Linux, pero todas tenían un problema que realmente no me gustó. Cuando recibí invitaciones a reuniones, llegarían como archivos adjuntos en mis dispositivos iOS y no se abrirían directamente en la aplicación de calendario. Zarafa fue la única solución que probé que abriría eventos de calendario en la aplicación de calendario. Esta guía le enseñará cómo configurar Zarafa y Yaffas en CentOS 6.

Antes que empecemos

Hacemos los siguientes supuestos para facilitar la comprensión de la configuración. Sin embargo, debe usar sus propios valores reales para estos elementos:

  • El dominio en el que quiero recibir correo es "example.com". Los usuarios son como "[email protected]", "[email protected]".
  • El nombre de host para el servidor de correo es "pegasus", por lo que el nombre de dominio completo para ese servidor es "pegasus.example.com".
  • Cada vez que uso el término "panel de control del servidor", me refiero al panel vultr.com .

Preparando el servidor (VPS)

Comience por implementar su instancia de servidor vultr.com. Elegí VPS de 1 GB con CentOS 6 de 32 bits. Cuando finaliza la instalación, preparamos el servidor para convertirse en un servidor de correo.

En la pantalla "Mis servidores" del panel de control del servidor, haga clic en el enlace "Administrar" al lado de su servidor recién creado. En la página que se abre, puede ver los detalles de su servidor. Haga clic en la pestaña IPv4, luego haga clic en el botón azul "Actualizar". Aparece un campo de entrada de texto y está preestablecido con algo como ".vultr.com". Reemplace esa entrada con el nombre de dominio completo de su servidor (ejemplo: pegasus.example.com) y presione el botón azul "Actualizar".

Ahora es el momento de iniciar sesión en el nuevo servidor. Abra su terminal ssh y conéctese a su servidor. Alternativamente, puede hacer clic en el botón azul "Ver consola" para obtener la ventana del navegador con la pantalla de inicio de sesión de su servidor.

ssh root@your_ip_address

La parte " your_ip_address" es la dirección IP principal que figura en el panel de control del servidor. Si usa el navegador para conectarse a su servidor, simplemente inicie sesión como root con su contraseña de root.

Primero, configuramos el nombre de dominio correcto. Abre el archivo de configuración de red.

nano /etc/sysconfig/network

Reemplace "vultr.guest" con el nombre de dominio completo de su servidor (Ejemplo: pegasus.example.com). Guarde el archivo con Ctrl + X , entonces Y .

El segundo lugar que cambiamos es el /etc/hostsarchivo.

nano /etc/hosts

Agrega la siguiente línea. Puede estar en la parte superior del archivo o en la segunda línea.

127.0.1.1 pegasus.example.com pegasus

Guarde el archivo con Ctrl + X , entonces Y . Me gusta asegurarme de que todo funciona después de un reinicio, así que reinicio el VPS después de esos cambios.

reboot

Dele a la máquina un momento para reiniciar, luego conéctese nuevamente.

ssh root@your_ip_address

Yaffas y Zarafa necesitan el repositorio EPEL, que ya está instalado en las fuentes en los servidores de vultr.com. También necesitan el repositorio RPMforge. Emita el siguiente comando para instalar ese repositorio.

Sistemas de 32 bits:

rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

Sistemas de 64 bits:

rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

A continuación, agregamos el repositorio de Yaffas.

nano /etc/yum.repos.d/yaffas.repo

Pegue el siguiente texto en el archivo recién creado:

[yaffas]
name = yaffas $releasever
baseurl = http://repo.yaffas.org/releases/latest/rhel/$releasever
enabled = 1
protect = 0
gpgcheck = 1
priority = 1

Guarde el archivo con Ctrl + X , entonces Y .

Para evitar problemas de compatibilidad, debemos excluir algunos elementos del repositorio EPEL. Abre el archivo del repositorio.

nano /etc/yum.repos.d/epel.repo

Luego, en la [epel]sección, justo debajo de la línea "gpgkey", ingrese lo siguiente.

exclude=clamav* clamd* amavisd* libvmime libical libvmime-devel libical-devel php-mapi zarafa*

La sección completa se verá así:

[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1 
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
exclude=clamav* clamd* amavisd* libvmime libical libvmime-devel libical-devel php-mapi zarafa*

Guarde el archivo con Ctrl + X , entonces Y .

Importe la clave GPG para el repositorio de Yaffas:

rpm --import http://repo.yaffas.org/repo.rpm.key

Ahora, vamos a limpiar yum.

yum clean all

En este punto, deberíamos estar listos para la instalación de Yaffas. Instálelo simplemente ingresando este comando.

yum install yaffas

Yum verificará las dependencias y le dará un resumen.

Install 359 Package(s)

Total download size: 260 M
Installed size: 639 M
Is this ok [y/N]:

Presione Y , luego Enter / Return para comenzar la instalación.

La instalación llevará un tiempo, así que disfrute de un café y una galleta mientras espera que termine la instalación.

MySQL

Antes de que podamos comenzar la configuración final, tenemos que configurar MySQL. Inicie MySQL y comience la configuración segura.

service mysqld restart
mysql_secure_installation

Para iniciar sesión en MySQL para asegurarlo, necesitaremos la contraseña actual para el usuario root. Si acaba de instalar MySQL y aún no ha configurado la contraseña de root, la contraseña estará en blanco, por lo que debe presionar Enter / Return aquí.

Enter current password for root (enter for none): **{press Enter/Return}**

[...]

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] **Y**

New password: **{enter super secret password}**
Re-enter new password: **{enter super secret password again}**

Remove anonymous user? [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**

Configuración

Abra un navegador web y vaya a la siguiente URL.

http://your_ip_address:10000

#If you have a DNS entry already, use this instead.
http://server.example.com:10000

El nombre de usuario inicial es admincon contraseña yaffas.

Después de iniciar sesión, verá el asistente de configuración. Tiene 5 escalones. Presione "Siguiente" para comenzar.

El primer paso es ingresar una nueva contraseña de administrador. Ingrese la nueva contraseña dos veces. Asegúrese de que sea lo suficientemente complicado como para estar seguro, pero no lo olvide. Luego haga clic en "Siguiente".

La siguiente pantalla configura el backend de MySQL. Lo único que necesita ingresar es la contraseña que creó para el usuario root de MySQL.

En la cuarta pantalla, configure su dominio de correo. Ingrese "example.com" en el campo del dominio de correo primario. Este debe ser tu propio dominio. Presione "Siguiente".

Creo que la quinta pantalla es opcional, pero solo para estar seguro, cree una cuenta de usuario que será el administrador de LDAP, luego haga clic en "Finalizar".

Pasará un tiempo hasta que finalice la configuración. Una vez que se completa, aparece una ventana emergente que le dice que todo fue exitoso. Haga clic en el botón "Aceptar". Después de un momento, volverá a ver la pantalla de inicio de sesión. Puede iniciar sesión como administrador con la nueva contraseña que creó durante la configuración.

Extras

Durante la instalación, se generan e instalan algunos certificados autofirmados generales para la aplicación. Personalmente, prefiero tener mis propios certificados autofirmados para mostrar los valores que ingresé y también quiero asegurarme de que todas las solicitudes se envíen a través de HTTPS.

Zarafa viene con algunos scripts para generar tus propios certificados. Estos son, por supuesto, certificados autofirmados.

Hagamos un hogar para la autoridad de certificación.

mkdir -p /etc/zarafa/ssl
chmod 700 /etc/zarafa/ssl
cd /etc/zarafa/ssl

... luego ejecuta el script:

sh /usr/share/doc/zarafa/ssl-certificates.sh server

El parámetro "servidor" significa que se llamará al certificado que creamos server.pem.

Serás recibido con el siguiente mensaje.

No Certificate Authority Root found in current directory.
Press enter to create, or ctrl-c to exit.

Presione Entrar o Volver .

El siguiente mensaje que aparece es:

CA certificate filename (or enter to create)

Presione Entrar o Volver para continuar y crear el Certificado de CA.

Después de una pequeña actividad en la pantalla, se le solicitará que ingrese la frase de contraseña PEM. Ingrese cualquier frase de contraseña para el certificado de CA, pero asegúrese de no olvidarla, ya que la necesitará más adelante. Por simplicidad, supongamos que elegimos la frase de contraseña "ca-root-pem".

Responda las preguntas para generar el certificado. Las respuestas aquí son mis ejemplos, así que reemplácelos con los valores correctos para usted.

Country Name (2 letter code) [XX]: **MY**
State or Province Name (full name) []:**Selangor**
Locality Name (eg, city) [Default City]: **Shah Alam**
Organization Name (eg, company) [Default Company Ltd]: **ELMIMA-Systems**
Organizational Unit Name (eg, section) []: **Certificate Authority**
Common Name (eg, your name or your server's hostname) []:**server.example.com** **Must be the full domain name of your server**
Email Address []: **[email protected]**

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: **Enter/Return**
An optional company name []: **Enter/Return**

A continuación, le pedirá la frase de contraseña del cakey.pemarchivo. Esta es la frase de contraseña que creó anteriormente.

Enter pass phrase for /etc/pki/CA/private/./cakey.pem:ca-root-pem

Verá una pequeña actividad en la pantalla, luego le pedirá una frase de contraseña PEM. Esta es la frase de contraseña para el server.pemarchivo que creamos. Ingrese todo lo que desee, pero asegúrese de no olvidarlo. Por simplicidad usaremos "server-pem-frase".

Enter PEM pass phrase:**server-pem-phrase**
Verifying - Enter PEM pass phrase:**server-pem-phrase**

Hora de ingresar los valores para el server.pemarchivo.

Country Name (2 letter code) [XX]: **MY**
State or Province Name (full name) []:**Selangor **
Locality Name (eg, city) [Default City]: **Shah Alam**
Organization Name (eg, company) [Default Company Ltd]: **ELMIMA-Systems**
Organizational Unit Name (eg, section) []: **Server SSL Certificate**
Common Name (eg, your name or your server's hostname) []: **server.example.com** **Must be the full domain name of your server**
Email Address []: [email protected]


Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: **Enter/Return**
An optional company name []: **Enter/Return**

Enter pass phrase for /etc/pki/CA/private/cakey.pem:ca-root-pem **Replace with your own passphrase**

Alguna actividad en la pantalla muestra que se genera el certificado.

Sign the certificate? [y/n]:

Ingrese Y y presione Enter / Return .

1 out of 1 certificate requests certified, commit? [y/n]

Ingrese Y y presione Enter / Return .

Create public key from this certificate? [y]

Realmente no lo necesitamos, pero supongo que no hace daño crearlo. Simplemente presione Entrar / Volver .

Enter pass phrase for server.pem: **server-pem-phrase**

Ahora es el momento de configurar el server.cfgarchivo para Zarafa.

nano /etc/zarafa/server/cfg

Busque la entrada server_ssl_enabledy cambie su valor a "sí" (sin las comillas).

Encuentre la entrada server_ssl_porty confirme que es 237.

Busque la entrada server_ssl_key_filey establezca su valor en " /etc/zarafa/ssl/server.pem" (sin las comillas).

Cree la entrada y server_ssl_key_passuse la frase de contraseña que creó para el server.pemarchivo (ejemplo: server-pem-frase) como su valor.

Encuentra la entrada server_ssl_ca_file. La documentación original de Zarafa supone que la ruta es /etc/zarafa/ssl/demoCA/cacert.pem, sin embargo, en CentOS, la ruta es /etc/pki/CA/cacert.pem. Actualice este valor en consecuencia.

server_ssl_ca_file = /etc/pki/CA/cacert.pem

Reinicie el servidor Zarafa.

service zarafa restart

Generemos el certificado para Apache.

cd /etc/zarafa/ssl
openssl req -nodes -newkey rsa:2048 -keyout zarafa-ssl.key -out zarafa-ssl.csr

Obtenemos otro formulario para crear un certificado.

Country Name (2 letter code) [XX]: **MY **
State or Province Name (full name) []: **Selangor**
Locality Name (eg, city) [Default City]: **Shah Alam**
Organization Name (eg, company) [Default Company Ltd]: **ELMIMA-Systems**
Organizational Unit Name (eg, section) []: **Zarafa Web Services**
Common Name (eg, your name or your server's hostname) []: **server.example.com** **Must be the full domain name of your server**
Email Address []: **[email protected]**

Luego, firme el certificado.

openssl x509 -req -in ./zarafa-ssl.csr -signkey zarafa-ssl.key -out zarafa-ssl.crt -days 9999

... y agregarlo a Apache.

cd /etc/httpd/conf.d
nano ssl.conf

Busque la línea "SSLCertificateFile /opt/yaffas/etc/ssl/certs/zarafa-webaccess.crt" y cámbiela a "SSLCertificateFile /etc/zarafa/ssl/zarafa-ssl.crt".

Busque la línea "SSLCertificateKeyFile /opt/yaffas/etc/ssl/certs/zarafa-webaccess.key" y cámbiela a "SSLCertificateKeyFile /etc/zarafa/ssl/zarafa-ssl.key"

Guarde el archivo y salga.

Ahora, abre el zarafa-webapp.confarchivo.

nano /etc/httpd/zarafa-webapp.conf

Encuentra las siguientes 2 líneas y descomentalas.

#php_flag session.cookie_secure on
#php_flag session.cookie_httponly on

Agrega las siguientes líneas.

RewriteEngine On
RewriteCond % !=on
RewriteRule (.*) https://pegasus.example.com/webapp/ [R] (Of course use your own real domain here)

Guarde el archivo y salga. Luego reinicie Apache.

service httpd restart

Ahora la aplicación web siempre usará HTTPS. Puedes hacer lo mismo para zarafa-webapp.conf.

Observaciones

Al probar la instalación en CentOS, noté algunos mensajes de error debido a la falta de carpetas. Puedes arreglarlo con los siguientes comandos.

mkdir -p /var/run/policyd-weight/cores/master
mkdir -p /var/run/policyd-weight/cores/cache
chown -R polw /var/run/policyd-weight

Para utilizar su nuevo servidor Zarafa como servidor de correo para su dominio, deberá configurar un registro A y un registro MX para su dominio. Si lo desea, puede usar su motor de búsqueda favorito para encontrar un asistente SPF, lo que facilita la creación de un registro SPF para su dominio.



Leave a Comment

Cómo instalar MODX Revolution en un CentOS 7 LAMP VPS

Cómo instalar MODX Revolution en un CentOS 7 LAMP VPS

¿Usando un sistema diferente? MODX Revolution es un sistema de gestión de contenido (CMS) de nivel empresarial rápido, flexible, escalable, gratuito y de código abierto escrito i

Configure su propia red privada con OpenVPN

Configure su propia red privada con OpenVPN

Vultr le ofrece una increíble conectividad de red privada para servidores que se ejecutan en la misma ubicación. Pero a veces quieres dos servidores en diferentes países.

How to Install and Configure CyberPanel on Your CentOS 7 Server

How to Install and Configure CyberPanel on Your CentOS 7 Server

Using a Different System? Introduction CyberPanel is one of the first control panels on the market that is both open source and uses OpenLiteSpeed. What thi

Install eSpeak on CentOS 7

Install eSpeak on CentOS 7

Using a Different System? ESpeak can generate text-to-speech (TTS) audio files. These can be useful for many reasons, such as creating your own Turin

Cómo instalar Thelia 2.3 en CentOS 7

Cómo instalar Thelia 2.3 en CentOS 7

¿Usando un sistema diferente? Thelia es una herramienta de código abierto para crear sitios web de comercio electrónico y administrar contenido en línea, escrito en PHP. Código fuente de Thelia i

Monitoree sus dispositivos usando LibreNMS en CentOS 7

Monitoree sus dispositivos usando LibreNMS en CentOS 7

¿Usando un sistema diferente? LibreNMS es un completo sistema de monitoreo de red de código abierto. Utiliza SNMP para obtener los datos de diferentes dispositivos. Una variedad

Cómo instalar Cacti 1.1 en CentOS 7

Cómo instalar Cacti 1.1 en CentOS 7

Cacti es una herramienta de gráficos y monitoreo de red de código abierto y libre escrita en PHP. Con la ayuda de RRDtool (herramienta de base de datos Round-Robin), Cacti se puede usar t

Cómo usar Sudo en Debian, CentOS y FreeBSD

Cómo usar Sudo en Debian, CentOS y FreeBSD

Usar un usuario sudo para acceder a un servidor y ejecutar comandos a nivel raíz es una práctica muy común entre Linux y Unix Systems Administrator. El uso de un sud

Cómo supervisar de forma segura los servidores remotos con Zabbix en CentOS 7

Cómo supervisar de forma segura los servidores remotos con Zabbix en CentOS 7

¿Usando un sistema diferente? Zabbix es un software gratuito y de código abierto listo para empresas que se utiliza para monitorear la disponibilidad de sistemas y componentes de red.

Cómo instalar MODX CMS y Nginx en CentOS 7

Cómo instalar MODX CMS y Nginx en CentOS 7

MODX es un sistema de gestión de contenido gratuito y de código abierto escrito en PHP. Utiliza MySQL o MariaDB para almacenar su base de datos. MODX está diseñado para el negocio i

Cómo instalar YOURLS en CentOS 7

Cómo instalar YOURLS en CentOS 7

YOURLS (Your Own URL Shortener) es una aplicación de análisis de datos y acortamiento de URL de código abierto. En este artículo, cubriremos el proceso de instalación

Setup Nginx-RTMP on CentOS 7

Setup Nginx-RTMP on CentOS 7

Using a Different System? RTMP is great for serving live content. When RTMP is paired with FFmpeg, streams can be converted into various qualities. Vultr i

Cómo instalar LimeSurvey en CentOS 7

Cómo instalar LimeSurvey en CentOS 7

LimeSurvey es una herramienta de encuestas en línea gratuita y de código abierto que se utiliza ampliamente para publicar encuestas en línea y para recopilar comentarios de encuestas. En este artículo, voy a

Cómo instalar Vanilla Forum en CentOS 7

Cómo instalar Vanilla Forum en CentOS 7

¿Usando un sistema diferente? Vanilla forum es una aplicación de foro de código abierto escrita en PHP. Es totalmente personalizable, fácil de usar y admite dispositivos externos.

Instalación de Netdata en CentOS 7

Instalación de Netdata en CentOS 7

¿Usando un sistema diferente? Netdata es una estrella en ascenso en el campo del monitoreo de métricas del sistema en tiempo real. En comparación con otras herramientas del mismo tipo, Netdata:

Cómo instalar el servidor Just Cause 2 (JC2-MP) en CentOS 7

Cómo instalar el servidor Just Cause 2 (JC2-MP) en CentOS 7

En este tutorial, aprende bien cómo configurar un servidor multijugador Just Cause 2. Requisitos previos Asegúrese de que el sistema esté completamente actualizado antes de comenzar

Cómo instalar Starbound Server en CentOS 7

Cómo instalar Starbound Server en CentOS 7

¿Usando un sistema diferente? En este tutorial, explicaré cómo configurar un servidor Starbound en CentOS 7. Requisitos previos Necesitas tener este juego contigo

Instalación y configuración de ZNC en CentOS 7

Instalación y configuración de ZNC en CentOS 7

ZNC es un enlace IRC gratuito y de código abierto que permanece permanentemente conectado a una red para que los clientes puedan recibir mensajes enviados mientras están desconectados. Thi

Cómo instalar Django en CentOS 7

Cómo instalar Django en CentOS 7

Django es un marco de Python popular para escribir aplicaciones web. Con Django, puede crear aplicaciones más rápido, sin reinventar la rueda. Si tu quieres

Cómo configurar ionCube Loader en CentOS 7

Cómo configurar ionCube Loader en CentOS 7

ionCube Loader es una extensión PHP que permite que un servidor web ejecute archivos PHP que han sido codificados usando ionCube Encoder y es necesario para ejecutar

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

A medida que la ciencia evoluciona a un ritmo rápido, asumiendo muchos de nuestros esfuerzos, también aumentan los riesgos de someternos a una singularidad inexplicable. Lea, lo que la singularidad podría significar para nosotros.

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

El impacto de la inteligencia artificial en la atención médica 2021

El impacto de la inteligencia artificial en la atención médica 2021

La IA en la salud ha dado grandes pasos desde las últimas décadas. Por tanto, el futuro de la IA en el sector sanitario sigue creciendo día a día.