Axiso

Notes

Communications interrompues avec OVH téléphonie VoIP

Notes — juillet 2016

Un problème apparu récemment. Selon les cas, il arrivait que que des appels entrants soient interrompus après environ 6 minutes 30 secondes de communication.
La réponse du technicien OVH :

nous constatons des messages d'erreurs de type "incompleteLegOnREGISTER" ou "incompletemINVITE" . Ces messages sont liés plutôt à la configuration de votre réseau et à l’ouverture des ports dédiés à la téléphonie. Pour cela je vous invite à vérifier les points suivants sur votre réseau:
 - Le protocole SIP ALG doit être désactivé sur le routeur
 - La durée de vie des sessions UDP doit être supérieure à 180 secondes
 - Le trafic vers les réseaux 91.121.128.0/24 et 91.121.129.0/24 doit être autorisé sur les ports 5060 et 5962 UDP, ainsi que la plage allant de 30000 à 40000 UDP

Or tout ceci ne peut pas être configuré de façon simple sur une connexion Freebox.
Le technicien OVH insiste et met en cause le fournisseur d’accès internet. Une fois ce dernier contacté, il confirme ne rien pouvoir modifier mais laisse entendre que si d’autres clients OVH ont eu leur souci résolu, alors c’est que OVH peut permettre à leurs clients de contourner ces configurations par une « manipulation » plus ou moins autorisée mais que cela est le problème d’OVH.
Une fois ceci porté à la connaissance du techncien OVH sa réponse fut un simple « Je vous invite à redémarrer votre téléphone manuellement afin de prendre la configuration effectuée à distance ». Depuis, plus de communications interrompues.

Pourquoi alors demander à leur client téléphonie de contacter le FAI s’ils savent que c’est inutile et qu’ils finiront par réaliséer cette « manipulation » ?!? Pourquoi tant de secret de part et d’autre ??


Installation d’un serveur d’hébergement Linux – Debian

Serveur — janvier 2016

Objectifs

Mise en service d’un serveur LAMP destiné principalement à l’hébergement de sites et de leur messageries.
Ces notes sont valables pour un serveur nouvellement initialisé sur la base d’un système Debian standard sans aucune spécificité intégrée par le fournisseur du service.

(more…)


AdWords Editor 11.1.3 sur Wine 1.6

En vrac — septembre 2015

Clic droit sur google_adwords_editor.msi > Open with Wine Windows Program Launcher.

Erreur à l’installation : « AdWords Editor cannot be installed on this operating system ».
Solution : winecfg > Windows Version : Windows 7 (8).

Erreur au lancement : « The application failed to start because it could not find or load the Qt platform plugin « windows ». »
Solution : winecfg > Windows Version : Windows XP.

…….. ><


Installation de Linux Kubuntu

Linux — septembre 2015

Installation de Kubuntu 15.04 avec partition encryptée, LVM et sans swap.
Sur un ordinateur Lenovo Thinkpad T450 avec disque SSD 500Go et 16Go de mémoire RAM.

Préparer l’image de Kubuntu sur une mémoire USB.
Lancer Kubuntu en test, au besoin en sélectionnant l’USB à partir du BIOS (F12).

Applications > System > Partition Editor. New Partition Table GPT

Créer partitions.

type | label | volume fat32 | EFI | 256 Mo ext2 | boot | 256 Mo ext4 | root | 440000 Mo
Apply Apply pending operations Ok

Fermer outil de partition.

sudo -s
cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 2000 /dev/sda3

Choisir passe. Attention si le clavier est actuellement interprété en QWERTY. Dans ce cas utiliser de préférence des caractères communs à l’AZERTY. Il sera possible de modifier le passe plus tard.

cryptsetup luksOpen /dev/sda3 root

Indiquer passe choisi.

pvcreate /dev/mapper/root
vgcreate vgroot /dev/mapper/root
lvcreate -n lvroot -l 100%FREE vgroot
mkfs.ext4 /dev/mapper/vgroot-lvroot

Ne pas fermer Konsole. Lancer installation de Kubuntu.

