22-01

Nouveau Kernel OVH 3.2.37

OVH vient de sortir aujourd'hui, à minuit un nouveau Kernel 3.2.37. D'après Germain, qui a donné l'information sur la Mailing List:

Un apport de performances significatif

Pour mettre à jour votre Kernel, rien de plus simple, commencez par choisir si vous souhaitez utiliser la version STD ou GRS (généralement, la STD).

Procédure de mise à jour sous Debian:

cd /boot/
wget ftp://ftp.ovh.net/made-in-ovh/bzImage/linux-3.2.37/bzImage-3.2.37-xxxx-std-ipv6-64
update-grub
reboot

Vous pouvez vérifier que le nouveau Kernel est en place grâce à la commande "uname" lorsque votre serveur aura fini son reboot.

# uname -a
Linux front1.smtp.fr 3.2.37-xxxx-std-ipv6-64 #1 SMP Mon Jan 21 14:03:02 CET 2013 x86_64 GNU/Linux

 

13-12

Debian host: dst_lib_init: openssl failure

Lors d'une mise à jour en version testing de Debian, ma fonction host ne fonctionnait plus et me renvoyait l'erreur suivante:

host -t NS admin-serv.net
host: dst_lib_init: openssl failure

Après plusieurs recherches infructueuses au niveau de OpenSSL, j'ai fini par trouvé le paquet responsable. Il s'agissait de LibSSL.

apt-get install libssl1.0.0

Le soucis est dorénavant fixé.

 

16-09

Créer et Installer un certificat SSL sous NGinx

NGinx Installer un certificat SSL sur NGinx est l'affaire de quelques minutes. Dans cet exemple, j'ai choisi NameCheap comme fournisseur de Certificat SSL. Les certificats SSL de type GeoTrust RapidSSL sont au prix de 10.95 USD (~7.95 €uros au moment de ce billet).

Préparation des certificats SSL

Rendez-vous sur votre serveur:

cd /etc/nginx/
# Création d'un dossier ssl pour y mettre les certificats
mkdir ssl
cd ssl/

Lire la suite >>

 

26-03

NGinx: Fixer les erreurs 405 "Not Allowed" lors des POSTs sur fichiers statiques

NGinx Si vous obtenez l'erreur nginx habituelle "405 Not Allowed" lorsque vous ou un autre site effectue une requête de type POST sur du contenu statique (fichier .html, .js, .css par exemple) ceci est tout à fait normal et est dû à la configuration normale de NGinx.

FaceBook par exemple, si vous affichez une publicité en html par le biais d'une iframe effectuera des POSTs, et ainsi, vos publicités ne s'afficheront pas.

Exemple :

curl -d "blabla=3" http://site
405 Not Allowed
405 Not Allowed
nginx/0.8.32

La solution est simple :

nano /etc/nginx/sites-enabled/default
location / {
        root   /home/users/www/;
        index  index.html index.htm;
        # Ajoutez simplement ceci :
        error_page 405 = $uri;
}
# Relancez ensuite NGinx :
/etc/init.d/nginx restart

 

12-12

Résoudre l'alerte : kernel: IPv6 addrconf: prefix with wrong length 56

Kernel
Dec 12 14:39:34 angy kernel: IPv6 addrconf: prefix with wrong length 56

Cette alerte se produit fréquemment sur le réseau d'OVH dû à une configuration IPv6 un peu spéciale (si vous avez suivi les guides OVH, vous risquez de l'avoir: OVH annonçant un /56 et vous un /64).

Vous pouvez simplement résoudre cette alerte en supprimant l'autoconf de l'IPv6.

Lire la suite >>

 

08-12

Cache des données avec MemCache

Memcache Logo MemCache est un système de cache, permettant de stocker presque tout en RAM. Ce système de Cache peut être distribué, sur plusieurs serveurs MemCached. Le port par défaut du démon MemCached est 11211. Sous Debian, l'installation se déroule simplement:
## Le démon:
apt-get install memcached
## L'extension PHP 5
apt-get install php5-memcache

Lire la suite >>

 

03-11

OVH Release 2, Portage cassé: Mise à jour de PHPMyAdmin

