serveur

Update PHP vers php 5.5.x

Je viens de passer un de mes serveurs de prod en php 5.5.

Voici trois des soucis rencontrés :

imagick: Unable to initialize module


PHP Warning: PHP Startup: imagick: Unable to initialize module
Erreur imagemagick

Solution : Mettre à jour ImageMagick

Creating default object from empty value

Message:  Creating default object from empty value
Warning ; Creating default object from empty value

Explication : Ce warning intervient peu être pour la première fois suivant le niveau d’erreur des que vous logguez. Il met en avant un soucis de logique dans le code car vous essayez de creer un objet à partir de rien

Solution : Creer un objet php à partir de la variable concerné

<?php $foo = new stdClass(); ?>

L’extension MYSQL historiquement utilisé dans beaucoup de codes est devenue obsolète.

Solution : Passer à MSQLi ou PDO ou autre …

logo mysql

Faire un backup des bases de données mysql

Pour tous ceux d’entre vous qui administrent un serveur web vous avez au moins une fois été confronté au problème des sauvegardes ou bien au problème du transfert de serveur.

Voyons donc comment faire un back up de nos bdd.

Vous devez dans un premier temps vous connecter en ssh pour cela installez putty sous windows ou bien utilisez la commande ssh sous linux ou mac.

Dans le cas d’un petit serveur cela va vite on transfère les quelques  bdd avec la commande suivante.

 mysql -uUSER -pPASSWORD nomdelabdd > chemin/de/sauvegarde/bdd.sql

Il ne reste plus qu’a remplir les nouvelles bdd avec la commande suivante (une ligne par bdd)

mysql -uUSER -pPASSWORD bddaremplir > chemin/de/sauvegarde/bdd.sql

Mais si le nombre de bases de données est important ça devient vite fastidieux de sauvegarder les bdd une par une alors voici une petite astuce

mysqldump -uUSER -pPASSWORD --all-databases > all-databases.sql

Vous imaginez bien que l’on ne va pas remplir les bdd une par une sinon nous perdons tout l’intérêt de l’astuce
Voici donc la commande

mysql -uUSER -pPASSWORD < chemin/de/sauvegarde/bdd.sql

Si vous devez utiliser un encodage particulier genre UTF-8 voici l'option à rajouter dans votre ligne de commande : --default-character-set=utf8
vider cache dns

Comment Vider le cache DNS ?

Le cache DNS kesako ?

Quand vous allez sur un site internet votre ordinateur garde en mémoire les ip dns (Domaine Name Server) afin que de votre prochaine visite il interroge directement le bon serveur et ainsi réduit le temps d’affichage de la page.

Pourquoi est-ce que je voudrai vider mon cash dns alors ?
Il peut être utile de vider se cache dns dans le cas d’un site qui aurai changé d’ip et vous ne pouvez pas attendre la diffusion de ses nouveaux DNS.

A chaque Os sa solution :

Vider le cache DNS sous windows :
Lancez Votre invité de commande :

Démarrer -> Exécuter -> tapez CMD

Dans la fenêtre DOS qui s’affiche tapez

ipconfig /flushdns

Vider le cache DNS sous Linux:
Il suffit de relancer le processus nscd

/etc/rc.d/init.d/nscd restart

Vider le cache DNS sous Mac OS X:
Lancez un terminal :
Sous Léopard

dscacheutil -flushcache

Sinon

 lookupd -flushcache
linux scp

Linux Initiation à Scp (Secure Copy Protocol)

L’article suivant est rédigé pour des distributions debian et autre dérivées de celle ci.
Pour ce petit article sur le Secure copy Protocol que nous appellerons désormais SCP, nous supposerons que nous sommes sur une machine qui tourne avec linux Debian et nous avons à notre disposition 2 serveurs S1 et s2

S1 : 192.168.1.1
et
S 2 : 192.168.1.2

Nous voulons transférer une archive Archive.tar du S1 vers le S2 de manière sécurisé donc en utilisant le Protocol SSH.

Nous sommes donc connecté en SSH sur S2

Cas 1 – Transfere du fichier Archite.tar de s1 vers s2

scp -p user@192.168.1.1:/home/Archive.tar user2@192.168.1.2:/home/Archive.tar

Jusque la c’est assez simple ! (rassurez ça le restera)
Prenons le cas ou nous avons plusieurs archives Archive1.tar Archive2.tar ect …. Et vous souhaitez désormais transférer toutes les archives d’un coup. Il existe la solution de tout faire un par mais ça ne serai pas pratique surtout qu’il faut retaper le mot de passe à chaque fois.

Cas 2 – Récupérer tous les fichiers tar situés dans le répertoire /home/ sur s1 et les mettre dans /home/ sur s2:

scp -p user@192.168.1.1:/home/*tar user2@192.168.1.2:/home/Archive.tar

Cas 3 – Transférer tout un répertoire avec tous ses sous répertoires (récursivité)

scp -r user@192.168.1.1:dossier1/ user2@192.168.1.2:dossier2/

Nb : (Si vous oublier le -r vous obtiendrez le message d’erreur « not a regular file« )

Petite précision sur 2 paramètres utiles :
-p : signifie que scp gardera les dates de modifications et de créations ainsi que leur droits.
-P (majuscule) : Permet comme sur la commande SSH de fixer le port de connexion.