Continue in UEFI mode Manual
/dev/mapper/vgroot-lvroot | ext4 | / /dev/sda1 | efi | EFI System Partition /dev/sda2 | ext2 | /boot /dev/sda3 | (ne rien modifier) Device for boot loader installation /dev/sda
Continue Continue Continue

Maintenir session ouverte.

blkid /dev/sda3

Copier ID partition luks en mémoire.

mount /dev/mapper/vgroot-lvroot /mnt
mount /dev/sda2 /mnt/boot
mount --bind /dev /mnt/dev
chroot /mnt
mount -t proc proc /proc
mount -t sysfs sys /sys
mount -t devpts devpts /dev/pts
blkiduuid=$blkiduuid
echo "root UUID=$blkiduuid none luks,discard,lvm=root" >> /etc/crypttab
update-initramfs -k all -c
exit
cryptsetup luksHeaderBackup /dev/sda3 --header-backup-file /root/kubuntu_luks_header.img

Stopper le système.
Retirer le disque Kubuntu
Relancer.

Modifier le passe de la partition encryptée

cryptsetup luksChangeKey /dev/sda3 -S 0

Aligner les montants en police Helvetica sur les PDF

Magento — novembre 2014 , , ,

Magento 1.9 génère les PDF avec l’ajout de la police de caractère LinLibertine. Or, celle-ci ne faisant pas partie des 14 polices PDF de base, elle est incluse aux fichiers générés, augmentant leur volume à plus de 1Mo.
Afin de réduire le volume du fichier à 20Ko, le recours à ces 14 polices est possible. Cependant, l’affichage des textes en colonne semble alors mal géré par Zend Framework et sa fonction widthsForGlyphs(). Ceci est particulièrement visible dans le bloc des totaux insertTotals() de Magento où les nombres supérieurs à 1000€ sont placés avec un décalage à gauche.
Apparemment, la valeur de largeur attribuée à certains caractères n’est pas correcte. Le caractère de l’espace particulièrement.
Voici une correction qui peut fonctionner, dans app/code/core/Mage/Sales/Model/Order/Pdf/Abstract.php :

public function widthForStringUsingFontSize($string, $font, $fontSize)
    {
        $drawingString = '"libiconv"' == ICONV_IMPL ?
            iconv('UTF-8', 'UTF-16BE//IGNORE', $string) :
            @iconv('UTF-8', 'UTF-16BE', $string);

        $widthDecrease = 0;

        $characters = array();
        for ($i = 0; $i < strlen($drawingString); $i++) {
            $characters[] = $character = (ord($drawingString[$i++]) << 8) | ord($drawingString[$i]);
            if(160 == $character) {
                $widthDecrease += 222;
            }
        }
        
        $glyphs = $font->glyphNumbersForCharacters($characters);
        $widths = $font->widthsForGlyphs($glyphs);
        $stringWidth = ((array_sum($widths) - $widthDecrease) / $font->getUnitsPerEm()) * $fontSize;
        return $stringWidth;

    }

Ainsi une largeur plus adaptée est appliquée. 160 est le code du caractère espacement. La valeur 222 correspond à la différence constatée entre celles de l’espace et de la virgule : catactère -> 556, espace -> 500, virgule -> 278.
C’est étrange mais ça fonctionne.


Lecteur multimédia Raspberry Pi avec DVD externe

En vrac — janvier 2014

Installation d’un « multimédia center » sur un Raspberry Pi avec lecteur de DVD externe.

Matériel :

  • Raspberry Pi, modèle B
  • Lecteur de DVD externe Lenovo

Vu que leurs livraison par e-mail peut nécessiter quelques heures, acheter dès à présent les licences MPEG-2 et VC-1 : http://www.raspberrypi.com . 3.60£, soit 4.30€.

Télécharger la version « Standalone Image » de Raspbmc : http://download.raspbmc.com/downloads/bin/filesystem/prebuilt/raspbmc-final.img.gz .

Insérer la carte SD et la préparer avec une nouvelle partition et la copie de Raspbmc.

sudo cfdisk /dev/sdb
New > Primary > Volume total > Write > yes > Quit.
sudo dd if=/home/raspberry/raspbmc-final.img of=/dev/sdb bs=4M

