Configurer Zarafa et Yaffas sur CentOS 6

Il existe de nombreuses solutions qui remplacent Microsoft Exchange par une solution Linux, mais toutes avaient un problème que je n'aimais vraiment pas. Lorsque je recevais des invitations à des réunions, elles arrivaient sous forme de pièces jointes sur mes appareils iOS et ne s'ouvraient pas directement dans l'application de calendrier. Zarafa était la seule solution que j'ai testée pour ouvrir des événements de calendrier dans l'application de calendrier. Ce guide vous apprendra comment configurer Zarafa et Yaffas sur CentOS 6.

Avant de commencer

Nous faisons les hypothèses suivantes pour faciliter la compréhension de la configuration. Vous devez cependant utiliser vos propres valeurs réelles pour ces éléments:

  • Le domaine sur lequel je souhaite recevoir du courrier est "example.com". Les utilisateurs sont comme "[email protected]", "[email protected]".
  • Le nom d'hôte du serveur de messagerie est "pegasus", donc le nom de domaine complet pour ce serveur est "pegasus.example.com".
  • Chaque fois que j'utilise le terme "panneau de contrôle du serveur", je fais référence au panneau vultr.com .

Préparation du serveur (VPS)

Commencez par déployer votre instance de serveur vultr.com. J'ai choisi 1 Go VPS exécutant CentOS 6, 32 bits. Une fois l'installation terminée, nous préparons le serveur à devenir un serveur de messagerie.

Dans l'écran "Mes serveurs" du panneau de configuration du serveur, cliquez sur le lien "Gérer" à côté de votre serveur nouvellement créé. Sur la page qui s'ouvre, vous pouvez voir les détails de votre serveur. Cliquez sur l'onglet IPv4, puis cliquez sur le bouton bleu "Mettre à jour". Un champ de saisie de texte apparaît et il est prédéfini avec quelque chose comme ".vultr.com". Remplacez cette entrée par le nom de domaine complet de votre serveur (exemple: pegasus.example.com) et appuyez sur le bouton bleu "Mettre à jour".

Il est maintenant temps de vous connecter au nouveau serveur. Ouvrez votre terminal ssh et connectez-vous à votre serveur. Alternativement, vous pouvez cliquer sur le bouton bleu "View Console" pour obtenir la fenêtre du navigateur avec l'écran de connexion de votre serveur.

ssh root@your_ip_address

La your_ip_addresspartie " " est l'adresse IP principale indiquée dans le panneau de configuration du serveur. Si vous utilisez le navigateur pour vous connecter à votre serveur, connectez-vous simplement en tant que root avec votre mot de passe root.

Tout d'abord, nous configurons le nom de domaine correct. Ouvrez le fichier de configuration réseau.

nano /etc/sysconfig/network

Remplacez "vultr.guest" par le nom de domaine complet de votre serveur (exemple: pegasus.example.com). Enregistrez le fichier avec Ctrl + X , puis Y .

Le deuxième point que nous changeons est le /etc/hostsfichier.

nano /etc/hosts

Ajoutez la ligne suivante. Il peut être en haut du fichier ou sur la deuxième ligne.

127.0.1.1 pegasus.example.com pegasus

Enregistrez le fichier avec Ctrl + X , puis Y . J'aime m'assurer que tout fonctionne après un redémarrage, donc je redémarre le VPS après ces changements.

reboot

Donnez à la machine un moment pour redémarrer, puis reconnectez-vous.

ssh root@your_ip_address

Yaffas et Zarafa ont besoin du référentiel EPEL, qui est déjà installé dans les sources sur les serveurs vultr.com. Ils ont également besoin du référentiel RPMforge. Exécutez la commande suivante pour installer ce référentiel.

Systèmes 32 bits:

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

Systèmes 64 bits:

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

Ensuite, nous ajoutons le référentiel Yaffas.

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

Collez le texte suivant dans le fichier nouvellement créé:

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

Enregistrez le fichier avec Ctrl + X , puis Y .

