Installer Punjab – serveur BOSH XMPP

Afin d'utiliser un client web XMPP web en Ajax/php, il est nécéssaire de disposer d'un serveur BOSH en plus de son serveur XMPP.

Voici comment installer le serveur BOSH Punjab sous Ubuntu.

1) Installer : Python , python-twisted :
sudo APT-GET install python python-twisted

2) Télécharger la dernière version de punjab sois via Git ou via l'archive ZIP :

wget [URL_DE_L_ARCHIVE] 

décompresser l'archive :
unzip l_ARCHIVE.zip

3) Une fois dans l'archive on lance le script de configuration:

python ./setup.py install

 

4) On lance punjab :

twistd -ny punjab.tac

 

Par défaut le serveur est lancé sur le port  5280
http://ip_de_votre_serveur:5280/

Le serveur bosh lui est sur l'URL : http://ip_de_votre_serveur:5280/http-bind

Afin d'éviter les problèmes de cross-domaine, nous allons créer un alias apache avec un reverse proxy.

Dans votre fichier apache2.conf :

<Location /http-bind>

ProxyPass http://localhost:5280/http-bind

ProxyPassReverse http://localhost:5280/http-bind

SetEnv force-proxy-request-1.0 1

SetEnv proxy-nokeepalive 1

</Location> 

Votre serveur bosh est maintenant disponible via l'adresse :
http://vos_domaines.tld/http-bind

Il est possible de faire ceci sur un vhost pour un seul domaine.
Dans mon cas j'ai besoin d'accéder au même serveur BOSH depuis plusieurs domaine.

phpWatch UP notification

phpWatch est un petit outil écrit en PHP permettant de faire du monitoring de site web et/ou de port.
Il n'a pas la prétention d'être aussi puissant qu'un Nagios mais se révèle très pratique pour monitorer de petite infra / appli / outil, comme un NAS à la maison, un routeur, son site perso, son intranet, etc…
Bien que phpWatch fonctionne très bien pour déclancher des alertes de downtime, il lui manque une petite fonction de base… celle de déclancher une alerte lors d'un retour à la normal (uptime).

Pour résoudre ce petit manque, rien de plus simple :

Dans src/Monitor.php
On va passer un "status" (DOWN/UP) pour modifier le message de notification.
Par défaut, on passera le status "DOWN".

Ligne 167 :  public function sendNotifications();
On ajoute : $status="DOWN" à la fonction "sendNotifications()", ce qui donne :

public function sendNotifications($status="DOWN");

 

Ligne 171 : doNotify($this);
On ajoute : ,$status à la fonction doNotify(), ce qui donne : 

$channel->doNotify($this,$status); 

 

Ligne 199 : On va ajouter une condition, pour le cas d'un UPTIME avec une notification à 0. Ainsi, lors du changement de status "DOWN => UP" une notification est déclenchée et ce, qu'une fois. 

On va remplacer  : 
$this->status = STATUS_ONLINE;
$this->fail_count = 0;
$this->send_notifications = true; 

Par :

$this->status = STATUS_ONLINE;

  if($this->status == "1" && $this->send_notifications == "0")
    {
       //on envoie un UP
       $this->sendNotifications("UP");
    }

$this->fail_count = 0;
$this->send_notifications = true; 

ligne ~ 223 : On ajoute le "DOWN" à la fonction "sendNotifications()" ce qui donne :

$this->sendNotifications("DOWN");

 

Dans src/Channel.php : 

Ligne 89 :  Ajout de la variable "$status="DOWN""

public abstract function doNotify($monitor,$status="DOWN"); 

Dans src/channels/EmailChannel.php et SmsCHannel.php :
Exemple ici avec Smschannel.php

ligne 39 : Ajout de la variable "$status="DOWN"

public function doNotify($monitor,$status="DOWN")

Puis on ajoute avant l'appel de $this->getMessage($monitor); la variable $status 

ce qui donne :

$status." : ".$this->getMessage($monitor); 

A faire également dans EmailChannel.php 

Le message sera ainsi composé de :
UP/DOWN : Message configuré dans les contacts notification channels de votre phpWatch.

Roudcube webmail 0.9 + plugin Account

Depuis la mise à jour de Roundcube webmail 0.9, il n'est plus possible d'utiliser le plugin "Account" avec d'autres hôtes IMAP que celle du compte principale.
Voici comment remédier au problème.

"Account" est un plugin permettant de naviguer entre plusieurs boites mail IMAP configurées sur un seul compte Roundcube.
L'avantage, évident, étant de pouvoir configurer et consulter l'ensemble de ses boites mails avec une seule instance, comme le ferait un Thunderbird.

Afin de palier au problème, 2 Solutions s'offrent à vous :

– Passer à identities_imap le plugin "Account" n'étant plus supporté / mise à jour.

– Ou, adapter le plugin. Pour ce faire :
dans : ./plugins/accounts/

1) Editer le fichier "accounts.php"
2) ligne 315 et 361 ajouter : 

 $_SESSION['storage_host'] = $_SESSION['imap_host_sav'];  

$_SESSION['imap_host'] ayant été remplacé par :  $_SESSION['storage_host']

Ouverture de Mega

Voila voila, le service Mega est enfin ouvert, petit compte rendu express, après 30 min d'utilisation..

Donc comme on le sait :

– Espace gratuit de 50Go pour les comptes gratuit.
   – 9.99€/mois pour 500Go
   – 19.99€/mois pour 1To
   – 29.99€/mois pour 2To

