Catégories
Blog

phpMyVisites: deuxième impression…

« Il n’y a que les imbéciles qui ne changent pas d’avis… ».

Lors d’un premier post, j’avais émis certaines réserves sur la qualité du logiciel phpMyVisites, avec un peu de recul et de configuration, je reviens sur certains des points que j’avais critiqué.

Le premier et non des moindre est que je ne trouvais pas cet outil adapté à l’analyse des logs d’un blog. En effet, par defaut, phpMyVisites regroupe les fichiers par répertoire, on ne peut donc pas simplement trouver l’information sur le classement des consultations des articles. Pour résoudre se problème, il faut, comme me la signalé Pascal (merci à lui), modifier le code HTML à insérer dans les pages Web et remplacer:

var pagename =  »;
par
var pagename = document.title;

On arrive donc à des statistiques plus lisible pour un blog:

phpmv-statsok.pngMon deuxième griefs, concernait le design de l’interface Web. Sur ce dernier point je ne reviens qu’en partie sur mon premier avis. En effet, même si l’interface Web est bien organisée (on retouve les informations nécessaires assez facilement dans les menus), je trouve toujours le design et les graphiques assez moche. De plus certaines règles élémentaires ne sont pas respectées (comme le fait de devoir « scroller » pour retouver le menu).

Pour conclure, phpMyVisites est un bon outil, mais des améliorations sont nécessaires pour en faire une application incontournable.

Catégories
Reseau

Test de bande passante sur les réseaux Wifi

Le but de ce post est de tester le débit réel (pas celui inscrit sur l’emballage) des réseaux Wifi. Nous allons pour cela utiliser le logiciel Iperf dont vous pouvez trouver un tutoriel ici.

Pour effectuer ce test il faut:

  • un PC (PC°1) branché en direct (par cable Ethernet) à votre borne Wifi (ou à votre box).
  • un autre PC (PC°2) disposant d’une interface Wifi. Le plus simple étant que ce PC soit protable pour faciliter les tests.
  • une borne Wifi (ou une box) correctement configurée.

Voici un exemple de configuration:

Installation de Iperf

La première chose à faire est d’installer Iperf sur les deux PC (voir le tuto pour plus d’informations).

Test de référence sans le Wifi

C’est le test de référence sans Wifi.

Voici la configuration du test:
PC°1: Branché directement par un câble Ethernet à la borne Wifi.
PC°2: Branché directement par un câble Ethernet à la borne Wifi.

Et le test à effectuer:

TEST°1:

Sur le PC°1:
# iperf -s
------------------------------------------------------------
Client connecting to al-firewall1, TCP port 5001
TCP window size: 65.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.2 port 50953 connected with 192.168.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 66.7 MBytes 55.8 Mbits/sec

Sur le PC°2:
# iperf -c
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 56.0 KByte (default)
------------------------------------------------------------
[ 6] local 192.168.1.1 port 5001 connected with 192.168.1.2 port 50953
[ 6] 0.0-10.0 sec 66.7 MBytes 55.9 Mbits/sec

Le résultat du TEST°1 est donc: 55.9 Mbits/sec
On est déjà loin des 100 Mbps des ports Ethernet…

Test de référence avec le Wifi

C’est le test de référence avec Wifi. Le PC Wifi (PC°2) étant le plus proche que possible de la borne.

Voici la configuration du test:
PC°1: Branché directement par un câble Ethernet à la borne Wifi.
PC°2: En Wifi, proche de la borne (moins de 1 mètre).

Et le test à effectuer:

TEST°2: Moins de 1 mètre

Sur le PC°1:
# iperf -s

Sur le PC°2:
# iperf -c

Test du réseau Wifi

On va alors s’éloigner petit à petit de la borne Wifi et effectuer le même test à chaque fois.

Voici la configuration du test:
PC°1: Branché directement par un câble Ethernet à la borne Wifi.
PC°2: En Wifi, la distance à la borne dépend du test.

TEST°3: 2 mètres
TEST°4: 5 mètres
TEST°5: 10 mètres
TEST°6: 15 mètres
TEST°7: 20 mètres
TEST°8: 30 mètres

Notes: Il faut bien entendu noter si il y a des murs entre le PC°2 et la borne Wifi et si oui noter le nombre de murs.

Rapport final

Le rapport final ressemblera à:

