Installer curl pour php

curl (abréviation de Client URL Request Library) est un programme et une bibliothèque pour php qui permet d’utiliser simplement des protocoles réseaux (http, ftp…). Elle n’est pas installée par défaut, on a besoin de deux paquets supplémentaires :

# apt-get install curl php5-curl

Avec ceci, curl devrait fonctionner sans problème.

À la réception du serveur

Réception du serveur

Quand on reçoit son serveur, tout ce qu’on peut faire c’est de se connecter en ssh avec le nom d’utilisateur fourni à l’hébergeur et avec un mot de passe temporaire (si vous vous connectez directement en root, passez directement au changement du mot de passe root). La première chose à faire est donc de changer son mot de passe :

$ passwd

On vous demande de re-saisir l’ancien et de taper deux fois le nouveau. Choisissez un mot de passe solide (lettres majuscule et minuscule, symboles et chiffres, au moins 10 caractères) car ssh est la principale porte d’accès à votre serveur.

Ensuite, on se connecte en root pour pouvoir agir sur la machine :

$ su

Il faut maintenant saisir le mot de passe root temporaire que vous avez fourni à l’hébergeur.

Ensuite, on change le mot de passe root :

# passwd

Encore une fois, il faut re-saisir l’ancien et de taper deux fois le nouveau. Il faut trouver un nouveau mot de passe différent de celui de l’utilisateur et tout aussi solide.

Il est possible que vous n’ayez pas d’utilisateur autre que root sur votre machine. Dans ce cas, changez le mot de passe root et créez un autre utilisateur toto :

# adduser toto

Puis on donne comme répertoire à l’utilisateur toto, celui où on mettra les sites (/var/www):

# usermod -d /var/www toto -m

Enfin, on installe vim pour pouvoir éditer plus facilement les fichiers :

# apt-get install vim

Je n’arrivais pas à utiliser correctement vi, sans doute à cause de l’encodage des caractères. Avec vim tout marche pour le mieux.

Htop

Aperçu de htop

htop est un petit outils qui permet d’avoir une vue globale sur l’état du serveur. C’est une version plus jolie de top donnant accès à l’utilisation des processeurs et de la mémoire. On visualise également tous les processus actif sur le serveur. Il est possible de les classer en fonction de différents critères et aussi de les tuer.

Pour installer htop :

# apt-get install htop

Et ensuite pour le lancer :

# htop

htop est complètement configurable en tapant sur « F2 » (SETUP).

Il y aurait beaucoup de choses à dire sur htop. Une chose peut-être plus utile : la signification de Load average. Le premier nombre indique la moyenne de la charge sur une minute, le second sur cinq minutes et le troisième sur quinze minutes. En gros il faut s’inquiéter si le Load average est supérieur au nombre de processeurs.

Sources

Load averge – Wikipedia

Installer Awstat sur Debian squeeze

Traffic horaire avec Awstats

Awstats est un logiciel qui génère des statistiques web à partir des logs du serveur. Contrairement à un analyseur basé sur JavaScript (comme Google Analytics ou Xiti) Awstats ne rate aucun visiteur, il donne des informations exhaustives. Contrairement à un analyseur php (comme phpMyVisit)  il n’est pas une charge supplémentaire pour votre serveur puisque vous le faites travailler quand vous voulez et de manière très brève (moins de 30 secondes par jour pour un site raisonnable).

De plus Awstats donne des informations plus orientées serveur (hits, types de fichiers, bande passante, erreurs 404…) il est donc très utile pour un administrateur.

Bien sur il est toujours utile d’avoir simultanément un analyseur Javascript pour avoir des informations plus élaborées mais le fait d’avoir son analyseur en local est tout de même rassurant.

Nous allons donc installer Awstats sur une Debian Squeeze. Nous supposons que le domaine qui nous intéresse est domaine.tld et que notre site est situé dans le répertoire /var/www/domaine.tld/.

On suppose également que vos fichiers log sont dans le répertoire /var/log/apache2/ et qu’ils sont sous la forme domaine.access.log avec le format combined.