– Console en drag & drop en html5 pour le transfère de fichier.
– Interface Multi-langue.
– Cryptage par clef des fichiers.
   – Les fichiers sont cryptés via une clef privée, cette dernière est basée sur votre MDP.
     Attention à bien choisir son MDP il ne sera pas la suite pas possible de le modifier.
     (MDP= Mot De Passe)
– Partage de fichier via url/email comme chez Dropbox, Gdrive et cie..
– Pour le moment aucun client de synchro, mais au vu de l'accès à l'API des applications non officielles ne devraient pas tarder.
– Mega annonce la copie sur au moins 2 sites (DC) distants différents pour garantir l'accès et la sûreté des fichiers.
– Diverses options et réglages sur la vitesse du transfère.

Bon il y a un petit quelque chose de bizzar et louche sur cette interface, je ne saurais vous dire quoi… Malgré, le SSL et les diverse option de transfère, quelque chose me gène, j'ai un sentiment d'insécurité. Je sais pas, peut-être lié au fait de ne pouvoir changer mon MDP à tout moment. Ayant une politique stricte des mots de passe, cette gène va passer, mais attention, pensez à réserver un mot de passe dédier à Mega… un mot de passe fort, complexe, ce dernier fait office de clef privée.

Globalement, je suis enthousiasmé par de l'arrivée de ce nouveau service 🙂 j'attends avec impatience un client de synchro.

Asus zenbook et Ubuntu 12.x Erreur Grub-install

Lors de l'installation d'Ubuntu sur des Asus Zenbook (entre autre) via une clef USB, au moment de l'installation de GRUB, un message d'erreur du type : 

L'execution de <grub/sda/> a echoué.
Cette arreur est fatale.

Pour résoudre le problème, terminer l'installation, avec l'erreur.

On va réparer le MBR et l'installation de GRUB avec Boot-repair.

Rebooter sur votre clef USB en mode liveUSB d'Ubuntu.

Une fois le système démarré, lancez un terminal et exécutez : 

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update; sudo apt-get install -y boot-repair && boot-repair

Une fois l'installation terminée, lancez "boot-repair".

Aller dans les "Options avancées".
Dans l'onglet "Emplacement de GRUB" sélectionnez où "placer GRUB" selon votre choix.

Puis dans l'onglet "Option de GRUB" :
Cochez : Purger GRUB avant de le réinstaller

Puis cliquez sur :

Appliquer 

 

Il ne vous reste plus qu'à suivre les instructions et redémarrer une fois terminer.

 

Ubuntu : mountall: Déconnecté de plymouth

Suite à une mise à jour du driver Nvidia sous Ubuntu 12.10, le message : 

mountall: Déconnecté de plymouth

S'affichait au démarrage.

 

Solution trouvée, supprimer tous les drivers officiels Nvidia :

 dpkg –get-selections | grep nvidia

Puis :  

 sudo apt-get remove [Nom des packages Nvidia]

Un petit reboot :
sudo reboot

et c'était réglé. 

Ubuntu : Mise à jour en ligne de commande d'une LTS à une "normale"

Procédure pour effectuer une mise à jour d'ubuntu depuis une version LTS vers une version "normale" d'Ubuntu.

1) Installer update-manager-core
sudo apt-get install update-manager-core

2) Editer "release-upgrades"
Sudo gedit /etc/update-manager/release-upgrades
ou pour ceux préférant nano :
Sudo nano /etc/update-manager/release-upgrades

=> Modifier : Prompt=lts en Prompte=normal 

3) On met à jour
sudo apt-get update


sudo do-release-upgrade -d
ou
sudo apt-get dist-upgrade -d

Gmail / Google Apps, synchroniser les calendriers partagés avec iOS/Iphone/Ipad

Par défaut avec un appreil sous iOS (Sous Android la question ne se pose évidemment pas), les calendriers Google partagés ne se synchronisent pas.
Voici comment activer cette fonction

1) Configurez votre compte mail sur votre Idevice.
2) Via le navigateur du mobile, se rendre sur : http://m.google.com
3) Changez la langue et le pays, pour "Etats-unis" et "English".
L'option de sync n'est pas dispo dans la version FR.
4) Choisir l'option "Sync".
5) Se connecter à son compte Google. "sign in whith your Google Account".
6) Une liste d'appareils apparaît, sélectionnez le votre et définissez les calendriers à synchroniser.
7) Sauvez les paramètres.
8) Retournez dans l'application "Calendrier".
9) Allez dans le menu "Calendriers" et la liste devrait se mettre à jour.

Alerte : Factory reset via une page sur un terminal Android avec TouchWiz

Une faille de sécurité importante a été découverte sur les terminaux samsung possédant TouchWiz. Du moins sur les SGS2 et SGS3.
Ceci pourrait infecter d'autres terminaux.

Le code USSD *2767*3855# exécute via un appel téléphonique a pour effet de lancer un "reset factory". Comme son nom l'indique, cela a pour conséquence d'effectuer une remise en état d'usine de votre appareil et donc, supprime avec effet immédiat le contenu de votre téléphone (pas le contenu de la carte SD).

Résultat, il a été découvert qu'une simple frame SRC incluant : "tel:*2767*3855#" a pour effet d’exécuter le code USSD et donc de lancer le "reset factory".

Les code USSD  (Unstructured Supplementary Service Data) sont des codes services utilisés par les opérateurs (par exemple pour consulter vos crédits) ou par les constructeurs afin de disposer de fonctions cachées.

Un correctif serait en cours de développement, en attendant faites attention au site sur lesquelles vous surfez et surtout backup et mise à jour !