Linux Mint : mettre à jour le noyau linux avec le kernel liquorix photo

Installer wine sous Linux Mint Debian Edition

lmde J’ai réinstallé Linux Mint Debian Edition aka LMDE sur mon portable et j’en suis extrêmement satisfait, cela tourne très bien et c’est d’une stabilité remarquable.

Par contre, avec la nouvelle version (12.04), qui vient de sortir il y a quelques mois, il ne semble plus possible d’installer wine avec les dépôts par défaut.

Solution : ajouter un nouveau dépôt

Dans le terminal, en root, tapez :

echo 'deb http://boisson.homeip.net/debian/ squeeze wine' >> /etc/apt/sources.list

ensuite, on met à jour les dépôts :

apt-get update

et on installe wine :

apt-get install wine

Et hop, une version plutôt récente de wine (1.5.x) est installée.

Réinitialiser le mot de passe root de MySQL ou MariaDB sous Debian photo

MySQL : changer le mot de passe de l’utilisateur root

icon mysql

J’ai installé la mise à jour Ubuntu 12.04 Precise Pengolin il y a quelques semaines (et je n’aurais pas dû, ma machine laggue comme ce n’est pas permis) et au moment de lancer SAM Broadcaster, un message d’erreur apparaît comme quoi il ne peut se connecter à la base MySQL.

sudo service mysql restart

Résultat :

stop: Unknown instance: 
start: Job failed to startCode language: HTTP (http)

Autre message d’erreur :

/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'Code language: JavaScript (javascript)

Etrange, je n’avais rien modifié.

Voici donc en quelques étapes comment changer le mot de passe MySQL de l’utilisateur root lorsqu’on l’a oublié ou qu’il faut le changer sans connaitre l’ancien.

Toutes ces commandes sont à exécuter en tant qu’utilisateur root donc :

sudo -i

Je vous propose deux méthodes : la première méthode s’adresse aux barbus qui veulent mettre les mains dans le cambouis, la seconde à ceux qui veulent faire ça en 2 commandes.

Méthode 1 (mode cambouis)

Etape 1 : arrêt du service mysql

/etc/init.d/mysql stop

Résultat :

Stopping MySQL database server: mysqld.

Etape 2 : lancement du serveur MySQL sans mot de passe

mysqld_safe --skip-grant-tables &

Résultat :

[1] 5025
mysqld_safe Logging to syslog.
mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Code language: JavaScript (javascript)

Lire la suite

WordPress : récupérer la liste emails des membres et commentateurs photo

WordPress : nettoyage de la base de données

wordpress_icon_blue Avec le temps, les mises à jour successives et l’installation de différents plugins, la base de données de WordPress a tendance à prendre du poids, ce qui nuit aux performances. Voici donc comment lui faire bénéficier d’un petit régime.

N’oubliez pas de faire une sauvegarde de votre base de données avant de lancer ces requêtes. Backup now.

Nettoyage de wp_postmeta

Avant optimisation, ma table wp-postmeta faisait 12 403 enregistrements.

DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';
DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';
DELETE FROM wp_postmeta WHERE meta_key = '_wp_old_slug';

Maintenant : 12 240.

Nettoyage de wp_commentmeta

On supprime tout ce qu’Akismet nous a mis dans la table wp_commentmeta :

DELETE FROM wp_commentmeta WHERE meta_key LIKE '%akismet%';

et on supprime toutes les entrées qui n’ont aucune relation avec wp_comments :

DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);

Nettoyage de wp_options

Passage de 880 enregistrements à 476. WordPress crée ces entrées automatiquement et les purge occasionnellement, autant l’aider un peu.

DELETE FROM wp_options WHERE option_name LIKE '_site_transient_browser_%';
DELETE FROM wp_options WHERE option_name LIKE '_site_transient_timeout_browser_%';
DELETE FROM wp_options WHERE option_name LIKE '_transient_%';

Lire la suite

PHP: résoudre l'erreur "file_get_contents(): SSL operation failed with code 1" photo

PHP : résoudre l’erreur “assigning the return value of new by reference is deprecated”

Si, lors d’une journée de débuggage PHP, vous tombez sur l’erreur suivante :

Deprecated: Assigning the return value of new by reference is deprecated in  on line 12 Code language: JavaScript (javascript)

pas de panique, c’est extrêmement simple à résoudre. Vous avez probablement une ligne dans ce goût-là :

$data =& new Structured_Info();Code language: PHP (php)

