Serveur dédié : mettre à jour le noyau Debian de la Kimsufi photo

Serveur dédié : mettre à jour le noyau Debian de la Kimsufi

linux kernel

Aujourd’hui, on met à jour le noyau linux de notre installation Debian sur notre Kimsufi.

Un noyau à jour, c’est toujours mieux pour bénéficier des derniers patchs/améliorations/correctifs de sécurité du noyau.

OVH compile ses propres noyaux, offrant différentes options. Nous choisirons le noyau avec GRS : grsecurity est un correctif de sécurité pour le noyau incluant PaX, un système de contrôle d’accès à base de rôles et différents moyen de renforcer la sécurité générale du noyau.

Téléchargement du dernier noyau linux chez OVH

Une fois loggés en SSH, on se place dans le répertoire /boot :

cd /boot

On regarde ensuite la liste des noyaux linux modifiés par OVH pour les Kimsufi : ftp://ftp.ovh.net/made-in-ovh/bzImage/.

On récupère 2 fichiers : le fichier bzImage et le fichier System.map associé. Pour mon serveur, je prends les versions -grs-ipv6-64 : certaines mesures de sécurité sont incluses dans le noyau made in OVH (-grs), avec support de l’ipv6 sur un système 64 bits.

Nous prenons donc la dernière version du noyau ici : ftp://ftp.ovh.net/made-in-ovh/bzImage/latest-experimental/:

wget ftp://ftp.ovh.net/made-in-ovh/bzImage/latest-experimental/System.map-4.1.7-xxxx-grs-ipv6-64
wget ftp://ftp.ovh.net/made-in-ovh/bzImage/latest-experimental/bzImage-4.1.7-xxxx-grs-ipv6-64
wget ftp://ftp.ovh.net/made-in-ovh/bzImage/latest-experimental/config-4.1.7-xxxx-grs-ipv6-64Code language: JavaScript (javascript)

Lire la suite

MySQL : résoudre le message

Résoudre le non-redémarrage du serveur MySQL : le manque d’espace sur une partition disque

Il y a quelques temps, j’ai eu la surprise de constater que le site était down au niveau de la base de données, dont le service refusait catégoriquement de redémarrer. En regardant les logs du serveur, voici ce que j’ai découvert :

/etc/init.d/mysql: ERROR: The partition with /var/lib/mysql is too full! failed!Code language: JavaScript (javascript)

La partition sur laquelle se trouvent les bases de données SQL était pleine ! Effectivement, un petit

df -h

m’a appris que la partition /dev/sda1 était pleine à 100% :

Sys. de fich.         Tail.       Occ.       Disp.       %Occ.       Monté sur
/dev/sda1            9,7G       9,3G          0        100%         /
tmpfs                  984M         0        984M          0%        /lib/init/rw
udev                   10M        2,7M       7,4M         27%       /dev
tmpfs                 984M          0        984M           0%       /dev/shm
/dev/sda2            452G       648M      429G          1%       /home

Lire la suite

Serveur dédié : analyse des performances du serveur photo

Serveur dédié : analyse des performances du serveur

Cela fait quelques mois que le nouveau serveur est en place et il est temps de faire un petit bilan au niveau des performances.

Charge processeur

Tout d’abord, bien que le serveur soit équipé des mêmes caractéristiques techniques (même CPU, même quantité de RAM), il s’avère qu’il est beaucoup plus réactif que l’ancien.

Le processeur n’est plus surchargé en permanence et lorsque l’on lance un top, la charge du processeur est le plus souvent entre 0.05 et 0.20, ce qui est idéal.

A titre de comparaison, l’ancien serveur avait une charge souvent supérieure à 2.

Analyse du temps de chargement des pages via Google Webmaster Tools

Il y a quelques semaines, je me suis connecté sur Google Webmaster Tools et lorsque j’ai atteint le graphique du temps de chargement des pages du site, j’ai eu l’agréable surprise de découvrir ceci :

serveur dedie response time 2011

Lire la suite

Serveur dédié : installer la dernière version d’APC par SVN

Notre serveur ayant besoin de mettre les données en cache pour plus d’efficacité, il peut s’avérer intéressant de maintenir APC à jour via SVN, histoire d’être sous une version “bleeding-edge”.

Méthode automatique : installation d’APC via Dotdeb

Commencez par ajouter les dépôts Dotdeb à la configuration APT.

Ensuite, il suffit d’installer APC avec :