Pour éviter les problèmes de compatibilité, nous devons exclure certains éléments du référentiel EPEL. Ouvrez le fichier du référentiel.

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

Ensuite, dans la [epel]section, juste en dessous de la ligne "gpgkey", entrez ce qui suit.

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

La section complète ressemblera à ceci:

[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*

Enregistrez le fichier avec Ctrl + X , puis Y .

Importez la clé GPG pour le référentiel Yaffas:

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

Maintenant, nettoyons miam.

yum clean all

À ce stade, nous devrions être prêts pour l'installation de Yaffas. Installez-le en entrant simplement cette commande.

yum install yaffas

Yum vérifiera les dépendances et vous donnera un résumé.

Install 359 Package(s)

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

Appuyez sur Y , puis sur Entrée / Retour pour démarrer l'installation.

L'installation prendra un certain temps, alors offrez-vous un café et des biscuits en attendant la fin de l'installation.

MySQL

Avant de pouvoir commencer la configuration finale, nous devons configurer MySQL. Démarrez MySQL et lancez la configuration sécurisée.

service mysqld restart
mysql_secure_installation

Pour vous connecter à MySQL pour le sécuriser, nous aurons besoin du mot de passe actuel pour l'utilisateur root. Si vous venez d'installer MySQL et que vous n'avez pas encore défini le mot de passe root, le mot de passe sera vide, vous devez donc simplement appuyer sur Entrée / Retour ici.

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**

Configuration

Ouvrez un navigateur Web et accédez à l'URL suivante.

http://your_ip_address:10000

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

Le nom d'utilisateur initial est adminavec mot de passe yaffas.

Une fois connecté, vous verrez l'assistant de configuration. Il comporte 5 étapes. Appuyez sur "Suivant" pour commencer.

La première étape consiste à saisir un nouveau mot de passe administrateur. Entrez le nouveau mot de passe deux fois. Assurez-vous qu'il est suffisamment compliqué pour être sûr, mais n'oubliez pas. Cliquez ensuite sur "Suivant".

L'écran suivant configure le backend MySQL. La seule chose que vous devez saisir est le mot de passe que vous avez créé pour l'utilisateur root MySQL.

Sur le 4ème écran, configurez votre domaine de messagerie. Saisissez "example.com" dans le champ du domaine de messagerie principal. Ce doit être votre propre domaine. Appuyez sur "Suivant".

Je crois que le 5ème écran est facultatif, mais juste pour être sûr, créez un compte utilisateur qui sera l'administrateur LDAP, puis cliquez sur "Terminer".

Cela prendra un certain temps jusqu'à la fin de l'installation. Une fois l'opération terminée, une fenêtre contextuelle vous indique que tout a réussi. Cliquez sur le bouton "OK". Après un moment, vous verrez à nouveau l'écran de connexion. Vous pouvez vous connecter en tant qu'administrateur avec le nouveau mot de passe que vous avez créé lors de la configuration.

Suppléments

Pendant l'installation, certains certificats généraux auto-signés pour l'application sont générés et installés. Personnellement, je préfère avoir mes propres certificats auto-signés pour montrer les valeurs que j'ai entrées et je veux également m'assurer que toutes les demandes sont envoyées via HTTPS.

Zarafa est livré avec quelques scripts pour générer vos propres certificats. Ce sont bien sûr des certificats auto-signés.

Faisons un foyer pour l'autorité de certification.

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

... puis exécutez le script:

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

Le paramètre "serveur" signifie que le certificat que nous créons sera appelé server.pem.

Vous serez accueilli avec le message suivant.

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

Appuyez sur Entrée ou Retour .

Le message suivant qui apparaît est:

CA certificate filename (or enter to create)

Appuyez sur Entrée ou Retour pour continuer et créer le certificat CA.

Après une petite activité à l'écran, vous serez invité à saisir la phrase secrète PEM. Entrez une phrase secrète pour le certificat CA, mais assurez-vous de ne pas l'oublier, car vous en aurez besoin plus tard. Par souci de simplicité, supposons que nous avons choisi la phrase secrète "ca-root-pem".

Répondez aux questions pour générer le certificat. Les réponses ici sont mes exemples, alors remplacez-les par les valeurs correctes pour vous-même.

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**

Ensuite, il vous demandera la phrase secrète du cakey.pemfichier. Il s'agit de la phrase secrète que vous avez créée précédemment.

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

Vous verrez une petite activité à l'écran, puis il vous demandera une phrase de passe PEM. Il s'agit de la phrase secrète du server.pemfichier que nous avons créé. Entrez tout ce que vous souhaitez, mais assurez-vous de ne pas l'oublier. Pour plus de simplicité, nous utiliserons "server-pem-phrase".

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

Il est temps d'entrer les valeurs du server.pemfichier.

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**

Une certaine activité à l'écran montre que le certificat est généré.

Sign the certificate? [y/n]:

Entrez Y et appuyez sur Entrée / Retour .

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

Entrez Y et appuyez sur Entrée / Retour .

Create public key from this certificate? [y]

Nous n'en avons pas vraiment besoin mais je suppose que cela ne fait pas de mal de le créer. Appuyez simplement sur Entrée / Retour .

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

Il est maintenant temps de configurer le server.cfgfichier pour Zarafa.

nano /etc/zarafa/server/cfg

Recherchez l'entrée server_ssl_enabledet changez sa valeur en "oui" (sans les guillemets).

Recherchez l'entrée server_ssl_portet confirmez qu'elle est 237.

Recherchez l'entrée server_ssl_key_fileet définissez sa valeur sur " /etc/zarafa/ssl/server.pem" (sans les guillemets).

Créez l'entrée en server_ssl_key_passutilisant la phrase secrète que vous avez créée pour le server.pemfichier (exemple: expression-serveur-pem) comme valeur.

Trouvez l'entrée server_ssl_ca_file. La documentation originale pour Zarafa suppose que le chemin est /etc/zarafa/ssl/demoCA/cacert.pem, cependant sur CentOS, le chemin l'est /etc/pki/CA/cacert.pem. Mettez à jour cette valeur en conséquence.

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

Redémarrez le serveur Zarafa.

service zarafa restart

Générons le certificat pour Apache.

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

Nous obtenons un autre formulaire pour créer un certificat.

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]**