Or, depuis PHP5, le passage par réference est systématique sur new, donc il suffit d’enlever le ‘&’ et d’écrire :

$data = new Structured_Info();Code language: PHP (php)

Tout simplement.

PHP: résoudre l'erreur "file_get_contents(): SSL operation failed with code 1" photo

PHP : les bons en-têtes pour permettre la mise en cache d’une page

Je me suis rendu compte qu’un des fichiers javascript d’un plugin WordPress est appelé sur chaque article du site et qu’il n’est pas mis en cache par défaut…

C’est très moyen au niveau optimisation étant donné que c’est typiquement le genre de fichier statique qui n’est pas prêt d’être modifié.

Voici donc les en-têtes (headers) qui vont nous permettre de mettre un fichier en cache en PHP :

<?php
/*
|--------------------------------------------------------------------------
| Enable Caching with PHP headers by Matt - www.skyminds.net
|--------------------------------------------------------------------------
|
| Let's set it to 90 days caching.
| seconds, minutes, hours, days 
|
*/
$expires = 60*60*24*90;

header('Pragma: public');
header('Cache-Control: maxage='.$expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');Code language: HTML, XML (xml)

Et voilà, page mise en cache.

Cela fait moins de requêtes sur le serveur puisque le navigateur n’a pas besoin de redemander la page à chaque visite.

Linux : vider un fichier de son contenu avec la commande truncate photo

Linux : vider un fichier avec truncate

truncate

De temps en temps, il peut être utile de pouvoir effacer le contenu d’un fichier qui prend de l’embonpoint, comme un fichier de log par exemple.

Dans ce cas, vous pouvez lancer la commande truncate sous linux dans un terminal :

truncate -s 0 /home/skyminds/error.log

L’argument -s 0 signifie que l’on réduit sa taille (size) à zéro. Simple et efficace !

No-IP, logo, banner

Créer une redirection No-IP

Plusieurs personnes m’ont demandé une alternative à DynDNS, qui est passé à un modèle exclusivement payant pour les nouveaux comptes.

Sept ans après l’article Créer une redirection DynDNS, je vous propose donc un tuto pour créer une redirection No-IP.

La redirection No-IP vous permettra d’avoir une adresse facile à retenir, malgré vos changements d’IP.

La création d’une redirection prend moins de 5 minutes.

Etape 1 : création du compte No-IP

Créez votre compte gratuitement sur No-IP. Il vous suffit de remplir vos identifiants, mot de passe et adresse email puis de valider votre compte en cliquant sur le lien que vous recevrez par mail (pensez à regarder dans le dossier spam, il peut s’y trouver).

Une fois dans l’espace membre, vous obtenez cet écran :

redrection no ip member panel

Lire la suite

fireofx-aurora

Ubuntu : installer la dernière version de Firefox

Sur ma machine principale, j’utilise principalement Firefox parce que j’y ai mes habitudes : passwords, bookmarks, extensions. Or, je tourne sous 10.10 parce que j’aime bien Gnome et que je ne veux pas passer à Unity. Bref, je suis resté en 10.10 et en 10.10, on a le droit qu’à Firefox 12 !

fireofx aurora

Voici donc comment mettre Firefox à jour sur une “vieille” Ubuntu.

Etape 1 : vérification du fichier /etc/apt/sources.list

On commence par vérifier que le fichier /etc/apt/sources.list ne contient pas d’entrées obsolètes ni de sources externes pour l’installation de firefox (genre mozilla-daily-builds etc) :

sudo nano /etc/apt/sources.list

Etape 2 : ajout du dépôt firefox-aurora

Nous allons y ajouter le dépôt firefox-aurora :

deb http://ppa.launchpad.net/ubuntu-mozilla-daily/firefox-aurora/ubuntu/ lucid main 
deb-src http://ppa.launchpad.net/ubuntu-mozilla-daily/firefox-aurora/ubuntu/ lucid main 

Lire la suite

microsd-card

Récupérer l’espace disque d’une carte SD

microsd card Nous avons tous des cartes SD ou microSD dans nos appareils photos, caméras, téléphones mobiles, laptops…

C’est petit, cela s’emporte avec soi partout et les capacités de stockage commencent à augmenter petit à petit.

Problème : après suppression des fichiers, plus d’espace disque disponible

Il vous est peut-être déjà arrivé de procéder à la suppression de fichiers sur ces cartes et de constater que, bien que vous ayez supprimé les fichiers, l’espace disque disponible n’augmente pas, comme si les fichiers étaient toujours présents sur la carte. Et vider la corbeille ne change rien.

Solution : afficher les fichiers cachés

En fait, les fichiers n’ont pas été supprimés mais simplement déplacés dans le répertoire .Trash-1000 à la racine de la carte. Ce répertoire est caché. Pour l’afficher, il faut afficher les fichiers cachés avec Ctrl + h.

Supprimez le répertoire, cela supprimera les fichiers définitivement et vous pourrez regagner de l’espace libre sur votre carte.

sdcard empty trash

N’ayez crainte, le répertoire .Trash sera recréé automatiquement à la prochaine suppression de fichiers.

Rsync: rapatrier les fichiers du serveur à la maison photo 1, ET, phone home

Rsync: rapatrier les fichiers du serveur à la maison

Je vous ai déjà parlé de rsync pour transférer des fichiers d’un serveur à un autre.

Supposons maintenant que vous vouliez récupérer les fichiers qui sont sur votre serveur chez vous, à la maison.

Cela ne prend que quelques minutes à mettre en place et cela sert très souvent.

Etape 1 : ouvrir le port 22 dans la box ou le routeur

Rendez-vous dans l’interface d’administration de votre box ou routeur :

  1. si ce n’est déjà fait, attribuez une IP fixe à votre PC en identifiant l’adresse MAC de sa carte réseau.
  2. ouvrez le port 22 (SSH) en TCP et redirigez-le vers l’adresse fixe de l’étape précédente.

Voilà, le port est ouvert et redirigé au niveau du routeur.

Etape 2 : ouvrir le port 22 dans le firewall de la machine

Je suis sous Linux (Debian, Ubuntu, Mint…), j’utilise donc iptables en root :

iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT

Le port 22 est maintenant ouvert aux connections entrantes et sortantes sur la machine.

Lire la suite

screw-you-livebox

Serveur dédié : impossible de se connecter à un port distant

Aujourd’hui, je vérifie les services du serveur et me rend compte qu’il m’est impossible de me connecter aux services qui tournent sur des numéros de port non-standards.

Le problème : plus de connexion distante sur des ports exotiques

screw you livebox

J’essaie de comprendre pourquoi cela ne fonctionne plus : je bidouille à droite à gauche, vérifie vingt fois la configuration iptables, reboote deux fois le serveur, flush les données iptables et me fait jeter de ma connexion SSH…

Reboot du serveur, toujours aucune connexion sur les ports exotiques.

Plus d’accès aux torrents, à webmin, IMAP et autres. Tout cela alors que depuis le serveur, en local, tout était bien accessible.

Je n’avais pourtant rien modifié dans la configuration du serveur. Recherches sur internet pendant environ 4 heures.

Des gens semblent avoir le même problème sur des forums. Dernière réponse du sujet : “j’ai trouvé merci, c’est réparé”. Ces gars-là, je les hais. Ils ont le problème, semblent avoir la solution mais ils ne la partagent pas b*rdel!

La solution : vérifier le firewall client (routeur ou box)

En vacances, j’ai une Livebox. Et j’avais bidouillé le paramétrage du firewall de la livebox pour pouvoir utiliser rsync.

Donc la source du problème n’était PAS le firewall du serveur, c’était le firewall de la LIVEBOX :

livebox firewall medium

Cela pourra peut-être servir à quelqu’un : il faut mettre le firewall de la livebox au niveau “moyen”.

Comme par magie, tous les accès aux ports distants sont rétablis.

Android : personnaliser les sonneries et sons des notifications de votre smartphone photo

Android : personnaliser les sonneries et sons des notifications de votre smartphone

android notification sounds

Si vous possédez un téléphone sous Android et que vous vous lassez des sonneries des notifications par défaut, voici comment les changer et leur attribuer vos propres sonneries ou sons.

J’avais écrit un article similaire il y a quelques temps pour l’iPod/iPhone intitulé Ajouter des sonneries à un iPhone ou iPod Touch.

Celui-ci est donc le pendant pour les smartphones tournant sous Android.

Etape 1: Création des répertoires

Sur votre carte mémoire, depuis un navigateur de fichiers :

  1. à la racine de la carte mémoire, créez le répertoire /media/audio,
  2. créez /media/audio/notifications pour les sonneries de notifications,
  3. créez /media/audio/ringtonespour les sonneries d’appel,
  4. et enfin créez /media/audio/alarms pour les sonneries d’alarmes.

Voilà, vous pouvez désormais uploader vos sonneries personnelles dans ces répertoires.

Lire la suite