Ubuntu: installer un autre bureau qu'Unity et retrouver Gnome Classic photo

Ubuntu: installer le bureau Gnome Classic à la place d’Unity

ubuntu-update

J’ai récemment hérité d’un MacBook Pro, sur lequel j’ai installé Ubuntu.

Depuis quelques années maintenant, la société Canonical qui publie Ubuntu a fait le choix d’imposer un nouveau bureau, appelé Unity, qui s’adresse aux petits écrans des laptops et autres netbooks.

Personnellement, je ne suis pas fan du bureau Unity et préfère retrouver un bureau Gnome (à prononcer Génome) plus classique, avec des menus qui me permettent d’accéder aux applications.

Plusieurs solutions s’offrent à nous : on peut retrouver Gnome Classic (basé sur Gnome 2), ou alors installer des bureaux plus récents comme MATE ou Cinnamon, tout deux développés par l’équipe de Linux Mint.

Sur mon Ubuntu, j’ai opté pour Gnome Classic, certes vieillissant mais qui me convient bien. Voici donc comment l’installer.

Installer le bureau Gnome Classic

Pour installer Gnome Classic Desktop, il suffit de mettre à jour nos dépôts et d’installer le paquet gnome-session-flashback:

sudo apt update && sudo apt install gnome-session-flashback

Ensuite, il ne vous reste plus qu’à quitter votre session.

Au démarrage de la nouvelle session, cliquez sur le logo Ubuntu à droite de votre nom d’utilisateur et enfin sélectionnez Gnome Flashback (Metacity):

Ubuntu: installer un autre bureau qu'Unity et retrouver Gnome Classic photo

Entrez votre mot de passe de session: vous venez de retrouver Gnome Classic !

Ubuntu: installer un autre bureau qu'Unity et retrouver Gnome Classic photo 1
Android et iPhone : pack de 300 sonneries folk, rock, hard-rock et metal pour votre mobile photo

Android et iPhone: pack de 300 sonneries folk, rock, hard-rock et metal pour votre smartphone

J’aime bien changer ma sonnerie de smartphone de temps à autre, histoire d’éviter la lassitude et les réflexes pavloviens.

Petit à petit, ma collection de sonneries a grandi jusqu’à atteindre plus de 300 sonneries au format m4a et je me suis dit que cela pourrait vous intéresser.

Au menu, vous trouverez donc des sonneries des styles musicaux que j’affectionne : cela va du folk au rock et hard-rock en passant par le metal. Il devrait y en avoir pour tous les goûts, du moment que vous êtes plutôt rock (voire classic rock).

Télécharger le pack de sonneries

Le pack contient pour l’instant 304 sonneries, qui font 30 secondes maximum donc taillées pour les appels vocaux.

Lire la suite

Postfix : résoudre l'erreur SASL "_sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql" photo

Postfix : résoudre l’erreur SASL “_sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql”

postfix-logo

Il y a quelques mois, j’ai aperçu quelques messages d’erreurs récurrents dans les fichiers logs du serveur de mail Postfix, concernant SASL.

Voici un extrait de ces messages:

Oct 10 11:35:05 mail postfix/smtpd[18553]: sql_select option missing
Oct 10 11:35:05 mail postfix/smtpd[18553]: auxpropfunc error no mechanism available
Oct 10 11:35:05 mail postfix/smtpd[18553]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql

La solution est toute simple – commencez par éditer le fichier de configuration de Postfix:

nano /etc/postfix/main.cf

Puis commentez la ligne qui commence par smtpd_sasl_path. Chez moi, cela donne :

#smtpd_sasl_path = private/authCode language: PHP (php)

Et enfin, il suffit de relancer tous les services relatifs à l’identification SASL ainsi que Postfix :

find /etc/init.d/ | grep courier | while read line; do $line restart; done
service saslauthd restart
service postfix restartCode language: PHP (php)

Et voilà, plus de messages d’erreur dans les logs.

Serveur dédié : mettre en place DNSSEC pour sécuriser les DNS du domaine photo

Serveur dédié : mettre en place DNSSEC pour sécuriser les DNS du domaine

