HOW-TO Apache

Voici quelques .htaccess en vrac et configuration Apache en vrac.
Vous pouvez vous reporter à la page suivante pour quelques autres exemples de directives et utilisation .htacces : Sécurité WEB : Apache limiter les accès

Globalement, pour la liste des tutorials de sécurité WEB et configuration Apache du site, se reporter à la page : Apache : sécuriser son site WEB

Les VirtualHost

<VirtualHost 192.168.1.2>
ServerName forum.malekal.com
DocumentRoot /usr/share/phpbb2/site/
Alias /images/avatars /var/lib/phpbb2/avatars
Alias /images /usr/share/phpbb2/site/images
</VirtualHost>

Dans l’exemple ci-dessous, on a créé un VirtualHost sur l’ip 192.168.1.2 ( en local car on est derrière un routeur ).
On définit le site à partir de l’option ServerName
DocumentRoot
permet de définir le repertoire racine du site sur le serveur web.

En d’autre terme, toute personne qui va saisir sur son navigateur l’adresse forum.malekal.com arrivera sur le site qui se trouve dans le dossier /usr/share/phpbb2/site/

VirtualHost – Apache en proxy-Web

On peut aussi utiliser Apache en Proxy-Web, ainsi lorsqu’une requete http arrive sur le serveur apache, celle-ci sera redirigée vers une autre machine.
Cela peut être utile si l’on a plusieurs tomcat.

Internet —-> Apache – Proxy en public —————> tomcat en local

<VirtualHost 212.11.31.54:80>
    ServerName exemple.proxy.malekal.com
    ProxyPass         /   http://exemple.proxy:8093/
    ProxyPassReverse  /   http://exemple.proxy:8093/
</VirtualHost>

Dans le fichier /etc/hosts – on définit l’ip de la machine exemple.proxy où tomcat tournera.
Ainsi, si on déplace le tomcat de machine, il suffit de modifier le fichier /etc/hosts serveur du serveur Apache.
Ensuite on configure le port de tomcat sur 8093 et l’host de tomcat, à partir du fichier ./conf/server.xml

<Host name= »exemple.proxy » debug= »0″ appBase= »exemple.proxy« >
        <Context path= » » docBase= »/var/www/site/exemple »
                 privileged= »true »
                 debug= »0″ reloadable= »true » />
        <Logger className= »org.apache.catalina.logger.FileLogger »
                directory= »logs »
                prefix= »exemple_log. »
                suffix= ».txt »
                timestamp= »true »/>
</Host>

Ainsi tomcat va écouter sur le port 8093 et attendre que l’on lui demande le site exemple.proxy à travers les requetes http d’apache.

Activer le PHP sur Apache

  • On installe php : apt-get install php4
  • Ensuite il faut activer php sur apache pour cela, on édite /etc/apache/http.conf ( chemin sur une debian ) :
  • Décommentez la ligne LoadModule php4_module /usr/lib/apache/1.3/libphp4.so pour charger le module php
  • Décommentez la ligne # AddType application/x-httpd-php .php ainsi apache va envoyer les pages .php à l’interpréteur php
  • Vous pouvez aussi ajouter les fichiers index.php dans DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 ainsi si l’utilisateur saisie une URL sans fichier index, apache cherchera à charger les fichiers d’index suivants.
  • Enregistrez les modifications puis /etc/init.d/apache reload pour recharger la configuration

Vous pouvez utiliser le module mysql pour php pour cela :
apt-get install php4-mysql puis éditez le fichier /etc/php.ini. et décommentez la ligne extension=mysql.so
Pour plus d’information sur MySQL voir ici

L’authentification par mot de passe avec .htaccess

htacess permet de demander une authentification à l’utilisateur lorsqu’une connexion à un répertoire spécifique du site est faite.
Si l’utilisateur ne rentre pas le couple utilisateur/password définie, il n’aura pas accès à cette partie du site.

d’un côté sur votre site, on aura le fichier .htaccess dans le répertoire où l’on désire mettre l’authentification
de l’autre un fichier .htpasswd qui contiendra les informations sur les utilisateurs/mot de passe.
Ce fichier n’est pas obligatoirement dans l’aborescence du site.
La structure est user: motdepasse_crypté

Dans le fichier conf d’apache, modifiez la variable comme ceci :
AllowOverride All

.htpasswd

– Pour créer la base de données, on utilisera l’option -c par exemple :
htpasswd -c .htpasswd malekalmorte
Le mot de passe sera demandé ensuite.

– Si vous désirez ajouter un utilisateur à la base, on utilisera la commande :
htpasswd .htpasswd malek

– Pour supprimer un utilisateur, utiliser votre éditeur favoris pour supprimer la ligne correspondante à cet utilisateur.

.htaccess

Vous devez donc ensuite créer le fichier .htaccess dans l’arborescence de votre site.
Exemple :
AuthName message
AuthUserFile /ou/se/trouve/la/fichier/.htpasswd
AuthGroupFile /dev/null
AuthType Basic
AuthName "Accès restreint"

<limit GET POST>
require valid-user
</Limit>

AuthName "Acces Restreint"

vous permet de spécifier le texte qui sera affiché dans la boite de dialogue d’authentification
AuthType Basic
détermine le type d’authentification utilisé, dans notre cas l’authentification HTTP standard.

<limit GET POST> ... </limit>
permet de déterminer le type d’opérations permises.

GET permet de faire un GET, cela est utilisé par le navigateur pour récupérer les pages WEB.
PUT permet de faire de l’upload sous protocole HTTP

require valid-user
signifie littéralement qu’un utilisateur valide est requis, contenu dans le fichier .htpasswd.

On peut aussi limiter l’accès à quelques utilisateurs contenus dans .httpasswd, par exemple :
require user malek
permet de limiter l’authentification à malek

L’authentification par adresse réseau avec .htaccess

.htaccess permet aussi de limiter l’accès de l’arborescence du site WEB par les adresses réseau, par exemple :

– On peut accepter tous les accès sauf ceux qui sont précisés par « allow from »
ici on accepte que les domaines en .fr et .ca

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName AccesRestreint
AuthType Basic

<limit GET POST>
order deny,allow
deny from all
allow from .fr
allow from .ca
</Limit>

– On peut aussi refuser tous les accès sauf ceux qui sont précisés par « allow from »
Ici on accepte toutes les connexions sauf celles provenant de domaines en .us

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName InterditPartiel
AuthType Basic

<limit GET POST>
order allow,deny
allow from all
deny from .us
</Limit>

Charset par défaut d’apache

On peut fixer le charset d’apache avec l’option suivante :
AddDefaultCharset UTF-8

Retour à la page d’accueil

Comment lire d'autres tutoriels de malekal.com ?

Si le site vous a aidé, svp, débloquez les bloqueurs de publicités, n'hésitez pas non plus à partager l'article ou le site sur les réseaux sociaux.

Pour pouvoir lire plus d'articles et tutoriels, utilisez le menu en haut du site. Plein d'articles et tutos utiles vous attendent !

Besoin d'aide ?

Posez votre question ou soumettez votre problème sur le forum malekal.com pour obtenir une aide efficace : Aller sur le forum malekal.com
(Visited 94 times, 2 visits today)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *