Ceci est une ancienne révision du document !
Apache
Official Apache HTTP Server Version 2.0 Documentation
tester les performances de votre site http
utiliser l'excellent outil ApacheBench
ab -n 1000 -c 5 http://localhost/joomla
VirtualHost
WebDav
Un tutoriel parfait pour installer webdav sur ubuntu (je l'ai fait en 3' top chrono)
Et voici comment s'y connecter - ou pour trouver un hébergeur gratuit, j'y ai copié ce qui suit:
“WebDAV, en entier : Web-based Distributed Authoring and Versioning, est un protocole déjà ancien (1996) et curieusement peu connu. Il permet pourtant une chose essentielle : écrire sur le Web, au lieu de seulement surfer (c'est-à-dire seulement lire). C'est un protocole ouvert, le W3C (organisme qui “normalise le web”) en a confié le développement à l'IETF qui avait déjà normalisé HTTP. Pour résumer, WebDAV est une extension du HTTP. Au delà des GET et POST bien connus, WebDAV rajoute les verbes PUT, DELETE, COPY, PROPFIND, etc. Pour les curieux, la norme est là : http://tools.ietf.org/html/rfc2518 ”
Je n'avais pas utilisé webdav, préférant SFTP, jusqu'au jour ou je me suis rendu compte que certaines applications (xmarks) le demande
RewriteRule
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
<Directory /var/www/cakeCodex> AllowOverride All </Directory>
exemples:
1. rediriger les requêtes de truch.ch et www.truc.ch sur truchose.ch
<VirtualHost *:80> ServerName truch.ch DocumentRoot /w3/truc ServerAdmin youremail@here RewriteEngine On RewriteRule ^/(.*) http://truchose.ch/fusion/$1 [R,L] </VirtualHost> <VirtualHost *:80> ServerName www.truc.ch DocumentRoot /w3/iued/new ServerAdmin youremail@here RewriteEngine On RewriteRule ^/(.*) http://truchose.ch/fusion/$1 [R,L] </VirtualHost>
2. rediriger les requêtes en laissant un répertoire sur le domaine original
on admet que truc.ch était sur le serveur chose.ch dans le répertoire [racine]/truc
on veut: rediriger chose.ch/truc sur truchose.ch mais garder chose.ch/truc/bidule sous chose.ch/truc/bidule
Solution sur chose.ch éditer /usr/local/apache2/conf/vhosts.conf
... #migration truc.ch RewriteRule ^/trucchose(.*) $0 [L] RewriteRule ^/iued/(.*) http://graduateinstitute.ch/fusion/$1 ...
Autre exemple efficace pour “tout rediriger sauf…”
# toute demande sur w3.trucmuche.ch/workshop/bidule/ est renvoyée sur http://chosetruc/conferenceDisplay.py?confId=48321 # sauf : http://www.trucmuche.ch/workshop/bidule/feed.xml RewriteCond %{REQUEST_URI} !^/outils/test/workshop/bidule/feed.xml # sauf : http://www.trucmuche.ch/workshop/bidule/intranet/* RewriteCond %{REQUEST_URI} !^/outils/test/workshop/bidule/intranet/ # Rewrite all requests for something.com, except for subirs /something, /art, and /stats to /something/test.php rewriterule ^/outils/test/workshop/bidule/(.*) http://chosetruc/conferenceDisplay.py?confId=48321 [L]
Ensuite on relance le serveur:
/etc/init.d/httpd test /etc/init.d/httpd graceful
rediriger les requêtes de la racine (document root) sur un sous-répertoire
cas de figure: migration d'un site joomla 1.5 en 2.5, le composant JUpgrade! demande un répertoire joomla en 777 et infomaniak ne permet pas de mettre en 777 le répertoire principal (document root) /web… que faire?
créer un sous-répertoire /web/cms y déplacer (mv) /web créer un .htaccess avec la syntaxe suivante (source), ici avec un nom de domaine example.com
RewriteEngine on RewriteCond %{HTTP_HOST} ^example\.com$ RewriteRule (.*) http://www.example.com/$1 [R=301,L] RewriteRule ^$ store [L] If you want an external redirect, set the R flag there as well: RewriteRule ^$ /store [L,R=301]
Les jeux de caractères (encodages) du Serveur Web Apache2
source: http://doc.ubuntu-fr.org/lamp_plus
Si dans vos pages web, les caractères accentués sont remplacés par des caractères incompréhensibles comme « � » ou « é », vous avez un problème avec les jeux de caractères (ou charset).
Par défaut, lorsqu'on installe le Serveur Web Apache2, c'est le jeu de caractères UTF-8 qui est utilisé. Vous pouvez le vérifier en regardant le contenu du fichier /etc/apache2/conf.d/charset :
AddDefaultCharset UTF-8
Ceci veut dire que le jeu de caractères qui sera ajouté à toutes les réponses qui n'ont aucun paramètre sur le type de contenu dans l'en-tête HTTP sera UTF-8. La directive AddDefaultCharset remplace le jeu de caractères spécifié dans le corps du document Web via la balise META.
En résumé, si votre fichier /etc/apache2/conf.d/charset contient AddDefaultCharset UTF-8 et que vous mettez dans votre page web la balise <meta http-equiv=“Content-Type” content=“text/html; charset=iso-8859-1”>, l'encodage qui sera envoyé sera UTF-8 et cela ne changera rien au problème d'encodage.
Pour résoudre ce problème plusieurs solutions s'offrent à vous : Laisser le navigateur Web choisir l'encodage approprié
Éditez le fichier /etc/apache2/conf.d/charset de façon à ce qu'il contienne :
AddDefaultCharset off
Décider du jeu de caractères à utiliser par défaut
Si vous voulez forcer l'utilsation d'un encodage particulier, encore une fois, éditez le fichier /etc/apache2/conf.d/charset de façon à ce qu'il contienne :
AddDefaultCharset <le charset voulu>
Exemple : pour l'encodage ISO-8859-1 :
AddDefaultCharset ISO-8859-1
Rappel : Si vous modifiez un fichier de configuration d'Apache, il faudra lui donner l'ordre de recharger sa configuration pour que les modifications soient prises en compte avec la commande :
sudo /etc/init.d/apache2 reload
N'oubliez pas non plus de vider le cache de votre navigateur
ssl / https
Sécuriser son serveur apache (https) avec ssl
http://doc.ubuntu-fr.org/tutoriel/securiser_apache2_avec_ssl si message “SSL a reçu un enregistrement qui dépasse la longueur maximale autorisée. (Code d'erreur : ssl_error_rx_record_too_long)” http://forum.ubuntu-fr.org/viewtopic.php?id=212196
jmeter
kw: test, tests, test de charge, tests de charge, load, server load, serverload
http://jakarta.apache.org/jmeter/
Apache JMeter is a 100% pure Java desktop application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions. What can I do with it?
Apache JMeter may be used to test performance both on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more). It can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types. You can use it to make a graphical analysis of performance or to test your server/script/object behavior under heavy concurrent load. What does it do?
Apache JMeter features include:
- Can load and performance test many different server types:
- Web - HTTP, HTTPS
- SOAP
- Database via JDBC
- LDAP
- JMS
- Mail - POP3(S) and IMAP(S)
- Complete portability and 100% Java purity .
- Full multithreading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by seperate thread groups.
- Careful GUI design allows faster operation and more precise timings.
- Caching and offline analysis/replaying of test results.
- Highly Extensible
phpinfo()
to find document root, etc, try test.php
<?php echo phpinfo(); ?>
protection avec php selon adresse ip client
<?php if(!ereg("xxx\.xxx\.", $_SERVER["REMOTE_ADDR"])||!ereg("xxx\.xxx\.", $_SERVER["REMOTE_ADDR"])) { echo "Sorry, you can only browse that page from xxxservername"; exit; }
Apache Tutorial: protections: .htaccess / .htpasswd files
Stats
kw: statistiques / statistique / statistics
Outils graphiques et d'analyse
webalizer
webalizer Analyser les logs d'Apache avec Webalizer