apt-get install php-apcCode language: JavaScript (javascript)

Configuration d’APC

J’ai un peu tweaké ma configuration d’APC par rapport au précédent article. Éditez apc.ini :

nano /etc/php/7.4/conf.d/apc.ini

et ajoutez-y :

extension=apc.so
apc.enabled=1
apc.shm_size=128M
apc.stat=0
apc.ttl=7200
apc.user_ttl=7200
apc.enable_cli=1
apc.max_file_size=10M
apc.rfc1867 = On

Et on relance Apache :

/etc/init.d/apache2 restart

Voilà, vous possédez la dernière version d’APC sur votre serveur. L’opération est à renouveler de temps à autre, histoire d’être toujours à jour.

Installation de CyanogenMod (Android Gingerbread) sur le Samsung Galaxy S photo

Installation de CyanogenMod (Android Gingerbread) sur le Samsung Galaxy S

Aujourd’hui, j’installe CyanogenMod sur mon Galaxy S. Parce qu’il le vaut bien.

CyanogenMod

Contrairement à l’expérience précédente, le CyanogenMod est écrit depuis le code source d’Android et ne se sert pas de la version de Samsung.

Le code est écrit par des développeurs de génie qui essaient de créer un firmware unifié, utilisable sur différents modèles et marques de smartphones.

cyanogen_mod_android

C’est aussi _le_ mod pour tout ce qui est customisation, thèmes etc donc je me suis dit que j’allais tenter l’expérience. De toute manière, il fallait bien que je reflashe mon SGS suite à la corruption du bootloader.

Dans ce petit tutoriel, je vous montre comment j’ai procédé. Cela prend à peu près une demi-heure.

Lire la suite

Android : résoudre la corruption graphique et remise à zéro des APN

Après avoir planté mon Galaxy S avec Kies puis réussi à rebooter grâce au mode recovery, je me suis dit qu’il était temps que je m’amuse un peu avec les firmwares.

Quand le téléphone ne contient pas beaucoup de données, autant en profiter. Je me suis donc mis en tête d’installer Android Gingerbread (2.3.x). J’ai mis mon Galaxy – qui ne bootait plus – en mode download et j’ai flashé Gingerbread par dessus avec Odin.

Bug 2 : perte de la 3G

Pour une raison étrange, l’APN (Access Point Name) a été renommé lors de la mise à jour et je n’avais plus accès à la 3G. Etant chez Virgin Mobile, j’ai dû modifier les APN.

Pour internet en 3G, il faut mettre :

APN : ofnew.fr
Username : orange
Password : orange
MCC : 208
MNC : 01
APN Type : defaultCode language: JavaScript (javascript)

Lire la suite

sgs-3-boutons-mode-recovery-download

Android : les modes Recovery et Download sur le Samsung Galaxy S

Voici la suite de mes mésaventures avec KIES. Lorsque l’on flashe le firmware de son téléphone et que celui-ci ne répond plus, on peut utiliser deux modes distincts : le mode Recovery (R) et le mode Download (D).

Un SGS briqué

Juste pour vous donner une petite idée, voici ce qu’affiche le Galaxy S lorsqu’il est “briqué” :

SGS black screen of death

C’est le Black Screen Of Death ou phone-!-pc. Lorsque vous voyez cette image, l’appareil est inutilisable : il ne démarre plus et n’affiche plus l’image de chargement lorsque vous le branchez sur secteur.

Le seul moyen d’en sortir, c’est d’enlever la batterie pendant une minute puis de passer en mode Download pour reflasher l’appareil.

Lire la suite

Serveur dédié : intégrer SSH à WordPress pour mettre à jour le core, les plugins et les thèmes photo 1

Serveur dédié : intégrer SSH à WordPress pour mettre à jour le core, les plugins et les thèmes

ssh plugins logo

Sur mon serveur, j’ai fait le choix de ne pas installer de serveur FTP.

Pourquoi ? Et bien tout simplement parce que le protocole FTP n’est pas du tout sécurisé : les mots de passe sont envoyés en clair sur le réseau, il n’y a aucun chiffrement appliqué sur la connexion et il existe 1001 manières d’en forcer l’accès.

Du coup, je me dis que l’on peut très bien s’en passer. Comme il faut bien que je mette des fichiers sur le serveur ou mettre à jour le site, nous allons utiliser SSH qui est un protocole sécurisé.

Lire la suite