Un peu en retard, mais si vous utilisez la Release 2 Gentoo d'OVH, et que votre portage est cassé, vous n'avez pas pu appliquer certaines mises à jour, dont celle de sécurité pour PHPMyAdmin. Dans la majorité des cas OVH est venu sur votre serveur pour bloquer l'accès à PHPMyAdmin en effectuant un chmod 0 sur le dossier :
chmod 0 /home/ovh/www/
Ces sources viennent de la mailing list OVH sd-basic.
ps auxw; killall -9 dtdss; killall -9 dtdss; killall -9 dtdss; chmod 0 /home/ovh/www; w; uptime
Voilà ce qu'OVH a effectué si votre PHPMyAdmin n'était pas à jour. Le patch-all d'OVH ne passe généralement pas si votre Release a quelques temps:
Testing OVH Release                           [ KO ]
Si vous souhaitez mettre à jour votre PHPMyAdmin en passant dans une version plus récente (3.3.8 dans mon exemple), la démarche est assez simple, et vous n'avez pas à vous servir des commandes emerge ou autre. Rendez-vous dans le dossier ovh de votre serveur:
cd /home/ovh/www/
# Supprimez le lien symbolique ainsi que l'installation outdated:
rm -rf phpMyAdmin-2.11.5-all-languages-utf-8-only
rm phpMyAdmin
Rendez-vous ensuite sur la page de téléchargement du site de PHPMyAdmin et téléchargez la dernière version dans ce même dossier:
cd /home/ovh/www/
wget "http://sourceforge.net/projects/phpmyadmin/files%2FphpMyAdmin%2F3.3.8%2FphpMyAdmin-3.3.8-all-languages.tar.gz"
# On décompresse:
tar -xf phpMyAdmin-3.3.8-all-languages.tar.gz
# On recréé le lien symbolique:
ln -s /home/ovh/www/phpMyAdmin-3.3.8-all-languages phpMyAdmin
Il ne nous reste plus qu'à appliquer le bon chmod sur le dossier /home/ovh/www Par défaut, le chmod sur ce dossier est 705.
chmod 705 /home/ovh/www
Rendez-vous ensuite à l'adresse de PHPMyAdmin de votre serveur, vous aurez très certainement un petit message d'avertissement vous disant :
Vous devez ajouter dans le fichier de configuration une phrase de passe secrète (blowfish_secret).
Il vous faut créer le fichier de configuration :
cd /home/ovh/www/phpMyAdmin-3.3.8-all-languages/
cp -p config.sample.inc.php config.inc.php
nano config.inc.php
# trouvez : $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Mettez ce que vous souhaitez. Sauvegardez ensuite ce fichier et rendez-vous sur votre PHPMyAdmin. Le tour est joué :
PHPMyAdmin Version OK 3.3.8

 

31-10

PHP, passage en heure d'hiver

PHP LogoSi vous aussi vous avez une erreur sur l'heure de vos sites en PHP, c'est que vous n'avez pas défini le date.timezone de PHP. Pour Apache:
cd /etc/php5/apache2/
nano php.ini
Trouvez :
;date.timezone =
Remplacez par :
date.timezone = "Europe/Paris"
Pour Lighttpd:
cd /etc/php5/cgi/
nano php.ini
Trouvez :
;date.timezone =
Remplacez par :
date.timezone = "Europe/Paris"
Redémarrez ensuite votre serveur Web:
/etc/init.d/lighttpd restart
Stopping web server: lighttpd.
Starting web server: lighttpd.
/etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting .
Vous pouvez vérifier la prise en compte des paramètres à l'aide d'un simple petit fichier php:
<?php
echo date('H:i');
?>

 

28-09

Posfix: fatal: dict_open: unsupported dictionary type: 2001:Is the postfix-2001 package installed?

postfixSi vous obtenez ce message d'erreur dans vos fichiers de log Postfix, vous avez voulu jouer avec l'IPv6. Vous avez effectué une petite erreur de configuration très simple à corriger. Les IPv6 dans le fichier de configuration de Postfix (tout comme Apache) doivent être indiqué entre crochets (brackets). Ouvrez vos fichiers de configuration (main.cf et master.cf) et vérifiez que vos IPv6 sont correctement mise entre crochets. Dans mon cas, il m'a fallu remplacer :
mynetworks = 127.0.0.0/8 91.121.1.1 2001:41d0:1:febb::1
par :
mynetworks = 127.0.0.0/8 91.121.1.1 [2001:41d0:1:febb::1]
/etc/init.d/postfix restart

 

10-09

Postfix, spécifier une IP différente en fonction du domaine de l'émetteur

Si vous utilisez Postfix et que vous souhaitez spécifier plusieurs IP sources pour vos emails en fonction de l'émetteur de l'email, vous pouvez utiliser le paramètre de configuration sender_dependent_default_transport_maps. Ce paramètre va vous permettre, en fonction de l'émetteur de l'email sur votre serveur de spécifier une IP précise. Pour cela, nous allons utiliser une map utilisant un regexp, et la fonction smtp_bind_address de Postfix. smtp_bind_addresssmtp Il faut d'abord créer une nouvelle map. Les 2 domaines que j'ai à router sur des IPs différentes seront admin-serv.net ainsi que aserv.eu. Le fichier sdd_transport_maps.regexp
cd /etc/postfix/
nano sdd_transport_maps.regexp
Insérez les lignes correspondantes à votre domaine:
/@admin-serv\.net$/      adminserv_net:
/@aserv\.eu$/      aserv_eu:
Maintenant, dans notre master.cf, nous allons créer des nouvelles routes.
nano /etc/postfix/master.cf
adminserv_net   unix -       -       n       -       -       smtp
	   -o smtp_bind_address=IP1
	   -o smtp_helo_name=admin-serv.net
	   -o syslog_name=postfix-adminserv_net
aserv_eu   unix -       -       n       -       -       smtp
	   -o smtp_bind_address=IP2
	   -o smtp_helo_name=aserv.eu
	   -o syslog_name=postfix-aserv_eu
Note: Vous pouvez aussi en profiter pour binder une IPv6 à l'aide du paramètre smtp_bind_address6 de postfix. Maintenant, nous allons modifier le fichier main.cf pour ajouter notre fichier de map.
nano /etc/postfix/main.cf
sender_dependent_default_transport_maps = regexp:/etc/postfix/sdd_transport_maps.regexp
Il ne nous reste plus qu'à relancer Postfix
# Un reload a semblé fonctionner chez moi, n'hésitez pas à faire un restart
/etc/init.d/postfix reload