Installation Apache 2.4 (mod_ssl) et configuration SSL
Ce document décrit l’installation, la configuration et l’exécution d’Apache 2.4 pour Windows et Linux puis se conclue sur un guide de configuration SSL Apache.
Téléchargement
Télécharger les fichiers binaires correspondant à la version 2.4.x d’Apache pour Windows sur le site ApacheLounge.
Installation (Windows)
Une fois téléchargée, il suffit de décompresser l’archive dans l’emplacement cible, ‘C:\serveurs\’ dans le cadre de cet article.
La décompression entraînera la création d’un répertoire ‘Apache24’contenant les binaires de l’application.
Avant de commencer : Paramétrage
Le paramétrage se fait manuellement.
Editer le fichier ‘httpd.conf’ situé dans le dossier ‘conf‘ du répertoire d’Apache, dans notre cas ‘C:\serveurs\Apache24\conf’.
1. Modification du chemin racine
Par défaut le chemin racine spécifié dans le fichier httpd.conf est ‘C:/Apache24’, il faut remplacer toutes les occurrences par ‘C:/serveurs/Apache24’ dans notre cas.
2. Modification du paramètre ServerAdmin
Modifier le paramètre ServerAdmin spécifiant l’adresse email de l’administrateur. La valeur d’origine est ‘admin@example.com’, il faut la remplacer par votre adresse.
#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. admin@your-domain.com
#
# ServerAdmin admin@example.com
ServerAdmin monadresse@company.com
3. Modification du paramètre ServerName
Modifier le paramètre ‘ServerName’ spécifiant l’adresse du serveur. La valeur d’origine est ‘www.example.com:80′, la remplacer par le nom de votre serveur suivi du numéro du port que vous souhaitez utiliser pour accéder à votre serveur. Par défaut, le numéro de port standard est le port ’80’.
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn’t have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
ServerName monserveur:80
Si le numéro de port est différent de 80, modifier le paramètre ‘Listen’ en indiquant le numéro de port utilisé.
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 81
4. Ajout de deux paramètres permettant de ne plus afficher la version d’apache dans le header
Ces paramètres permettent notamment d’améliorer la sécurité en évitant à quiconque de connaitre la version d’Apache utilisée.
L’ajout de deux paramètres suivants est optionnel.
Ajouter à la fin du fichier :
ServerSignature Off
ServerTokens Prod
5. Installation du service
Une fois la configuration terminée, installer le service Apache.
Pour ce faire, ouvrir une fenêtre DOS en mode administrateur et lancer les commandes suivantes :
cd c:\serveurs\Apache24\bin
Cette commande vous permet de vous placer dans le répertoire bin d’Apache contenant les exécutables.
httpd.exe -k install
Cette commande permet d’installer le service Apache.
Lors de l’exécution de cette commande, la fenêtre suivante apparaît à l’écran :
Une fois que vous avez cliqué sur ‘Autoriser l’accès’, vous devriez obtenir le résultat suivant :
Installing the Apache2.4 service
The Apache2.4 service is successfully installed.
Testing httpd.conf….
Errors reported here must be corrected before the service can be started.
Si l’erreur suivante apparaît :
Vous devez installer les Redistribuables Visual C++ pour Visual Studio 2015 téléchargeables à l’adresse suivante :
https://www.microsoft.com/fr-fr/download/details.aspx?id=48145
Une fois l’installation terminée, démarrer le service Apache.
Il faut pour cela ouvrir la console des services Windows.
Une fois la fenêtre affichée, faire un clic droit sur le service Apache24 puis cliquer sur ‘Propriétés’.
Cliquer sur ‘Démarrer’, puis une fois le service lancé, cliquer sur ‘OK’.
6. Test de l’installation
Lancer votre navigateur et lancer l’url suivante :
http://localhost:<numéro du port>
La page suivante devrait s’afficher à l’écran :
Installation (Linux)
Ce chapitre décrit l’installation, la configuration et l’exécution d’Apache 2.4 avec mod_ssl pour les système d’exploitation Linux Debian 9, Ubuntu 14.04 et Ubuntu 16.04.
1. Installation du paquet Apache2 et activation du module SSL
Vérifiez si Apache est installé et avec quelle version
apache2 -v
Si il n’est pas installé ou que votre version est inférieure à 2.4.13, installez le paquet
Ubuntu 20+ / Debian 10+
sudo apt install apache
2. Installation OpenSSL
Vérifiez si OpenSSL est installé et avec quelle version
openssl version
Si il n’est pas installé ou que votre version est inférieure à 1.0.2g, installez le paquet.
Ubuntu 20+ / Debian 10+
sudo apt install openssl
Configuration
Les applications Web développées par Veremes utilisent le protocole SSL pour communiquer. Afin de pouvoir utiliser les applications, veuillez suivre la procédure suivante :
1. Intérêts d’un certificat SSL
Sécurité
L’utilité première d’un certificat SSL est de crypter les informations qui transitent entre votre site Internet et votre visiteur.
Ce cryptage vous permet de garantir la confidentialité de votre transaction auprès de vos utilisateurs.
Fiabilité (certificat valide)
Le certificat SSL comporte les informations complètes sur le titulaire du site authentifié. Les internautes peuvent donc vérifier à tout instant ces informations, et ainsi être rassurés sur la provenance de votre site. Ils seront de ce fait plus enclins à faire confiance à votre site, surtout dans le cas d’un paiement en ligne ou de la divulgation d’informations sensibles.
2. Création de certificats
Nous préconisons fortement l’utilisation de certificats délivrés par des sociétés accréditées notamment pour la mise en production de vos applications web. Vous pouvez utiliser par exemple le certificateur Wistee. Les certificateurs vous donneront les démarches à réaliser pour générer le certificat et l’installer sur votre serveur.
Pour Windows
Il faudra penser à activer le module SSL dans le fichier ‘httpd.conf’ situé dans le dossier conf du répertoire d’Apache, dans notre cas ‘C:\serveurs\Apache24\conf’
Vous avez toutefois la possibilité, notamment en environnement de test, d’utiliser un certificat dit « self signed ». L’utilisation de ce type de certificat entraînera l’affichage d’un message d’alerte lors de l’accès au site. L’utilisateur devra autoriser l’affichage de la page pour accéder à la page désirée.
Configuration Apache pour l’utilisation des certificats
Vous avez la possibilité de télécharger un certificat self-signed ainsi que sa clef à l’adresse suivante :
- https://s3.eu-west-3.amazonaws.com/veremes-dev-ressources/ssl/server.crt
- https://s3.eu-west-3.amazonaws.com/veremes-dev-ressources/ssl/server.key
Maintenant que le certificat et la clef privée sont générés, il faut les stocker sur le serveur. Pour ce faire, rendez-vous dans le dossier C:\serveurs\Apache24\conf (windows) ou /etc/ssl/ (linux) et copiez les fichiers server.crt et server.key dans le dossier.
Afin d’installer le certificat, nous devons éditer deux fichiers de configuration, permettant d’activer SSL pour Apache et d’installer le certificat sur le serveur.
Pour Windows
Editer C:\serveurs\Apache24\conf\httpd.conf
Dé-commenter les lignes (enlever le « # ») suivantes :
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf
Ajouter les lignes suivantes en fin de fichier :
<VirtualHost *:numéro de port>
ServerName nom-machine
Redirect / https://nom-machine:443/
</VirtualHost>
Où nom-machine est le nom de votre serveur.
Editer C:\serveurs\Apache24\conf\extra\httpd-ssl.conf
Dans ce fichier, il faut remplacer toutes les occurrences du chemin racine d’apache ‘c:/Apache24’ par ‘c:/serveurs/Apache24’ dans notre cas.
Redémarrer ensuite votre service Apache.
Pour Linux
Editer avec un compte administrateur le fichier default-ssl.conf situé dans le dossier /etc/apache2/sites-available pour utiliser le certificat précédemment créé . Il faut modifier les paramètres SSLCertificateFile et SSLCertificateKeyFile pour obtenir les valeurs suivantes :
SSLCertificateFile /etc/ssl/server.crt
SSLCertificateKeyFile /etc/ssl/server.key
Il faut ensuite modifier avec un compte administrateur le fichier 000-default.conf situé dans le dossier /etc/apache2/sites-available pour utiliser automatiquement le protocole SSL pour accéder au serveur.
Dans la balise VirtualHost, il faut rajouter les lignes suivantes :
ServerName mon-serveur
Redirect / https:/mon-serveur/
où mon-serveur est le nom de votre serveur.
Activez ensuite le mode SSL :
sudo a2enmod ssl
sudo a2ensite default-ssl
Pour finir, vous devez redémarrer votre service apache.
sudo /etc/init.d/apache2 restart