Ejecter et ré-insérer la carte ou la monter.

Télécharger la dernière version du fichier script.PlayDVD-0.4.01.zip présent à cette adresse. S’inscrire si besoin : http://forum.stmlabs.com/showthread.php?tid=7623
Ne pas extraire l’archive.
Copier l’extension sur la partition de la carte contenant Raspbmc (et non celle avec les quelques fichiers de lancement).

cp /home/raspberry/script.PlayDVD-0.4.01.zip /media/user/A1B2C3D4/home/pi

Ejecter les deux partitions de la carte mémoire. L’insérer dans le Raspberry.
Connecter l’adaptateur électrique.

La procédure suivante est décrite sur http://forum.stmlabs.com/showthread.php?tid=7623 . Un script y est aussi disponible.

Attendre que le système se configure.

ssh pi@192.168.0.12

Passe : raspberry

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y bzip2 gcc make mplayer curl lsdvd
wget http://www.videolan.org/pub/libdvdcss/1.2.13/libdvdcss-1.2.13.tar.bz2
tar -xvjf libdvdcss-1.2.13.tar.bz2
cd libdvdcss-1.2.13
./configure
make
sudo make install
sudo cp /usr/local/lib/libdvdcss* /lib
sudo apt-get -y -f install
sudo mkdir /media/LARGEFILES
sudo mkfifo /media/LARGEFILES/dvd.mpg
sudo chmod o+w /media/LARGEFILES/dvd.mpg
cd ~
sudo vi /boot/config.txt

Ajouter les deux licences reçues.

decode_MPG2=0x1a2b3c4d decode_WVC1=0x5e6f7g8h

(ou
Sur l’écran Programmes > Raspbmc settings > System configuration, entrer les licences reçues à MPEG2 codec license et VC1 codec key.
Attention, il est possible que le clavier soit en configuration Qwerty.)

Sur le Raspberry, configurer les locales de Raspbmc avec, par exemple fr_FR UTF8.

Système > Paramètres > Extensions > Installer depuis un fichier zip > Dossier racine. Sélectionner script.PlayDVD-0.4.01.zip.

Il devrait maintenant être possible de lancer la lecture avec l’écran Vidéos > Extensions > PlayDVD > DVD Drive ou Lire le disque sur l’accueil.
Si la sortie son utilisée n’est pas celle du connecteur HDMI, il est possible de la modifier une fois le film en lecture via la configuration du son (icône du haut-parleur).

Vidéo saccadée

Tenter de modifier les options de synchronisation présentes sur Settings > Video > Playback et en cliquant le bouton situé en bas à gauche afin d’obtenir les options en mode avancé.

Ou préciser le lecteur DVD logiciel à utiliser par le système :

vi /home/pi/.xbmc/userdata/advancedsettings.xml
<advancedsettings>   <video>     <defaultdvdplayer>dvdplayer</defaultdvdplayer>   </video> </advancedsettings>

Clavier bluetooth Keysonic KSK-3201 BT et Raspberry Pi / Raspbmc

En vrac — janvier 2014

Le clavier bluetooth Keysonic KSK-3201 BT fonctionne sur Raspbmc. Le clavier et le trackball.
Ceci malgré l’erreur suivante obtenue lors de la procédure d’association :

Creating device failed: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Installation du bluetooth

sudo update-rc.d -f dbus defaults
sudo apt-get install -y bluez bluez-utils bluez-hcidump

Activer l’association sur le clavier (Fn + F1) et poursuivre aussitôt avec :

sudo hcitool scan

qui devrait afficher l’adresse MAC du clavier.

Scanning ...
  00:11:EE:22:FF:33       Bluetooth Keyboard

Eteindre et réactiver le clavier si ce n’était pas le cas et recommencer.

Copier l’adresse MAC et l’utiliser :

bluez-simple-agent hci0 00:11:EE:22:FF:33
RequestPinCode (/org/bluez/921/hci0/dev_00_11_EE_22_FF_33)
Enter PIN Code: 

