Salut à tous, petit article rapide concernant la sélection de la version de PHP sur les hébergements de OVH pour la console SSH. Tout d’abord, présentons un peu les choses, lorsque l’on vérifie la version de PHP en SSH, voici ce que l’on obtient :

Ouch, PHP 4, c’est vieux, très vieux, pour info, la fin du support date de Août 2008 !

J’ouvre un petit ticket chez OVH et le technicien me donne la réponse, précieux sésame pour utiliser composer et la console de Symfony 2 :

Pour accéder à une commande en version 5.4 de php depuis le ssh, vous devez
donc mettre en place cette ligne de commande suivie de votre script.php

php.ORIG.5_4 -c /usr/local/lib/php.ini-2 SCRIPT.php

Donc, je refais mon test :

Nickel, ça marche, je me suis ensuite dit « ça doit marcher pour les autres versions aussi », c’est en partie vrai, les versions que j’ai trouvés sont php.ORIG.5_2, php.ORIG.5 (PHP 5.2) et php.ORIG.5_3.

Enfin, voici un petit raccourci (à ajouter dans le ~/.bash_profile par exemple) pour avoir la version que l’on veux via la commande php : alias php="php.ORIG.5_4".

UPDATE : Bon en fait c’est pas génial car ce n’est pas la version CLI de PHP…

Si vous avez déjà eu des soucis d’encodage dans votre base de données et que vous ne pouvez pas réimporter vos données, voici une petite commande qui permet de corriger les accents de la langue française. N’oubliez pas de faire une sauvegarde de votre base de données avant la requête.

En espérant que ça vous soit utile 😉

Voici un petit tutoriel que je souhaite faire depuis plusieurs mois concernant l’installation d’un serveur OpenVPN sur un serveur GNU/Linux Debian, finalement je profite de l’installation que je réalise dans le cadre de l’association Proxgroup ainsi que la migration de mon serveur chez OVH pour écrire ce petit tutoriel, j’espère qui vous sera utile.

Préparation

Installation des paquets Debian :

Installer ZIP si vous utilisez mes scripts à la fin du tutoriel :

Configuration du serveur

Pour le serveur, nous allons utiliser le port TCP 443, cela permet de passer outre la plupart des pares-feu puisqu’il utilise le même port que HTTPS.

Voici le fichier de configuration du serveur (Changez les lignes en surbrillance) :

On créer la cage pour le démon OpenVPN, voir l’option chroot ci-dessus :

Configuration du réseau

On active le forwarding sur le serveur :

On ajoute les règles permettant aux utilisateurs du VPN de sortir sur Internet dans un fichier init. N’oubliez pas de changer a.dre.sse.ip par l’adresse IP de votre serveur VPN et 10.0.0.0/24 par votre plage d’adresse IP :

On ajoute les droits d’exécution au script ainsi que le lancement automatique lors du démarrage de la machine :

Création des certificats serveur

Information : La génération de certificats et clés privés peu prendre du temps, beaucoup de temps, si votre /dev/random ne génère pas suffisamment de données aléatoires, je vous invite à installer le démon Haveged permettant de remplir le /dev/random à partir de la latence du processeur, pour plus d’informations à ce sujet, je vous invite à lire l’excellent article de Digital Ocean : https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged

On copie le répertoire contenant tous les executables pour la génération des certificats clients et serveur :

On prépare l’environement pour générer les certificats, cela doit être fait à chaque séance de génération de certificats, vous pouvez modifier le fichier vars afin de placer vos paramêtres personnels :

On efface tous les certificats précédément générés (utile uniquement si vous avez déjà généré des certificats et que vous générez de nouvelles clé pour le serveur) :

Création du certificat racine, il servira à signer tous les certificats par la suite :

On génére le certificat pour le serveur :

On génére la clé Diffie-Hellman afin de sécuriser les échanges de clé entre le client et le serveur VPN :

On génére la clé secrète afin de sécuriser les échanges de clé entre le client et le serveur VPN :

Création de la liste de révocation des certificats :

Voilà pour la parti configuration du serveur, il ne reste plus qu’à copier le dossier keys dans /etc/openvpn et de copier le fichier keys/crl.pem dans /etc/openvpn/jail.

Création des certificats clients

Passont maintenant à la création du / des certificats pour les clients.

Si ce n’est pas déjà fait, on prépare l’environement pour générer les certificats, vous pourvez modifier le fichier vars afin de placer vos paramêtres personnels :

On génére le certificat du client (remplacez <NOM> par le nom de votre client) :

Il ne reste plus qu’à copier le dossier keys dans /etc/openvpn afin que le serveur OpenVPN reconnaisse notre nouveau client (n’oubliez de recharger le serveur pour que les nouveaux certificats soit correctement lus par OpenVPN).

Il faut ensuite installer sur le client les fichiers suivants (remplacez <NOM> par le nom de votre client) :

  • <NOM>.key
  • <NOM>.crt
  • ca.crt
  • ta.crt

Ainsi que le fichier de configuration du client dont voici un exemple :

Ce fichier doit être enregistré en .conf pour Linux et en .ovpn pour Windows.

Révocation des certificats

Pour révoquer un certificat, rien de plus simple (remplacez <NOM> par le nom de votre client) :

Les scripts qui font tout tout seuls ^^

Je vous propose en bonus 4 petits scripts qui vous feront toute la besogne, comme ça, plus besoin de chercher les commandes à exécuter 😛 .

Télécharger les scripts au format ZIP (3 Ko) ou au format TAR (7 Ko)

Si vous avez des questions, commentaires, suggestions, laissez un commentaire ou envoyez moi un tweet à @Safranil.

Il y a peu de temps, j’ai eu un souci d’espace disque sur un serveur et j’ai effacé les fichiers incriminés. Jusque là, tout va bien, la commande du m’affiche un répertoire avec quelques gigaoctet en moins sauf que la commande df m’indique toujours que l’espace est occupé. Après quelques recherches sur Internet, il s’avère que si un fichier ouvert par un processus est effacé, le fichier est encore compté dans l’espace disque utilisé, voici la commande qui permet de voir les processus qui ont des pointeurs de fichiers effacés encore ouvert :

Ou celle-ci pour voir les processus par rapport à un répertoire :

Un petit coup de kill -15 pour arrêter proprement le processus ou kill -9 s’il ne veut pas abandonner son exécution.

Voilà, problème assez surprenant lorsque on le découvre pour la première fois ;-).

Source photographique : https://www.flickr.com/photos/104908187@N06/10185681264 Licence CC-BY 2.0