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 luimê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 UTF8
par celle de votre choix.
Exemple pour l'encodage ISO88591 :
AddDefaultCharset ISO88591
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 ISO88591
Comme vous pourrez le constater, cette ligne est commentée par défaut. Si vous désirez que le jeu de caractères ISO88591 soit utilisé par défaut par le Serveur Web Apache2, il vous suffit donc de décommenter cette ligne.
Cette ligne deviendra donc :
AddDefaultCharset ISO88591
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 ISO88591 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 ISO88591.
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 sontils déjà installés ? # dpkg l | grep ssl déjà libssl0.9.8, openssl, sslcert
2. Installation aptget 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/modsavailable 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 autosigné (voir wikipedia) 5. Génération du certificat autosigné
1. Génération du certificat cd /etc/apache2/ssl apache2sslcertificate
et on répond aux questions :
Country Name (2 letter code) [GB] > FR
State or Province Name (full name) [SomeState]: > 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/sitesavailable/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