Ensuite, signez le certificat.

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

... et ajoutez-le à Apache.

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

Recherchez la ligne "SSLCertificateFile /opt/yaffas/etc/ssl/certs/zarafa-webaccess.crt" et remplacez-la par "SSLCertificateFile /etc/zarafa/ssl/zarafa-ssl.crt".

Recherchez la ligne "SSLCertificateKeyFile /opt/yaffas/etc/ssl/certs/zarafa-webaccess.key" et remplacez-la par "SSLCertificateKeyFile /etc/zarafa/ssl/zarafa-ssl.key"

Enregistrez le fichier et quittez.

Maintenant, ouvrez le zarafa-webapp.conffichier.

nano /etc/httpd/zarafa-webapp.conf

Trouvez les 2 lignes suivantes et décommentez-les.

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

Ajoutez les lignes suivantes.

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

Enregistrez le fichier et quittez. Redémarrez ensuite Apache.

service httpd restart

Désormais, l'application Web utilisera toujours HTTPS. Vous pouvez faire de même pour zarafa-webapp.conf.

Remarques

Lors du test de l'installation sur CentOS, j'ai remarqué des messages d'erreur dus à des dossiers manquants. Vous pouvez le corriger avec les commandes suivantes.

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

Pour utiliser votre nouveau serveur Zarafa comme serveur de messagerie pour votre domaine, vous devrez configurer à la fois un enregistrement A et un enregistrement MX pour votre domaine. Si vous le souhaitez, vous pouvez utiliser votre moteur de recherche préféré pour trouver un assistant SPF, ce qui facilite la création d'un enregistrement SPF pour votre domaine.



Leave a Comment

Comment générer des clés SSH?

Comment générer des clés SSH?

Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.

Créer un serveur de messagerie avec hMailServer sous Windows

Créer un serveur de messagerie avec hMailServer sous Windows

Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.