Type de borne Wifi: Réference, configuration…
Type de PC°1: CPU, Mémoire, OS
Type de PC°2: CPU, Mémoire, OS, Chipset Wifi
Resultat du TEST°1: … Mbits/secs
Resultat du TEST°2: … Mbits/secs
Resultat du TEST°3: … Mbits/secs
Resultat du TEST°4: … Mbits/secs
Resultat du TEST°5: … Mbits/secs
Resultat du TEST°6: … Mbits/secs
Resultat du TEST°7: … Mbits/secs
Resultat du TEST°8: … Mbits/secs

Si vous faite le test chez vous merci de nous faire connaître vos résultats !

Catégories
Open-source Reseau

De Nagios à XML…

La manipulation des fichiers de configuration de Nagios peut s’avérer délicate quand la taille et la complexité du réseau à surveiller deviennent importante. L’utilisation d’un fichier de configuration au format XML permet une plus grande flexibilité au niveau du développement de scripts au d’interface Web de management. La première brique est donc de transformer les fichiers de configuration de Nagios en un fichier XML.

J’ai donc écrit deux scripts Perl (à télécharger ici).

Le permier permet à partir d’une configuration existante (fichiers nagios.cfg …) de créer un fichier XML.

Exemple d’utilisation:

# cd /etc/nagios
# nagios2xml.pl -f ./nagios.cfg -x /tmp/nagios.xml

Le second permet à partir d’un fichier XML de générer un fichier de configuration de Nagios (« lisible » par Nagios).

Exemple d’utilisation:

# cd /etc/nagiosnew
# xml2nagios.pl -x /tmp/nagios.xml -f ./

Il ne reste plus qu’a créer les scripts pou manipuler cette nouvelle structure XML !
Suite au prochain épisode.

Catégories
Open-source Systeme

Liste de Freeware & GPL pour Mac OS X

Le page web suivante permet d’avoir une liste assez bien faite de Freeware et GPL pour Mac OS X classée par catégories (Audio, Video, Office, 3D, P2P …).

Liste freeware & gpl mac

Mise à jour réguliairement, elle permet de trouver rapidement de nouvelles petites perles libres. Elle est aussi une bonne base pour es futurs « switchers » afin qu’ils se fassent une idée de freewares que l’on peut trouver sour l’OS de la pomme.

Catégories
Uncategorized

Place du Francais dans les blog

C’est en lisant le rapport mensuel du mois d’avril 2007 de Dave Sifry (CEO de Technorati) sur les blogs que je suis tombé sur le graphe suivant:

Il indique que la part des blog rédigés en français représente 2% des blogs mondiaux (réferencés par Technorati). La langue de Molière est donc au même niveau que le portugais mais en dessous de l’espagnol et de l’italien. La communauté Francaise à donc encore du retard à rattraper pour arriver au niveau du japonnais, grand vainqueur devant l’anglais et le chinois !

Je me demande si les skyblogs (qui vont bientôt atteindre le chiffre de 8 millions de blog), majoritairement rédigés en français sont intégrés dans ces statistiques ?

Catégories
Blog

phpMyVisites: Installation et premières impressions…

Suite aux conseils de certains lecteurs j’ai essayé phpMyVisites pour surveiller les statistiques de mon blog. Voici donc un premier post sur le sujet ou nous allons traiter de l’installation et des premières impressions sur cet outils de statistiques de sites Web.

Installation

La dernière version stable est à télécharger (version 2.2 au moment de l’écriture de ce post) à l’adresse: http://www.phpmyvisites.net/telechargements.html.

Il faut dans un premier temps extraire les fichiers de l’archive zip et copier le répertoire phpmv2 à la racine de votre site Web.

Avant de lancer l’installation, il est nécessaire de configurer les droits des répertoires suivants (et des sous répertoires) en mode écriture: /phpmv2/config et /phpmv2/datas

# cd repertoireracinedevotresite
# chmod 755 ./phpmv2/config
# chmod 755 ./phpmv2/datas

Pour accéder à l’installation, lancez votre navigateur à l’adresse suivante: http://adressedevotresite/phpmv2

Il faut alors suivre le wizard qui étape par étape va installer phpMyVisites (vérification des droits, définition de la base de donnée MySQL, confgiuration du site à surveiller…). Enfin la dernière étape va vous fournir le code à installer sur toutes les pages HTML que vous voulez inclure dans les statistiques. Par exemple pour un blog WordPress, le plus simple est d’ajouter ce code dans le fichier footer.php de votre théme favoris.

Premières impressions…

Une fois installé, l’accès à l’interface phpMyVisites ce fait par l’URL: http://adressedevotresite/phpmv2

Mes premières impressions (après quelques heures d’utilisations) ne sont pas très positive…