Aujourd’hui, nous allons mettre en place DNSSEC afin d’ajouter une couche de sécurité supplémentaire dans la gestion des DNS de notre domaine.

Principe de fonctionnement du DNS

Le DNS (Domain Name System) est un maillon clé du fonctionnement d’Internet car la quasi-totalité des services en ligne utilisent des noms de domaine à un moment ou à un autre.

Le DNS est organisé sous la forme d’une arborescence inversée, avec une « racine » dont dépendent les différentes « branches ».

Au premier niveau de l’arborescence se trouvent les « Top Level Domains » (TLD) ou domaines de premier niveau, comme les .fr, .com, .net etc.

Au second niveau, nous avons les noms de domaine « classiques » comme « skyminds.net ».

Fonctionnant comme une base de données distribuée sur des millions de machines, le DNS repose sur des interactions entre ces machines permettant d’identifier celle qui est la plus susceptible de pouvoir répondre à la requête d’un internaute.

Serveur dédié : mise en place de DNSSEC pour sécuriser les DNS d'un nom de domaine photo 2

Dans l’exemple ci-dessus, l’utilisateur veut se connecter au site http://www.wikipedia.fr. Il envoie sa requête via son navigateur. Celle-ci est reçue par un serveur dit « résolveur » qui a pour première mission d’identifier la machine sur laquelle est installé le nom de domaine wikipedia.fr.

Le résolveur s’adresse d’abord à la « racine » du DNS, qui lui indique quels sont les serveurs « faisant autorité » (c’est-à-dire compétents) pour .fr puisque le nom de domaine est en .fr.

Dans un second temps, les serveurs du .fr indiquent à leur tour au résolveur que le nom de domaine wikipedia.fr est hébergé sur tel serveur.

Celui-ci est alors en mesure d’indiquer au navigateur l’adresse IP du serveur web hébergeant les contenus du site web www.wikipedia.fr.

Ce schéma se vérifie quel que soit le site web auquel on souhaite accéder.

DNSSEC : authentifier l’origine et l’intégrité des données

DNSSEC, acronyme de Domain Name System Security Extensions, désigne un ensemble défini d’extensions de sécurité du protocole DNS, standardisé par l’IETF dans la RFC 4033.

Lire la suite

Serveur dédié : générer de l'entropie additionnelle avec Haveged photo

Serveur dédié : produire une meilleure réserve d’entropie avec haveged

Sur notre serveur dédié, nous avons parfois besoin de générer des nombres aléatoires avec une forte entropie, par exemple lorsque l’on génère une clé SSH, un certificat SSL/TLS ou une clé pour DNSSEC.

Aujourd’hui, je vous propose donc un article un petit peu plus théorique, qui nous permettra d’améliorer la qualité des données aléatoires et l’entropie générale de notre serveur.

On commence donc par la théorie et on enchaîne sur la partie technique.

L’entropie ou le caractère aléatoire sous Linux

Le chiffrement est basé sur deux facteurs principaux : les nombres premiers et les nombres aléatoires.

Sous Linux, les nombres aléatoires sont générés par le pseudo random number generator (PRNG) qui génère des données aléatoires depuis les interruptions matérielles (clavier, souris, accès disque, accès réseau…) et depuis d’autres sources provenant du système d’exploitation.

Serveur dédié : générer de l'entropie additionnelle avec Haveged photo 1

Une interruption matérielle (en anglais Interrupt ReQuest ou IRQ) est une interruption déclenchée par un périphérique d’entrée-sortie d’un microprocesseur ou d’un microcontrôleur.

Ce caractère aléatoire ou aléa, que l’on désigne sous le terme entropie, est utilisé principalement pour le chiffrement comme SSL/TLS mais peut aussi avoir plein d’utilisations pratiques (génération de mots de passe, de clés, de chaînes de caractères aléatoires…).

Lire la suite

BASH : lister, bloquer et débloquer des adresses IP avec iptables photo 1

BASH : lister, bloquer et débloquer des adresses IP avec iptables

Sur un serveur dédié, il n’est pas rare d’avoir des adresses IP à bannir pour se débarrasser de visiteurs malveillants, de spammeurs ou de bots qui effectuent des requêtes farfelues visant à perturber le bon fonctionnement des services du serveur.

