• Aucun résultat trouvé

Changer le jeu de caractères utilisé par défaut par le Serveur Web Apache2

Au lieu de désactiver la fonction de définition du jeu de caractères utilisé par défaut par le Serveur  Web Apache2, nous pouvons définir celui que nous désirons employer. 

Là encore, il existe plusieurs solutions pour le faire. 

1. En modifiant le fichier charset du répertoire /etc/apache2/conf.d. 

dernier étant défini par le contenu du fichier charset qui se trouve dans le répertoire 

/etc/apache2/conf.d lui­même intégré à la configuration du Serveur Web Apache2 grâce à la  directive Include   ⇒Include /etc/apache2/conf.d/[^.#]* . 

Pour modifier le jeu de caractères utilisé par défaut par le Serveur Web Apache2, il vous suffit donc  d'éditer le fichier charset et de remplacer la ligne : 

AddDefaultCharset UTF­8

par celle de votre choix. 

Exemple pour l'encodage ISO­8859­1 : 

AddDefaultCharset ISO­8859­1

2. En modifiant le fichier apache2.conf 

Si vous éditez votre fichier apache2.conf qui se trouve dans le répertoire /etc/apache2, vous pourrez  y trouver la directive et l'argument suivants : 

#AddDefaultCharset      ISO­8859­1

Comme vous pourrez le constater, cette ligne est commentée par défaut. Si vous désirez que le jeu de  caractères ISO­8859­1 soit utilisé par défaut par le Serveur Web Apache2, il vous suffit donc de  décommenter cette ligne. 

Cette ligne deviendra donc : 

AddDefaultCharset       ISO­8859­1

A ce stade, et si vous avez bien suivi mes explications depuis le début, vous devriez vous poser la  question suivante : 

Si je décommente la ligne #AddDefaultCharset ISO­8859­1 qui se trouve dans le fichier 

/etc/apache2/apache2.conf, que deviendra la directive AddDefaultCharset qui se trouve dans le  fichier /etc/apache2/conf.d/charset ? 

Et bien la réponse est simple. 

Lorsque vous demandez au Serveur Web apache2 de relire sa configuration, il suit un ordre qui est  celui du plus court chemin. Autrement dit, si deux directives ayant la même fonction sont déclarées,  c'est la dernière qui sera prise en compte par le Serveur Web Apache2. 

Dans notre cas, le contenu fichier /etc/apache2/conf.d/charset et inclut dans le fichier 

/etc/apache2/apache2.conf avant la déclaration de la directive AddDefaultCharset ISO­8859­1. 

C'est pour cette raison que ce sera cette dernière directive qui sera prise en compte par le Serveur  Web Apache2 si nous la décommentons. 

Attention tout de même, car ceci n'est pas vérifié pour toutes les directives. Dans le cas présent, cette 

directive s'applique à la configuration générale du Serveur Web Apache2. Il en serait autrement s'il  s'agissait d'une directive propre à un Virtualhost où encore, à un répertoire Web ( <Directory > ... 

</Directory> )... 

Comme usuellement, il convient de demander au Serveur Web Apache2 de relire sa configuration  après avoir effectué des modifications dans ses fichiers de configuration pour que ces dernières soient  prises en comptes. 

Pour ce faire, il vous suffit de taper la commande suivante dans un terminal : 

sudo /etc/init.d/apache2 reload

 Hôte virtuel du serveur Web sécurisé

La configuration par défaut de votre serveur Web utilise un serveur non sécurisé et un serveur  sécurisé. Les deux serveurs utilisent la même adresse IP et le même nom d'hôte, mais contrôlent des  ports différents et le serveur sécurisé est un hôte virtuel. Cette configuration vous permet de servir des  documents sécurisés et non sécurisés avec un maximum d'efficacité. Comme vous le savez, les 

transmissions HTTP sécurisées sont plus lentes que les transmissions non sécurisées, par conséquent  vous servirez beaucoup moins de pages à la seconde avec un serveur sécurisé. Vous devez en tenir  compte lorsque vous choisissez les informations à inclure sur votre serveur sécurisé et non sécurisé. 

Les directives de configuration pour votre serveur sécurisé se trouvent entre des balises d'hôte virtuel  SSL (=Secure Socket Layer) est un protocole de cryptage qui s'applique aux pages transmises par le  serveur aux navigateurs et qui assure ainsi une bonne sécurité pour les données

Il s'agit ici de permettre de sécuriser un hôtes virtuel grâce au protocole SSL

nstaller la bibiothèque openssl

1. Les paquets indispensables sont­ils déjà installés ? # dpkg ­l | grep ssl déjà  libssl0.9.8, openssl, ssl­cert 

2. Installation    apt­get install openssl installe openssl version 0.9.8a 

3. Activation du module SSL sur Apache2 Il faut s'assurer que le module soit bien chargé par  Apache2 

cd etc/apache2/mods­available a2enmod ssl

/etc/init.d/apache2 reload

4. Qu'est ce qu'un certificat ? Les certificats permettent de fournir divers informations concernant  l'identité de son détenteur. Ce certificat s'accompagne d'une clé publique indispensable pour  que la communication entre les machines soit chiffrée. De même, afin de garantir l'authenticité  du certificat, ce dernier est signé numériquement par le biais d'une clé dite privée provenant  soit d'un organisme officiel (Société spécialisée dans la certification) soit par le détenteur du  certificat lui même. Dans ce dernier cas, on parlera de certificat auto­signé (voir wikipedia)  5. Génération du certificat auto­signé    

1. Génération du certificat cd /etc/apache2/ssl apache2­ssl­certificate

et on répond aux questions : 

­ Country Name (2 letter code) [GB] ­­> FR 

­ State or Province Name (full name) [Some­State]: ­­> France

­ Locality Name (eg, city) []: ­­> ...

­ Organization Name (eg, company; recommended) []:

­ Organizational Unit Name (eg, section) []:

­ server name (eg. ssl.domain.tld; required!!!) []: 

  Il s'agit du site que nous voulons sécuriser par ssl ­­> 

gepi.fctice93

­ Email Address []: ­­> ...

2. Régler le serveur pour qu'il écoute (aussi) sur le port 443 Par défaut, Apache2 est  configuré pour écouter sur le port 80. Voir la commande :

netstat ­nlt 

Or le protocole SSL a besoin d'émettre sur un port spécifique pour pouvoir  fonctionner, celui qui est adopté en général est le port 443.

Pour cela on ajoute cette directive de configuration dans le fichier  /etc/apache2/ports.conf :

Listen 443

/etc/init.d/apache2 reload netstat ­nlt 

3. Création du fichier de configuration    Si on passe la requête : https//localhost, on n'a  accès nulle part. Normal puisque nous n'avons pas encore déclaré de répertoire pour  être accédé par le port 443 et le protocole sécurisé https !

Il est nécessaire d'ajouter un fichier de configuration spécifique pour le service WEB  qui qui bénéficier du chiffrement. Pour cela dans le répertoire /etc/apache2/sites­

available 

# fichier de configuration /etc/apache2/sites­available/gepis.conf NameVirtualHost 10.194.2.xxx:443

<VirtualHost 10.194.2.xxx:443>

        DocumentRoot /var/www/gepi         ServerName gepi.fctice93     <Directory /var/www/gepi>

        Options Indexes MultiViews FollowSymLinks         AllowOverride None

        Order deny,allow         Deny from all         Allow from all     </Directory>        

        SSLEngine on

        SSLCertificateFile /etc/apache2/ssl/apache.pem         SSLCertificateKeyFile /etc/apache2/ssl/6cc37e2e.0

</VirtualHost>

4. Commemntaires sur les directives    ­ NameVirtualHost 10.194.2.xxx:443 pour déclarer 

­ SSLCertificateFile : définit le certificat authentifiant le serveur auprès des clients.

­ SSLCertificateKeyFile : définit la clé privée utilisée pour signer l'échange de clé  entre le client et le serveur. Ici la clé se trouve dans le même fichier que le certificat  (/etc/apache2/ssl). En fait, il s'agit d'un lien symbolique 

vers /etc/apache2/ssl/apache.pem.

5. Tests    Ensuite recharger la configuration d'apache2, puis passer l'URL :  https://gepis.fctice93/ip/

On reçoit la fenêtre d'avertissement usuelle.

Faire ensuite le nécessaire pour que l'accès à la page d'authentification de GEPI ne  s'obtienne plus par une requête adessée au port 80 

Documents relatifs