Les menus sont bien identifiés et l’on retouve facilement l’information que l’on cherche. Les sections suivantes sont disponibles:

  • Visites
  • Fréquence
  • Pages vues
  • Suivi
  • Provenance
  • Configurations
  • Affluents

Rien que du très classique mais avec des tableaux et des graphes clairs. On retrouve donc les informations nécessaires au suivi d’un site Web.

D’un site Web mais pas forcement d’un blog… En effet dans la section Pages vues, les posts sont regroupés par année/mois et il faut déplier le menu pour voir le contenu des statistiques. Pas très pratique pour savoir rapidement quel est la page la plus consultée sur une période donnée.


Avant…



Aprés..

Autre point négatif: le design sobre mais un peu trop Web 1.0 à mon goût. Quand on voit les interfaces des outils en ligne comme Google analytics ou Feedburner, on voit que phpMyVisites à un certain retard sur ce point.

J’attend donc de tester les prochaines versions avant d’en faire mon outil d’analyse de statistique.

Pour voir mon avis après un peu plus d’utilisation du logiciel, voir le post suivant.

Catégories
Systeme

Mon bureau du mois d’avril 2007

Voici mon bureau de travail, sur mon MacBook Pro (cliquez sur l’image pour le full screen):

Pour information, l’image de fond vient du site de Vladstudio, sinon rien que du grand classique.

Catégories
Open-source Reseau

Exemple de configuration de Nagios

Ce post fait suite à celui sur l’installation de Nagios sur une machine Linux. Nous allons y décrire les fichiers de configurations nécessaires pour surveiller (« to monitor ») un réseau simple comporant: une machine client, une machine serveur avec un serveur Web et une serveur FTP et une liaison Internet.

Note: les fichiers de configurations données en exemple dans ce post se basent sur la version 2.8 de Nagios.

Sous Fedora Linux, les fichiers de configurations de Nagios se trouvent dans le répertoire /etc/nagios/ (/usr/local/etc/nagios sous BSD). Le fichier nagios.cfg définie l’ensemble des sous fichiers de configurations grâce aux variables cfg_file:


#cfg_file=/etc/nagios/localhost.cfg
cfg_file=/usr/local/etc/nagios/timeperiods.cfg
cfg_file=/usr/local/etc/nagios/contacts.cfg
cfg_file=/usr/local/etc/nagios/contactgroups.cfg
cfg_file=/usr/local/etc/nagios/hosts.cfg
cfg_file=/usr/local/etc/nagios/services.cfg
cfg_file=/usr/local/etc/nagios/hostgroups.cfg

Il faut également configurer le fichier cgi.cfg (en partant de cgi.cfg-sample):

authorized_for_system_information=admin
authorized_for_configuration_information=admin
authorized_for_system_commands=admin
authorized_for_all_services=admin
authorized_for_all_hosts=admin
authorized_for_all_service_commands=admin
authorized_for_all_host_commands=admin

Définition des plages horaires

La première étape consiste à définir les périodes de temps que nous allons pouvoir utiliser dans les autres fichiers de configurations. Pour simplifier, nous allons juste créer la période 24×7 (tout les jours, toutes les heures…). Pour cela, il faut éditer le fichier /usr/local/etc/nagios/timeperiods.cfg:

# Time periods definitions
##########################
# 7d/7 24h/24
define timeperiod {
timeperiod_name 24×7
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}

Définition des contacts

Nous allons ensuite définir les contacts. C’est à dire les personnes devant être prevenu par un moyen ou un autre (mail, SMS…) quand une alerte est générée par Nagios (par exemple quand votre serveur Web ne répond plus).

Il faut pour cela modifier deux fichiers, /usr/local/etc/nagios/contacts.cfg pour la définition du/des contacts:

# Contacts defintions
#####################
define contact {
contact_name nico
alias Nicolas
host_notification_period 24×7
service_notification_period 24×7
host_notification_options d,u,r
service_notification_options w,u,c,r
host_notification_commands host-notify-by-email
service_notification_commands notify-by-email
email nico@votreadressemail.com
}

Nous venons donc de créer un contact nommé « nico » qui sera joingnable 24 heures sur 24, 7 jours sur 7 par mail.

Le deuxième fichier (/usr/local/etc/nagios/contactgroups.cfg) permet d’intégrer le nouvel utilisateur dans un groupe:

# Contacts groups definition
############################
define contactgroup {
contactgroup_name admins
alias Administrators
members nico
}

Nous avons donc ajouté « nico » dans le groupe « admins ».

Définition des machines à surveiller