Installation

Avant toute chose, nous allons créer un sous-dossier par lequel nous allons accéder aux statistique Awstats :

# mkdir /var/www/domaine.tld/stats/

Puis, il faut installer le paquet Awstats :

# apt-get install awstats

Ensuite, on crée un fichier de configuration à partir d’un modèle :

# cp /etc/awstats/awstats.conf /etc/awstats/awstats.domaine.tld.conf

On édite ce fichier de conf :

# vi /etc/awstats/awstats.domaine.tld.conf

On y change les lignes suivantes (les trouver dans le fichier) :

LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/apache2/domaine.access.log.1 /var/log/apache2/domaine.access.log |"
LogFormat=1
SiteDomain="domaine.tld"
HostAliases="localhost 127.0.0.1 www.domaine.tld domaine.tld"
DNSLookup=0
DirIcons="awstats-icon"

Ici, Awstats va analyser le fichier de log courant ainsi que le précédent. Ça double le temps d’analyse, mais ça permet d’éviter de perdre des lignes de log au moment de la rotation. c’est pas très fin, mais c’est simple et infaillible.
On décommente également les lignes suivantes (vers la fin du fichier) :

LoadPlugin="decodeutfkeys"
LoadPlugin="geoip GEOIP_STANDARD /usr/share/GeoIP/GeoIP.dat"

Le premier plugin permet de gérer l’UTF-8 et le deuxième permet de connaître le pays d’origine de vos visiteurs.
On fait un lien pour avoir les images d’Awstats :

# ln -s /usr/share/awstats/icon/ /var/www/domaine.tld/stats/awstats-icon

On installe le module perl geo-ip et aussi celui pour décoder l’utf-8 :

# apt-get install libgeo-ip-perl liburi-perl

On récupère la base de données Geo-ip :

# cd /usr/share/GeoIP
# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
# gunzip -f GeoIP.dat.gz

Voilà, Awstats est près à fonctionner, il ne reste plus qu’à savoir s’en servir.

Utilisation

Pour utiliser Awstats, il faut passer par deux étapes :

  1. Mettre à jour la base d’Awstats à partir des fichiers de Log.
  2. Générer les pages HTML pour visualiser les stats.

Première grosse mise à jour (à ne faire qu’une fois, ça peut prendre plusieurs minutes) :

# perl /usr/lib/cgi-bin/awstats.pl -config=domaine.tld -LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/apache2/domaine.access.log* |" -update

Pour les mises à jour quotidiennes :

# perl /usr/lib/cgi-bin/awstats.pl -config=domaine.tld -update

Pour construire les pages :

# perl /usr/share/awstats/tools/awstats_buildstaticpages.pl -config=domaine.tld -lang=fr -awstatsprog=/usr/lib/cgi-bin/awstats.pl -dir=/var/www/domaine.tld/stats/

Voilà, maintenant vous avez vos stats qui vous attendent à l’adresse suivante : http://domaine.tld/stats/awstats.domaine.tld.html

Pour finir, on automatise tout ça en créant une tâche cron qui fait ça toutes les nuits.

Automatisation

On crée un fichier update-awstats.sh pour regrouper les deux commandes de mise à jour :

# vi /root/script/update-awstats.sh

(Si vous n’avez pas de répertoire script, créez-le)
Dans ce fichier on met les deux commandes suivantes :

perl /usr/lib/cgi-bin/awstats.pl -config=domaine.tld -update
perl /usr/share/awstats/tools/awstats_buildstaticpages.pl -config=domaine.tld -lang=fr -awstatsprog=/usr/lib/cgi-bin/awstats.pl -dir=/var/www/domaine.tld/stats/

On rend le fichier exécutable :

# chmod +x /root/script/update-awstats.sh

Et enfin on crée une tâche cron pour exécuter cette commande toutes les nuits :

# crontab -e

Et dans le fichier rentrer les lignes suivantes :

# Awstats : tous les jours à 5h00
00 5 * * * /root/script/update-awstats.sh

Normalement vous aurez maintenant toujours des stats à jour.