Indiquer 0000 puis valider et immédiatement, à l’aveugle, entrer ce même code sur le clavier bluetooth et appuyer sur Entrée.
Le message suivant devrait apparaître.

Release
New device (/org/bluez/921/hci0/dev_00_11_EE_22_FF_33)

Enregistrer le clavier qui sera automatiquement reconnu et reconnecté.

bluez-test-device trusted 00:11:EE:22:FF:33 yes
bluez-test-input connect 00:11:EE:22:FF:33

Au lancement de Raspbmc, l’association bluetooth peut nécessiter quelques dizaines de secondes avant que le clavier devienne utilisable.


Configurer les boutons de la souris avec Linux

En vrac — juin 2013

Parfois les boutons complémentaires d’une souris ne sont pas pris en charge par Linux. Il convient tout d’abord de détecter manuellement leur identifiant puis de l’affecter à une action sur une extension qui jouera le rôle de pilote.

Installer les utilitaires requis :

sudo aptitude install xautomation xdotool xbindkeys xbindkeys-config

Lancer l’utilitaire permettant de détecter toutes les consignes provenant de la souris :

xev

Sans bouger la souris, appuyer sur le bouton à détecter.
Un évènement similaire à celui-ci (bouton « retour » d’une souris Logitech) devrait s’afficher :

ButtonRelease event, serial 36, synthetic NO, window 0x4200001,
root 0xb4, subw 0x4200002, time 36119885, (39,40), root:(41,866),
state 0x10, button 8, same_screen YES

Ici c’est la donnée « button 8″ qui permet de connaître l’identifiant du bouton.

Ajouter les lignes suivantes au fichier de configuration :

echo '# souris bouton "retour"
"xte 'keydown Alt_L' 'key Tab' 'keyup Alt_L'"
  b:8' >> ~/.xbindkeysrc

Ici il est spécifié que l’appui sur le bouton retour (identifiant 8) simule la séquence de touches Alt+Tab.

Initialiser le module :

killall xbindkeys && xbindkeys

Symfony – Container extension « security » is not registered

Symfony — août 2012

Suite à la mise à jour de Symfony en version 2.1, la commande cache:clear génère cette erreur :

LogicException: Container extension « security » is not registered

L’augmentation du paramètre memory_limit de php.ini suggérée ici n’apporte aucun changement : http://groups.google.com/group/symfony2/tree/browse_frm/month/2012-06/76752f4e06cda1ed?rnum=161&lnk=nl

La solution fut d’obtenir la dernière version des fichiers suivants et de les remplacer dans le projet.

  • app/AppCache.php
  • app/bootstrap.php.cache
  • app/check.php
  • app/console
  • app/phpunit.xml.dist
  • app/SymfonyRequirements.php
  • app/upgrade.php

Fail2ban – Commandes et notes

En vrac — novembre 2011

Identification FTP

Une adresse distante peut tenter de se connecter à de multiples occasions au serveur FTP. Que ce soit volontaire ou non, ceci engendre un cumul d’alertes dans le journal du serveur :

Nov 1 01:02:03 serveur pure-ftpd: (?@111.222.333.444) [WARNING] Sorry, cleartext sessions are not accepted on this server.#012Please reconnect using SSL/TLS security mechanisms.

Pour bloquer ce serveur distant parasite avec Fail2ban :

echo -e '[Definition]

__errmsg = (?:Authentication failed for user|Sorry, cleartext sessions are not accepted on this server)

failregex = pure-ftpd: \(.+?@\) \[WARNING\] %(__errmsg)s.*$

ignoreregex =' > /etc/fail2ban/filter.d/pure-ftpd.conf

echo -e '[pure-ftpd]

enabled  = true
port     = ftp,ftp-data,ftps,ftps-data
filter   = pure-ftpd
logpath  = /var/log/syslog
maxretry = 6' >> /etc/fail2ban/jail.conf
/etc/init.d/fail2ban reload

Une fois que Fail2ban aura détecté des alertes répétées correspondant au filtre mis en place, il activera la protection et l’indiquera dans son propre journal.

tail /var/log/fail2ban.log
fail2ban.actions: WARNING [pure-ftpd] Ban 203.126.99.218

Older Posts »