Entrons dans le vif du sujet en déclarant les machines que l’on veut surveiller. Cette définition sefait dans le fichier /usr/local/etc/nagios/hosts.cfg:

On commence le fichier en définissant un template:

# Nagios server – Hosts definitions
###################################
# Templates
#———-
define host{
name template-host
check_command check-host-alive
max_check_attempts 2
check_interval 5
active_checks_enabled 1
passive_checks_enabled 0
check_period 24×7
notification_interval 60
notification_period 24×7
obsess_over_host 0
check_freshness 0
event_handler_enabled 0
flap_detection_enabled 0
process_perf_data 0
retain_status_information 1
retain_nonstatus_information 1
contact_groups admins
register 0
}

Puis on ajoute la définition pour notre routeur d’accès à Internet (Freebox, 9box, OrangeBox, Trucbox…):

# Ma box
#————
define host{
use template-hosts
host_name monrouteuramoi
alias Mon routeur à moi c’est une Freebox
address 192.168.100.254
}

celle de mon PC client:

# Mon PC client
#————
define host{
use template-hosts
host_name monpcamoi
alias Mon MacBook Pro à moi
address 192.168.100.2
}

et enfin celle de mon serveur:

# Mon serveur
#————
define host{
use template-hosts
host_name monserveuramoi
alias Mon serveur Linux à moi
address 192.168.100.1
}

on termine en surveillant la liaison Internet (pour cela on va pinguer un serveur Web):

# Mon liaison Internet
#————
define host{
use template-hosts
host_name maliaisonamoi
alias Ma liaison ADSL à moi
address www.free.fr
parents monrouteuramoi
}

Vous pouvez remarquer dans cette dernière définition que nous avons définie « monrouteuramoi » comme père de ma « maliaisonamoi ». Ainsi, si le routeur n’est plus accéssible, Nagios n’essayera plus de surveiller la liaison Internet.

Définition des services à surveiller

Une fois les machines définies, nous devons décider ce que nous allons surveiller dessus. Cette configuration se fait grâce au fichier /usr/local/etc/nagios/services.cfg.

Nous allons commencer par un template:

# Templates
#———-
define service{
name template-services
active_checks_enabled 1
passive_checks_enabled 0
parallelize_check 1
obsess_over_service 1
check_freshness 0
notifications_enabled 0
event_handler_enabled 0
flap_detection_enabled 0
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
check_period 24×7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 240
notification_period 24×7
notification_options c,r
register 0
}

Puis par la surveillance du routeur:

# monrouteuramoi
#———
define service {
host_name monrouteuramoi
use template-services
service_description Ping
check_command check-host-alive
}

De mon PC client:

# monpcamoi
#———
define service {
host_name monpcamoi
use template-services
service_description Ping
check_command check-host-alive
}

mon serveur (on surveille également le serveur HTTP et le serveur FTP):

# monserveuramoi
#———
define service {
host_name monserveuramoi
use template-services
service_description Ping
check_command check-server-alive
}
define service {
host_name monserveuramoi
use template-services
service_description Web serveur
check_command check_http
}
define service {
host_name monserveuramoi
use template-services
service_description FTP serveur
check_command check_ftp
}

et enfin la liaison Internet:

# maliaisonamoi
#———
define service {
host_name maliaisonamoi
use template-services
service_description Ping
check_command check-server-alive
}

Définition des groupes de machines

La dernière étape consiste à définir un groupe de machine dans le fichier /usr/local/etc/nagios/hostgroups.cfg:

# Mon réseau à moi
define hostgroup{
hostgroup_name monreseauamoi
alias Mon reseau
members monrouteuramoi, monpcamoi, monserveuramoi, maliaisonamoi
}

et voila la configuration touche à sa fin, il ne reste plus qu’a vérifier la syntaxe de vos fichiers de configuration avec la commande suivante:

# nagios -v <nagios.cfg>

Si tout est ok, vous pouvez relancer le serveur Nagios:

# service nagios reload

That’s all folk !

Pour une description précise des options des fichiers de configuration de Nagios, c’est par ici.

Pour consulter l’ensemble des posts sur Nagios, c’est par là.

Catégories
Web

Héberger un serveur Web 2.0

Le « web deux point zéro » est partout, on en mange à toutes les sauces. Nous allons dans ce post nous focaliser sur les aspects techniques avec la mise en place d’une plate-forme Web 2.0 « open-source » hébergée directement chez vous.

