Affichage des articles dont le libellé est openfire. Afficher tous les articles
Affichage des articles dont le libellé est openfire. Afficher tous les articles

jeudi 25 octobre 2012

Candy, chat are no dead yet

Candy est un chat en javascript qui semble très flexible et dispose de plus en plus de plugin.
http://candy-chat.github.com/candy/


Il s'intègre bien avec Openfire même si c'est un peu compliqué la première fois.
Je l'ai par exemple couplé avec Openfire, lui même couplé avec le LDAP de Zimbra pour créer un chat room pour les utilisateurs.

Config Openfire


Dans la paramètres du serveur activé HTTP Binding.
Activlé les ports 7070 et 7443.
Activé le script syntax : Allows BOSH.
Laisser ar défaut la Cross-domain policy.

Installation Candy


Télécharger Candy dans votre répertoire www.
Définir votre vhost.
La difficulté est dans Rewrite rule

RewriteRule http-bind/ http://monserver.com:7070/http-bind/ [P]


Config vhost


<VirtualHost *:8081>
ServerName mon.server.com
DocumentRoot /var/www/candy/
<Directory />
                Options FollowSymLinks
                AllowOverride All
</Directory>
<Directory /var/www/candy>
               Options Indexes FollowSymLinks MultiViews
              AllowOverride All
              Order allow,deny
              allow from all
</Directory>
             AddDefaultCharset UTF-8
            Options +MultiViews
            RewriteEngine On
            RewriteRule http-bind/ http://monserver.com:7070/http-bind/ [P]
</VirtualHost>

Config cany/index.html 


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Candy - Chats are not dead yet</title>
<link rel="shortcut icon" href="res/img/favicon.png" type="image/gif" />
<link rel="stylesheet" type="text/css" href="res/default.css" />
<link rel="stylesheet" type="text/css" href="candy-chat-candy-plugins-e9310e4/colors/candy.css" />
        <link rel="stylesheet" type="text/css" href="candy-chat-candy-plugins-e9310e4/roomPanel/default.css" />
        <link rel="stylesheet" type="text/css" href="candy-chat-candy-plugins-e9310e4/inline-images/candy.css" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script type="text/javascript" src="libs/libs.min.js"></script>
<script type="text/javascript" src="candy.min.js"></script>
<script type="text/javascript" src="candy-chat-candy-plugins-e9310e4/colors/candy.js"></script>
        <script type="text/javascript" src="candy-chat-candy-plugins-e9310e4/inline-images/candy.js"></script>
        <script type="text/javascript" src="candy-chat-candy-plugins-e9310e4/roomPanel/roomPanel.js"></script>

<script type="text/javascript">
$(document).ready(function() {
Candy.init( 'http://monserveur.com/http-bind/', {
core: { debug: false, autojoin: ['info@conference.monserver.com' ]},
view: { resources: 'res/', language: 'fr'}
});

// enable Colors plugin (default: 8 colors)
                        CandyShop.Colors.init();
CandyShop.InlineImages.init();
// enable RoomPanel plugin
                        CandyShop.RoomPanel.init({
                                // domain that hosts the muc rooms, only required if autoDetectRooms is enabled
                                mucDomain: 'info.monserver.com',

                                // allow you to force a list of rooms, only required if autoDetectRoom is disabled
                                roomList: [
                                       {
                                                name: 'info',
                                                jid:  'info@monserver.com'
                                        },
                                                                       ],
                                // show room list if all rooms are closed, default value is true. [optional]
                                showIfAllTabClosed: true,
                                // detect rooms before showing list, default value is true. [optional]
                                autoDetectRooms: true,
                                // how long in seconds before refreshing room list, default value is 600. [optional]
                                roomCacheTime: 600
                        });
Candy.Core.connect();
});
</script>
</head>
<body>
<div id="candy"></div>
</body>
</html>

Merci à Candy


Le support est assuré au travers de google group, la communauté Candy est très active.
Merci à eux.
https://groups.google.com/forum/#!forum/candy-chat


mardi 3 janvier 2012

Openfire et Zimbra

Zimbra et Openfire, l'union

A ma gauche Zimbra le serveur d'emails du monde open source, l'est-il vraiment ?
A ma droite Openfire, le serveur Jabber-like.

Maintenant que Zimbra n'offre plus de chat, concentez vous a vous unir ?
Oui mais ....

Oui, installe facile sur le meme serveur en faisant attention a Java et en indiquant bien a Openfire ou il doit trouver le Java de Zimbra.

Mais lors de la configuration d'Openfire pour avoir une seule gestion des utilisateurs, pensez a le connecter au LDAP de Zimbra. Et pour ce faire penser a verifier le password du l'utilisateur zimbra dans LDAP.
Car attention ce n'est pas le meme utilisateur que l'utilisateur admin  de Zimbra.

comme utilisateur zimbra
# zmlocalconfig -s zimbra_ldap_password


Ensuite ils seront unis pour le meilleur ou pour le pire.

Host:192.168.1.121
Port:389
Base DN:dc="patate",dc="chaude" ,dc="com"
Administrator DN:uid="zimbra",cn="admins",cn="zimbra" 





Ca c'est pour la gestion des utilisateurs mais pour la gestion de groupe, il est plus simple de rester dans Openfire.

Pour cela le plus simple est de ne pas faire de mapping et dans les proprietes du serveur de laisser les champs suivant vide :
  • ldap.groupDescriptionField 
  • ldap.groupMemberField
  • ldap.groupNameField
Et de modifier la propriete suivante 
provider.group.className = org.jivesoftware.openfire.group.DefaultGroupProvider

Securiser le serveur

Interdire la connexion depuis un autre serveur
Server to Server Settings = disable

Authoriser les connexions SSL

SparkWeb
Pour installer un chat live, le plus simple est de telecharger la paquet sparkweb et de le place dans le repertoire d'Openfire
/usr/share/openfire/plugins/admin/webapp/sparkweb/