Heureusement, toutes ces petites contrariétés peuvent être résolues en quelques secondes grâce à un firewall comme iptables.

Ce petit tutoriel vous montre les quelques commandes à retenir pour lister, bannir ou débloquer des adresses IP avec iptables ainsi qu’un petit script bash qui vous permettra d’automatiser la gestion de ces trois fonctions très simplement.

Bannir une IP

Pour bannir une adresse IP avec iptables, il suffit de lancer cette commande:

iptables -I INPUT -s x.x.x.x -j DROPCode language: CSS (css)

L’argument DROP indique que l’adresse IP indiquée (x.x.x.x) n’aura plus accès à la machine.

Lister les IP bloquées

Pour voir la liste des adresses IP bloquées, il suffit de demander à iptables la liste et de ne sélectionner que celles qui sont en DROP:

iptables -L INPUT -v -n | grep DROP

Résultat :

Chain INPUT (policy DROP 23 packets, 4122 bytes)

Débloquer une IP

Pour débloquer une IP, il faut d’abord afficher la liste des IP bannies:

iptables -L INPUT -v -n | grep DROP

Toutes les IP sont classées dans un ordre numéroté, ligne par ligne. Il suffit d’indiquer le numéro de la ligne de la règle à supprimer avec la commande:

iptables -D INPUT numero-de-la-regle

L’argument -D (pour delete) permet de supprimer la règle qui correspond à l’adresse IP que nous souhaitons supprimer. Par exemple, si on veut supprimer la règle 1, il suffit d’indiquer:

iptables -D INPUT 1

Vous aurez remarqué que toutes ces commandes sont bien fastidieuses et leurs syntaxes assez complexes à retenir.

Voyons donc comment créer un script bash qui prendrait en charge toutes ces commandes.

Script Bash pour automatiser la gestion des IP bannies dans iptables

Bash

Voici un script bash qui devrait grandement vous simplifier la gestion des IP dans iptables.

Il permet de bloquer, débloquer et lister les adresses IP en toute simplicité.

Lire la suite

Serveur dédié : migration de MySQL vers MariaDB photo

Serveur dédié : migration de MySQL vers MariaDB

Aujourd’hui, on aborde la migration du serveur de base de données : nous passons de l’historique MySQL à son fork libre MariaDB.

Les raisons de remplacer Oracle MySQL avec MariaDB sont nombreuses.

MySQL vs MariaDB

Tout d’abord, MariaDB assure la compatibilité et la continuité de service avec MySQL. Les librairies sont exactement équivalentes et permettent d’utiliser les APIs et commandes de MySQL.

Les performances de MariaDB sont souvent meilleures que celles de MySQL, notamment grâce à l’amélioration de l’optimiseur de requêtes et l’intégration du moteur XtraDB de Percona, qui vise à remplacer InnoDB.

Un nouveau moteur de stockage, Aria, a été écrit pour devenir un moteur à la fois transactionnel et non-transactionnel pour remplacer MyISAM. Il pourrait même être inclus dans de prochaines versions de MySQL.

Dans un autre registre, Oracle semble ne pas vouloir garder le modèle libre de MySQL : pas mal de choses (rapports de bugs, scénarios de test) sont maintenant disponibles uniquement pour les grands comptes payants.

Michael “Monty” Widenius, le fondateur de MySQL AB, a quitté Sun Microsystems lors de son rachat par Oracle pour créer Monty Program AB puis la Fondation MariaDB. Il est rapidement rejoint par de nombreux développeurs originaux de MySQL.

Ces développeurs maîtrisent donc parfaitement le code source du système de gestion de base de données, cela promet encore de nombreuses nouveautés et optimisations pour les versions suivantes.

Installation de MariaDB

Avant toute chose, faîtes une sauvegarde de vos bases de données. On ne sait jamais.

Notre serveur dédié tourne toujours sur Debian stable et les paquets de MariaDB sont disponibles dans les dépôts officiels.

mariadb-seal-logo

