Archive pour la catégorie 'Apache'

Modifier des paramètres de php.ini dans un .htaccess

Tuesday 27 May 2008

Cela nécessite d’autoriser ce type de paramétrage dans apache2 en ajoutant

AllowOverride Options

dans la configuration du site.

Après cela, il est possible de modifier la valeur par défaut de php.ini via un .htaccess dans un répertoire :

php_value display_errors on

Source : AskApache

Héberger plusieurs sites sur son serveur Apache2 avec l’aide des virtual-hosts

Thursday 10 April 2008

khayspace a créé un tutorial à propos des virtual hosts sur apache2, en voici le contenu (l’article original est disponible ici) :

Lorsqu’un seul site est à héberger sur son serveur, il suffit de faire pointer le nom de domaine sur son IP. Mais comment faire pour héberger plusieurs sites sur son serveur ? Plusieurs noms de domaines pointant sur la même adresse IP causeront un méli-mélo si rien n’est fait au niveau de la configuration du serveur Apache2. La solution s’appelle les Virtual Hosts.

Les Virtual Hosts sont des fichiers de configuration d’Apache2 qui indiquent au serveur où faire pointer la demande du nom de domaine qu’il reçoit.


Différents types de Virtual Hosts

  • basé sur le nom de domaine : le serveur va rediriger les demandes en fonction du nom de domaine recherché
  • basé sur l’IP : le serveur va rediriger les demandes en fonction de l’adresse Ip recherchée

Le port d’écoute peut également être associé à l’une ou l’autre de ces méthodes permettant ainsi des configurations plus poussées. Le but étant de faire quelque chose de simple, nous allons nous limiter à l’étude des Virtual Hosts basés sur les noms de domaines.

Un site = un Virtual Host

Apache2 va rechercher les Virtual Hosts dans

/etc/apache2/sites-available/

et

/etc/apache2/sites-enabled/.

Le 1er répertoire contenant réellement le fichier Virtual Host et le second contenant le lien symbolique au fichier.

Attention : sous Apache1, la manière de gérer les Virtual Hosts est différente, ceci ne s’applique qu’à Apache2.

Nous allons créé un fichier « mon_site » dans /etc/apache2/sites-available/ . Le nom du fichier importe peu, cependant il sera plus facile de se souvenir de ce qu’il contient si vous lui donnez le nom de votre site ou du moins un nom sans équivoque.

Exemple de Virtual Host (à modifier bien sûr) :

NameVirtualHost www.monnomdedomaine.tld

ServerAdmin admin@mail.com
DocumentRoot /var/www/monrepertoire/

Options FollowSymLinks
AllowOverride None


Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

Explications des directives du Virtual Host

NameVirtualHost www.monnomdedomaine.tld qui ne pourra se trouver que dans un seul Virtual Host définit le site par défaut.
est le nom de domaine à surveiller.

ServerAdmin admin@mail.com renseigne l’email inscrit dans les messages d’erreur envoyés au client du serveur.

DocumentRoot /var/www/monrepertoire/ est la racine de votre site.

est le répertoire où se trouve les fichiers de votre site (semblable à DocumentRoot).

La directive Options indique ce qui est autorisé dans le répertoire :

* Indexes permet de lister le répertoire si aucun fichier prédéfini du style de index.html ou autre n’est présent.
* FollowSymLinks permet de suivre les liens symboliques présent dans le répertoire (utile par exemple quand on a mis un lien pour accéder à son gestionnaire de base de données).
* Multiviews permet l’affichage dans la langue du navigateur.

AllowOverride valorisé à None passe outre le .htaccess, donc ce n’est pas forcément utile (selon les besoins de chacun)

Order définit l’ordre de lecture des droits
Allow from all permet que le serveur soit accessible de partout.

Si vous désirez des précisions complémentaires, vous pouvez vous référer à la documentation officielle d’Apache 2.

L’activation du Virtual Host

Une fois le fichier créé, il faut l’activer en créant le lien symbolique dans le répertoire

/etc/apache2/sites-enabled/

Cela permet au serveur de savoir que le site est actif.

Pour réaliser cette opération, il suffit de taper en ligne de commande

a2ensite 

suivi du nom du fichier préalablement créé, donc ici ce sera

a2ensite mon_site

Si vous désirez désactiver votre site (pour une maintenance par exemple), la commande inverse est

a2dissite mon_site

Le lien étant établi, il ne reste plus alors qu’à relancer le serveur Apache avec la commande :

/etc/init.d/apache2 restart

Une fois le 1er fichier créé, il sera possible de répéter l’ensemble des opérations pour chacun de vos sites hébergés sur votre serveur. C’est relativement simple mais si vous avez des difficultés, n’hésitez pas à demander.

Chrooter Apache 2 facilement avec mod_chroot sous Debian

Thursday 10 April 2008

Rendez-vous à l’adresse https://wiki.ubuntu.com/ModChroot. Toutes les étapes y sont reprises avec les problèmes possibles en PHP5.

Activer / Desactiver des modules d’Apache2

Saturday 10 November 2007

Il faut utiliser les commandes suivantes :

Pour activer un module :

a2enmod nom_du_module

Pour désactiver un module :

a2dismod nom_du_module

Désactiver les methodes TRACES et TRACK sous Apache2

Saturday 10 November 2007

Ces méthodes permettent d’effectuer des opérations de débuggage mais sont assez dangereuses (possibilité d’attaques XSS…) dans un environnement de production.

Ajoutez

TraceEnable off dans apache2.conf qui se trouve dans le répertoire /etc/apache2

Redémarrez le service pour activer la modification.

Débugger un serveur HTTP en ligne de commande

Tuesday 19 December 2006

Il suffit d’utiliser ces deux commandes successives :
[code]GET / HTTP/1.1
Host: www.ioswebdesign.com[/code]

La deuxième n’est nécessaire que dans le cas d’un serveur mutualisé. Il faut que le serveur web sache à quel domaine vous voulez vous connecter.

Définir le charset par défaut dans Apache via un fichier .htaccess

Wednesday 6 December 2006

Il faut créer un fichier .htaccess dans lequel on écrit:
[code]AddCharset UTF-8 .php[/code]

Pour spécifier un charset particulier pour un seul fichier, cela donne :
[code]
AddCharset UTF-8 .php
[/code]

Sécuriser l’accès à un repository Subversion

Wednesday 8 November 2006

Tout se fait dans le fichier de configuration d’Apache2 à savoir httpd.conf.

  • Ajouter un mot de passe via un fichier htpasswd
  • Ajouter une restriction sur l’ip ou le domaine

[code]

DAV svn
SVNPath /home/repositories/mondepot

# Restrict access with password
AuthType Basic
AuthName “Subversion repository”
AuthUserFile /home/repositories/.htpasswd
Require valid-user

# Restrict access to ip range or domain
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from .foo.com

[/code]