Avant d’entrée dans le vif du sujet, voici la liste des services Web 2.0 que nous allons installer:
– Serveur LDAP pour la gestion des comptes utilsateurs.
– Serveur de messagerie (avec Webmail).
– Serveur Web (avec blog et forum).
– Serveur de fichiers.
Cette liste est bien entendu non exhaustive, à vous d’installer les services qui répondent à vos besoins…

Pour cela nous loons utiliser:
– un accès Internet haut débit.
– un routeur d’accès sécurisé si possible avec une DMZ.
– une machine (serveur) de type Linux ou BSD.

Architecture du réseau

Il est important de noter que la bande passante de votre accès doit être la plus symétrique possible. En technologie ADSL le « A » veut dire asymétrique, ce qui implique que la bande passante entre Internet et vous et beaucoup plus important que celle entre vous et Internet. Hors quand l’on souhaite héberger des services, il faut que la bande passante entre vous et Internet soit également importante.

Au niveau du serveur qui va héberger les services « 2.0 », il est préférable de dédier une machine (pas besoin d’un bête de course, un simple PC avec un peu de RAM et de HD suffit largement). Cette machine pourra être hébergé sur une DMZ, c’est à dire un réseau isolé du réseau ou se trouve vos autres machines (ce n’est pas obligatoire mais conseillé pour des raisons de sécurité).

Installation du système sur le serveur

La première étape consiste donc à installer le système sur la machine serveur. Pour cela vous pouvez vous référer aux deux posts suivants selon votre choix:
Installation de FreeBSD
Installation de Fedora

Il n’est pas nécessaire d’installer une interface graphique de type Gnome ou KDE, en effet tout peut être fait en ligne de commande.

Le serveur doit être mis à jour régulièrement au niveau des patchs de sécurité. En effet comme il sera accéssible depuis Internet, il risque de subir des attaques sur les ports réseaux qui seront ouverts.

Installation du serveur LDAP

Le serveur LDAP stockera l’ensembles des informations sur les utilisateurs que vous allez déclarer. Nous utilisons OpenLDAP (suivre la procédure ici).

Installation du serveur de messagerie

Nous allons nous baser sur Postfix qui a le mérite d’être beaucoup plus facile à configurer que Sendmail. Le site suivant est une bonne base en Francais pour la configuraton de se serveur de mail. Pour que le serveur de messagerie utilise les comptes utilisteurs LDAP, on utilisera la documentation suivante.

Si vous avez un nom de domaine, il faudra configurer votre MX pour qu’il pointe vers l’adresse IP publique de votre serveur. Ainsi un mail envoyé à vous@votredomaine.com sera relayé automatiquement vers votre serveur.

Au niveau de votre routeur d’accès, les ports réseaux à ouvrir au niveau du Firewall sont les suivants: POP, SMTP

Pour l’accès via le Web, on peut installer RoundCube, un Webmail très bien fait. Ce dernier nécessite l’installation préalable d’un serveur Web.

Installation du serveur Web

Le serveur Web est le coeur de votre serveur 2.0, on utilisera Apache qui est incontournable… Le post suivant vous aidera à installer le service.

Il faut ensuite installer le moteur de Blog WordPress. Pour cela, il faut d’abord installer un serveur de base de données MySQL puis installer la dernière version de WordPress.

Enfin on installe le serveur de forum PhpBB.

Au niveau de votre routeur d’accès, les ports réseaux à ouvrir au niveau du Firewall sont les suivants: HTTP et HTTPs

Installation du serveur de fichiers

Le serveur de fichiers (FTP) se base sur ProFTPd. On peut trouver une procédure d’installation ici.

Au niveau de votre routeur d’accès, les ports réseaux à ouvrir au niveau du Firewall sont les suivants: FTP, SFTP

Cet article n’est là que pour introduire la notion d’hébergement.
A vous d’installer d’autres services !

Bouquins sur le sujet:

Catégories
Blog

Les moteurs de recherche et les blogs

Un post rapide pour mettre sur l’ papier écran une réflexion sur les moteurs de recherche. En effet, en regardant les statistiques de mon site, je vois que 99,8 % des visiteurs venant des moteurs de recherche venait de Google.

Ce chiffre me parait assez énorme sachant que lors de la migration du blog vers mon nouveau nom de domaine, j’ai effectué la déclaration en même temps sur les moteurs de recherche les plus courants (Google, Yahoo, MSN, Free, Orange …).

Bref, soit Google m’aime bien et a traité ma demande très rapidement, soit les autres sont très lents à ajouter un site dans leur base.  Je reste un peu « coua » sur ces chiffres. Et vous, quel est la part de Google dans vos statistiques ?