Bastien Louche

Systèmes – Réseaux – Sécurité – Web | Tutoriels | CV
  • Accueil
  • CV
  • Contactez-moi

[Tutoriels] Installer un raccourcisseur d’url avec YOURLS

Bastien Louche | 12/04/2011 | 16:40

Dans ce tutoriel, nous allons installer un raccourcisseur d’url avec YOURLS dans le but de pouvoir publier un tweet avec son propre système d’url simplifiée et ainsi bénéficier de statistiques concernant l’utilisation de cette url.

Tout d’abord ce système est basé sur YOURLS (Your Own URL Shortener), il faut donc télécharger la dernière version sur http://code.google.com/p/yourls/downloads/list, la décompresser, copier le fichier config-sample.php du dossier /includes vers le dossier /user en le renommant config.php.

Pour cette installation j’utilise un hébergement mutualisé OVH (en activant PHP5 via .htaccess).

On configure alors les différents paramètres en commençant par le SQL :

 


On entre le nom de domaine choisi pour son raccourcisseur d’url :

On se rend sur http://yourls.org/cookiekey.php pour générer un clé aléatoire pour remplir define( ‘YOURLS_COOKIEKEY’ )

Pour finir on peut choisir l’identifiant de connexion à l’administration de YOURLS :

Ensuite on renomme le fichier sample-public-front-page.php.txt en index.php et on uploade tous les fichiers sur le serveur web via FTP.

On continue l’installation de YOURLS via l’url http://nomdedomaine/admin/install.php :

 

 

 

 

 

 

 

On peut maintenant créer un premier lien simplifié :

On admire le résultat et les options statistique et partage :

Sources et Informations supplémentaires : [1] [2]

Commentaires
5 Commentaires »
Catégories
Tutoriels
Tags
Blog, Logiciels Libres, Web, YOURLS
Flux rss des commentaires Flux rss des commentaires
Trackback Trackback

[Tutoriels] Benchmarker un serveur web Apache 2 avec Apachebench

Bastien Louche | 11/05/2010 | 10:52

Aujourd’hui on va voir comment utiliser un outil qui permet de benchmarker un serveur web Apache 2.

Pour le tutoriel on utilisera 2 serveurs, un avec Apache 2, et un avec Apachebench. Comme d’habitude, le système de base est Debian Lenny.

On installe Apachebench via un apt-get :

apt-get install apache2-utils

La commande « ab » est maintenant disponible, elle possède 2 principales options qui sont :

-n : Nombre total de requêtes à exécuter

-c : Nombre de requêtes exécuté en parallèle

On lance la commande suivante pour tester, mais vous pouvez adapter les valeurs des options à votre convenance :

ab -n 30000 -c 30 http://178.32.127.50/

On obtiens donc le résultat suivant :

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 178.32.127.50 (be patient)
Completed 3000 requests
Completed 6000 requests
Completed 9000 requests
Completed 12000 requests
Completed 15000 requests
Completed 18000 requests
Completed 21000 requests
Completed 24000 requests
Completed 27000 requests
Completed 30000 requests
Finished 30000 requests

Server Software:        Apache/2.2.9
Server Hostname:        178.32.127.50
Server Port:            80

Document Path:          /
Document Length:        45 bytes