MariaDB est un “drop-in replacement” pour MySQL, c’est -à-dire qu’il suffit de désinstaller MySQL et d’installer MariaDB : rien ne change, pas de pertes de données, pas de lignes de code à changer, tout est compatible.

L’installation est donc très simple :

apt-get install mariadb-serverCode language: JavaScript (javascript)

Résultat:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  mariadb-client-10.0 mariadb-client-core-10.0 mariadb-common
  mariadb-server-10.0 mariadb-server-core-10.0
Suggested packages:
  mariadb-test tinyca
The following packages will be REMOVED:
  mysql-client-5.6 mysql-client-core-5.6 mysql-server mysql-server-5.6
  mysql-server-core-5.6
The following NEW packages will be installed:
  mariadb-client-10.0 mariadb-client-core-10.0 mariadb-common mariadb-server
  mariadb-server-10.0 mariadb-server-core-10.0
0 upgraded, 6 newly installed, 5 to remove and 0 not upgraded.
Need to get 11.8 MB of archives.
After this operation, 18.4 MB disk space will be freed.Code language: CSS (css)

L’installation vous demandera de donner un mot de passe pour l’utilisateur root. De manière à assurer la continuité avec MySQL, j’ai redonné le même mot de passe que pour mon utilisateur root sous MySQL.

Lire la suite

VLC : résoudre le problème de la lecture d'un dossier photo

VLC : résoudre le problème de lecture de dossiers avec le clic-droit

logo-vlc

Lors de mon précédent article à propos du téléchargement automatique des sous-titres avec VLC, j’ai essayé de mettre à jour – en vain – le paquet vlc sur mon installation Ubuntu et j’ai fini par prendre les captures d’écran avec une version portable.

Or, depuis, il m’est impossible de lire un dossier avec VLC !

Le problème : lecture impossible d’un dossier avec VLC

Les symptômes sont les suivants : un clic droit sur le dossier offre bien l’option Ouvrir avec > Lecteur multimédia VLC.

Le dossier arrive bien dans VLC mais il est impossible de lancer la lecture, que ce soit avec le bouton lecture ou en double-cliquant sur le nom du dossier dans la playlist.

Le nom vibre comme s’il s’agissait d’un message d’erreur mais le dossier n’est pas ouvert et rien n’est lu.

La solution : éditer le fichier de configuration de VLC

La solution est d’éditer le fichier de configuration de VLC, qui s’appelle vlcrc.

Sous Windows, il se trouve à l’emplacement %appdata%\vlc\vlcrc.

Sous Ubuntu, il se trouve à l’emplacement /home/matt/.config/vlc/vlcrc donc on l’édite:

gedit /home/matt/.config/vlc/vlcrc

On recherche la ligne qui concerne le module Demux :

# Demux module (string)
demux=anyCode language: PHP (php)

et on commente la ligne qui l’active :

# Demux module (string)
#demux=anyCode language: PHP (php)

Lire la suite

hourglass

Serveur dédié : optimiser toutes les images GIF avec GIFsicle

Après avoir vu comment optimiser les fichiers JPG et PNG sur le serveur, voici comment optimiser les fichiers GIF.

hourglass

Comme dans le tutoriel précédent, nous allons optimiser toutes nos images d’un seul coup, de manière à charger nos pages plus rapidement et à consommer moins de bande passante.

Pour optimiser les fichiers GIF, j’ai choisi GIFsicle.

L’installation et la compression de vos répertoires d’images prend à peine quelques minutes.

Installation de GIFsicle

On installe le paquet :

apt-get install gifsicleCode language: JavaScript (javascript)

et on RTFM :

man gifsicle

Optimisation des PNG

Pour optimiser les fichiers GIF, il suffit de lancer :

gifsicle --batch -O3 *.gifCode language: CSS (css)

L’argument --batch permet de gérer plusieurs fichiers et -O3 permet la meilleure optimisation possible, en essayant plusieurs combinaisons de compression pour trouver le ratio le plus intéressant.

Lire la suite

Serveur dédié : installer la dernière version d'OpenSSL sous Debian photo

Bash : lister et redémarrer tous les services qui utilisent libssl après une mise à jour d’OpenSSL