Serveur dédié : afficher la véritable IP derrière un reverse-proxy comme Varnish photo

Serveur dédié : afficher la véritable IP derrière un reverse-proxy comme Varnish

ip masked icon

Quelques jours après avoir installé et joué avec Varnish, je me suis aperçu que tous les commentaires du site étaient postés avec l’adresse IP 127.0.0.1, qui est l’adresse du reverse-proxy. Pareil dans les fichiers de logs.

Pour solutionner ce problème et retrouver les véritables adresses IP, il suffit d’installer le module RPAF (Reverse Proxy Add Forward) pour Apache.

Le module RPAF

On installe mod_rpaf :

apt-get install libapache2-mod-rpafCode language: JavaScript (javascript)

On l’active :

a2enmod rpaf

puis on édite sa configuration :

nano /etc/apache2/mods-enabled/rpaf.conf

en y ajoutant/modifiant ceci :

RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1
RPAFheader X-Forwarded-ForCode language: CSS (css)

Lire la suite

Serveur dédié : installer APC comme système de cache et configurer Varnish comme reverse-proxy pour Apache pour améliorer les performances photo 1

Serveur dédié : installer APC comme système de cache et configurer Varnish comme reverse-proxy pour Apache pour améliorer les performances

Allez, on continue d’optimiser notre serveur : aujourd’hui, je vous montre comment améliorer nettement les performances du serveur.

Nous allons d’abord installer un système de cache – j’ai choisi APC – qui va soulager un peu le système en mettant en cache les pages du site les plus demandées.

Cela aura un impact sur le temps de traitement des pages (moins de traitement PHP) et sur la base de données (moins de requêtes SQL).

varnish apache

Dans un second temps, nous installons Varnish comme reverse-proxy pour Apache : tous les objets statiques (images, CSS, JS) seront traités par Varnish, le reste (PHP) sera traité par Apache. Cela divise sensiblement la charge serveur.

Installation d’APC

APC est un système de cache que je trouve très performant. On l’installe avec :

pecl install apc

puis on crée le fichier de configuration :

nano /etc/php/7.4/conf.d/apc.ini

et on y ajoute :

extension=apc.so
apc.enabled=1
apc.shm_size=128M
apc.stat=0
apc.ttl=7200
apc.user_ttl=7200
apc.enable_cli=1
apc.max_file_size=10M
apc.rfc1867 = On

Lire la suite

Serveur dédié : CHMOD récursif sur des fichiers ou répertoires en ligne de commande photo

Serveur dédié : CHMOD récursif sur des fichiers ou répertoires en ligne de commande

Il y a quelques jours, j’ai eu besoin de modifier les permissions de plusieurs dizaines de fichiers PHP.

Plutôt que d’utiliser la fonction CHMOD du client FTP, je me suis dit que ce serait sûrement plus rapide via ligne de commandes.

Chmod sur toute une extension de fichiers

Pour faire un CHMOD 640 récursif sur tous les fichiers PHP d’un répertoire, commencez par vous rendre dans le répertoire puis utilisez cette commande :

find . -type f -name '*.php' -exec chmod 640 {} \;  Code language: JavaScript (javascript)

En changeant l’extension qui se trouve entre les guillemets, vous pouvez rapidement attribuer les bonnes permissions aux bons types de fichiers.

Lire la suite

Serveur dédié : sécuriser Apache 2 avec ModSecurity photo

Serveur dédié : sécuriser Apache 2 avec ModSecurity

modsecurity

Aujourd’hui, on ajoute une couche de sécurité supplémentaire avec l’installation du module ModSecurity pour Apache.

ModSecurity est un firewall pour les applications web (WAF) pour Apache.

Il permet de se prémunir contre pas mal d’attaques (connues/inconnues, injections SQL, failles XSS…) et permet de surveiller le traffic HTTP en temps réel. Très utile pour un serveur dédié sous Apache!

L’installation est très rapide, cela ne prend que quelques minutes et 3 étapes.

Etape 1 : installation de mod_security

On commence par éditer nos sources de dépôts :

nano /etc/apt/sources.listCode language: PHP (php)

et on ajoute les backports :

deb  squeeze-backports main

On met à jour et on installe mod_security:

apt-get update
apt-get install libapache-mod-securityCode language: JavaScript (javascript)

On active le module :

a2enmod mod-security

Et on relance Apache pour prendre en compte nos changements :

/etc/init.d/apache2 restart

Lire la suite