Concurrency Level:      30
Time taken for tests:   3.277 seconds
Complete requests:      30000
Failed requests:        0
Write errors:           0
Total transferred:      9570000 bytes
HTML transferred:       1350000 bytes
Requests per second:    9154.42 [#/sec] (mean)
Time per request:       3.277 [ms] (mean)
Time per request:       0.109 [ms] (mean, across all concurrent requests)
Transfer rate:          2851.82 [Kbytes/sec] received

Connection Times (ms)
min  mean[+/-sd] median   max
Connect:        0    1   0.4      1       6
Processing:     0    2   1.3      2      19
Waiting:        0    2   1.0      2      16
Total:          1    3   1.4      3      19

Percentage of the requests served within a certain time (ms)
50%      3
66%      3
75%      4
80%      4
90%      5
95%      5
98%      6
99%      8
100%     19 (longest request)

Vous pouvez maintenant analyser votre résultat pour améliorer vos performances en optimisant votre serveur web Apache 2.

Il existe d’autres solutions pour benchmarker un serveur Apache 2, et notamment Siege (Vous trouverez un tutoriel pour cette application sur Tux-planet), mais aussi httperf ou http_load.

Sources et Informations supplémentaires : [1] [2]

Commentaires
1 Commentaire »
Catégories
Tutoriels
Tags
Apache, Apachebench, Serveur, Web
Flux rss des commentaires Flux rss des commentaires
Trackback Trackback

[Tutoriels] Configuration d’un cluster Apache 2 avec HAProxy

Bastien Louche | 03/05/2010 | 14:41

J’ai décidé d’utiliser les machines virtuelles offertes par OVH pendant la phase de test de son offre Cloud Computing, pour vous faire un tutoriel sur la configuration d’un cluster Apache 2 avec HAProxy pour la partie équilibrage de charges.

Il faut donc 3 serveurs, 1 pour HAProxy, et minimum 2 pour le cluster Apache 2, on utilisera un système vierge sous Debian Lenny.

Voici donc un rapide schéma de la mise en place :

Les adresses IP utilisées sont des IP publiques appartenant au Cloud Computing d’OVH, il faudra donc les modifier pendant vos configurations personnelles.

Dans un premier temps on va configurer les serveurs Apache 2 (web1-cloud et web2-cloud) :

apt-get install apache2

Ensuite on créer le fichier qui sera testé par HAProxy pour vérifier que le serveur Apache 2 est opérationnel :

touch /var/www/haproxytest.txt

On va alors modifier légérement la configuration de : 

nano /etc/apache2/sites-available/default

Pour ajouter une nouvelle ligne et remplacer le CustomLog afin d’éviter que les logs d’Apache 2contiennent les checks de HAProxy :

SetEnvIf Request_URI « ^/haproxytest\.txt$ » dontlog
CustomLog /var/log/apache2/access.log combined env=!dontlog

On peut maintenant redémarrer Apache 2, les serveurs du cluster sont configurés :

/etc/init.d/apache2 restart

On se connecte sur le serveur qui va s’occuper de HAProxy :

apt-get install haproxy

On supprime la configuration par défaut de HAProxy et on re-créer le fichier pour éditer notre configuration :

rm -f /etc/haproxy/haproxy.cfg
nano /etc/haproxy/haproxy.cfg

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        #log loghost    local0 info
        maxconn 4096
        #debug
        #quiet
        user haproxy
        group haproxy

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        redispatch
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

listen blweb 178.32.121.84:80
       mode http
       stats enable
       stats auth user:password
       balance roundrobin
       cookie SERVID prefix
       option httpclose
       option forwardfor
       option httpchk HEAD /haproxytest.txt HTTP/1.0
       server web1-cloud 178.32.114.13:80 cookie A check
       server web2-cloud 178.32.121.231:80 cookie B check

On peut maintenant lancer HAProxy :

/etc/init.d/haproxy start

Vous pouvez maintenant vous rendre sur l’adresse IP de votre serveur HAProxy via le navigateur de votre choix pour admirer le résultat !

Une petite astuce consiste à modifier le fichier /var/www/index.html pour mieux visualiser quel serveur a répondu à chaque rafraichissement de la page.

A noter que dans notre configuration nous utilisons le paramètre stats enable qui permet à l’aide des identifiants de stats auth de se connecter via http://IP-HAProxy/haproxy?stats à une interface web présentant les statistiques d’utilisation de HAProxy et des différents serveurs Apache 2.

Sources et Informations supplémentaires : [1] [2]

Commentaires
31 Commentaires »
Catégories
Tutoriels
Tags
Apache, Debian, HAProxy, Linux, Serveur, Web
Flux rss des commentaires Flux rss des commentaires
Trackback Trackback

[Tutoriels] Installation de Cherokee Web Server avec PHP 5

Bastien Louche | 13/04/2010 | 15:14

Aujourd’hui un tutoriel pour présenter l’installation et la configuration d’un serveur web proposant une réelle alternative au très célèbre Apache, j’ai nommé Cherokee Web Server, pour en savoir plus je vous invite à visiter le site web officiel du projet Cherokee via ce lien.

A noter que j’utilise les dépôts de Debian Testing.

L’installation de Cherokee sera faite via la commande :

aptitude install cherokee

On installera aussi les pré-requis pour bénéficier des graphiques d’utilisation du serveur sur l’interface web de gestion de Cherokee, car une des principales caractéristiques de ce serveur web est qu’il s’administre via une interface web très complète.

aptitude install libcherokee-mod-rrd rrdtool

On prévois aussi d’utiliser PHP donc il faut installer le paquet suivant :

 aptitude install php5-cgi

 Vous pouvez maintenant vous rendre via votre navigateur préféré sur http://IP-CHEROKEE/  pour décrouvrir la page par défaut de Cherokee.

  

On utilise la commande suivante pour générer l’accès à la partie administration du serveur web :

cherokee-admin -b

Vous avez maintenant accès à l’interface web de gestion de Cherokee sur http://IP-CHEROKEE:9090/

Je vous laisse consulter la documentation de Cherokee pour mieux comprendre les possibilités offertes dans les différents menus.

On va alors configurer les prise en charge de PHP 5 par notre nouveau serveur web :

Serveurs Virtuels > default > Behavior > Assistants > Langues

 

Et pour terminer on effectue un « Redémarrage gracieux ».

Ce tutoriel est maintenant terminé, vous disposez d’un serveur web Cherokee fonctionnel avec la prise en charge de PHP 5.

Sources et Informations supplémentaires : [1] [2]

Commentaires
1 Commentaire »
Catégories
Tutoriels
Tags
Cherokee, Debian, Systèmes, Web
Flux rss des commentaires Flux rss des commentaires
Trackback Trackback

[Tutoriels] Configuration de Nginx en reverse proxy

Bastien Louche | 31/03/2010 | 17:31

Dans le but d’optimiser un serveur web qui tourne sous Apache, on va configurer Nginx en reverse proxy, c’est d’ailleurs la configuration mise en place sur le serveur de www.bastien-louche.fr qui fonctionne très bien depuis début Janvier. Je vous passe les détails sur la définition d’un reverse proxy ou sur Nginx, Wikipédia fait cela beaucoup mieux que moi !

Dans notre cas vous possédez déjà Apache, PHP, MySQL sur votre serveur et vous souhaitez seulement ajouter Nginx en guise de reverse proxy.

On installe Nginx via une simple commande usuelle :

apt-get install nginx

On ajoute le paquet suivant pour permettre à Apache de bien loguer les IP des connexions :

apt-get install libapache2-mod-rpaf

On va ensuite pouvoir créer le fichier de configuration de Nginx pour l’utiliser en mode reverse proxy :

nano /etc/nginx/conf.d/proxy.conf

On y écris les lignes suivantes :

proxy_redirect          off;
proxy_set_header        Host            $host;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    10m;
client_body_buffer_size 128k;
client_header_buffer_size 64k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size   16k;
proxy_buffers       32   16k;
proxy_busy_buffers_size 64k;

On peut alors configurer le fichier /etc/nginx/sites-available/default pour activer le mode reverse proxy, dans notre configuration Nginx écoutera sur le port 80 et Apache sur le port 8080 (Les lignes à ajouter sont en gras) :

server {
listen   80;
server_name  localhost;

access_log  /var/log/nginx/localhost.access.log;

location / {
proxy_pass
http://127.0.0.1:8080/;
}

}

On modifie ensuite le fichier de configuration du port d’écoute de Apache :

nano /etc/apache2/ports.conf

NameVirtualHost *
Listen 127.0.0.1:8080

On peut maintenant redémarrer les services :

/etc/init.d/apache2 start
/etc/init.d/nginx start

L’installation est terminée et opérationnelle comme on peut le constater grâce au module Domain Details pour Firefox :

Pour rendre votre Nginx moins verbeux vous pouvez ajouter une ligne dans le fichier /etc/nginx/nginx.conf :

http {
[…]
server_tokens off;
}

Sources et Informations supplémentaires : [1] [2]

Commentaires
Pas de Commentaires »
Catégories
Tutoriels
Tags
Apache, Debian, Nginx, Systèmes, Web
Flux rss des commentaires Flux rss des commentaires
Trackback Trackback

« Entrées Précédentes

Recherche

Réseaux sociaux

CV Bastien Louche

Pages

  • CV
  • Contactez-moi

Catégories

  • Tutoriels (8)

Commentaires récents

  • KOUAME ALEXIS dans [Tutoriels] Installation de Snort + Basic Analysis and Security Engine
  • Xowhite dans [Tutoriels] Installation de Snort + Basic Analysis and Security Engine
  • stephan dans [Tutoriels] Installation de Snort + Basic Analysis and Security Engine
  • Nomoreblur dans [Tutoriels] Benchmarker un serveur web Apache 2 avec Apachebench
  • cheikh dans [Tutoriels] Installation de Snort + Basic Analysis and Security Engine

Mots-clefs

Apache Apachebench Blog Cherokee Debian DNS DNSSEC HAProxy IDS IP Linux Logiciels Libres Nginx Réseaux Serveur Snort Systèmes Sécurité Web Windows YOURLS

Twitter

  • Le flux RSS de ce compte twitter ne semble pas disponible pour le moment.

Suivre @bastienlouche sur Twitter.

April


Promouvoir et soutenir le logiciel libre