Lorsque l’on met à jour OpenSSL, tous les services qui utilisent les librairies SSL et qui sont chargés en mémoire ne rechargent pas les librairies (dont libssl) qui viennent d’être mises à jour.

Idéalement, il faudrait rebooter le système mais lorsqu’il s’agit d’un serveur, ce n’est pas toujours possible. Si les services ne sont pas redémarrés (restart) ou rechargés (reload) après une mise à jour, ils seront toujours vulnérables aux problèmes de sécurité que corrige la nouvelle version.

Voici donc comment détecter les services qui utilisent les librairies d’OpenSSL afin de les redémarrer et éviter de rebooter la machine.

Lister les services qui utilisent libssl

Vérifiez que votre système possède la commande lsof. Elle devrait normalement être prise en charge par votre gestionnaire de paquets.

Pour lister les services qui utilisent OpenSSL, il suffit de vérifier lesquels utilisent le paquet libssl en les classant par ordre alphabétique et en supprimant les doublons:

lsof | grep libssl | awk '{print $1}' | sort | uniqCode language: JavaScript (javascript)

Résultat:

apache2
fail2ban-
opendkim
php5-fpm
tlsmgr

Il ne vous reste plus qu’à redémarrer les services présents dans cette liste qui font appel à OpenSSL.

Lister les services qui utilisent une ancienne version de libssl

Si vous avez mis à jour OpenSSL mais que vous n’avez pas redémarré votre serveur, il est possible que certains services utilisent toujours une ancienne librairie non-patchée d’OpenSSL.

Lire la suite

Télécharger automatiquement les sous-titres d'un film ou d'une série avec VLC photo 2

Télécharger automatiquement les sous-titres d’un film ou d’une série avec VLC

logo-vlc

Si vous avez l’habitude de regarder des films ou des séries en version originale (VO) sur votre ordinateur avec VLC, voici une petite astuce qui devrait grandement vous faciliter la tâche…

En effet, qui n’a jamais rêvé de pouvoir récupérer les bons sous-titres avec le bon timing de la bonne langue qui correspond au bon fichier vidéo?

Et bien sachez que cela est possible en trois clics avec VLC. Suivez le guide !

Pré-requis : une version de VLC à jour

Tout d’abord, vous devez disposer d’une version de VLC récente, c’est-à-dire VLC 2.2.1+. Inutile d’essayer avec VLC 2.1.x qui est livrée avec Ubuntu 14.04 LTS, le module VLSub ne fonctionne pas avec cette version.

Pour les besoins de cet article et des captures d’écran, j’ai donc utilisé la version portable de VLC.

Mettez donc VLC à jour !

Charger à la volée les sous-titres d’une vidéo dans VLC

VLC permet maintenant de charger les sous-titres d’une vidéo en cours de lecture, sans les télécharger sur l’ordinateur.

Fini le temps où vous deviez rechercher le fichier de sous-titre, le télécharger, le dézipper puis le renommer pour qu’il soit détecté automatiquement par le lecteur.

Maintenant, tout se fait en quelques clics :

1. ouvrez votre fichier vidéo avec VLC et appuyez sur le bouton Lecture.

Télécharger automatiquement les sous-titres d'un film ou d'une série avec VLC photo 4

ouvrez le menu View > Download Subtitles:

Télécharger automatiquement les sous-titres d'un film ou d'une série avec VLC photo 1

Si vous avez un Mac, on trouve le menu dans VLC > Extensions > VLsub :

Télécharger automatiquement les sous-titres d'un film ou d'une série avec VLC photo

3. choisissez la langue des sous-titres voulue et cliquez sur le bouton “Search by hash”

4. VLC donne une liste des résultats, il vous suffit de sélectionner un sous-titre et cliquer sur le bouton “Download selection”:

Télécharger automatiquement les sous-titres d'un film ou d'une série avec VLC photo 3

4. VLC affiche le message “success : subtitles loaded” en vert en bas de la fenêtre

5. fermez la fenêtre VLSub et regardez votre film ou épisode sous-titré!

Télécharger automatiquement les sous-titres d'un film ou d'une série avec VLC photo 2

Notez que vous pouvez également rechercher par nom, numéro de saison ou numéro d’épisode.

Lire la suite