Debian 8.x, Apache 2.x et SSL For Free.

Publié 04/09/2018 17:27:38 Modifier 25/06/2020 15:00:15 par 1230106401
Comment utiliser les certificats Ssl gratuits, SSL For Free, avec une distribution Linux Debian 8.x et le serveur Web Apache2 le tout dans une machine virtuelle exploitant une architecture Cloud.
#Vm #Cloud #Debian8 #Apache2 #Sllforfree

Le principe :


Pouvoir installer ou réinstaller des VMs et pouvoir dimensionner à la demande les espaces des parties utilisées par le serveur Web et les bases de données.
Une partie pour le système d’exploitation, debian 8.x, 48 Go c’est suffisant.
Une partie de travail dans le cloud montée /data , la volumétrie va dépendre de vos besoins et de vos moyens.

Liste des systèmes de fichiers pour comprendre:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/dm-0 48G 30G 16G 67% /
/dev/xvda1 938M 35M 857M 4% /boot
/dev/xvdb 443G 133G 288G 32% /data

Les contraintes :


Le serveur peut héberger plusieurs serveur Web et doit être accessible par des équipes de développement et de maintenance, mais celles-ci doivent accéder uniquement à leurs zones autorisées, l'ensemble doit être cloisonné.
Nous allons prendre comme exemple : monsiteweb.com
J’expliquerais dans un autre cadre comment cloisonner la partie /data/home/ via le fichier /etc/passwd et la méthode d'isolation d'environnement, chroot.

Nous allons créer un répertoire /data/home/monsiteweb.com:
sudo mkdir -p /data/home/monsiteweb.com

Un répertoire pour la gestion du certificat, installation et renouvellement SSL For Free :
cd /data/home/monsiteweb.com
sudo mkdir -p Acme/.well-known/acme-challenge

Un répertoire pour le serveur Apache2 :
sudo mkdir DocumentRoot

Un répertoire log pour le serveur Apache2 :
sudo mkdir -p log/apache2

Mettre les bons droits d’accès pour le serveur Apache2 :
sudo chmod -R g+w  /data/home/monsiteweb.com/log

Autoriser la création et l’écriture des logs pour le serveur Apache2 qui fait partie du groupe www-data :
sudo chmod -R g+w  /data/home/monsiteweb.com/log


Nous allons stocker les fichiers du certificat Ssl for free dans le répertoire : /etc/ssl/monsiteweb.com

Pour la première installation, nous n’avons pas encore de certificat donc il faut mettre en commentaire dans le fichier de configuration Apache2 les appels aux fichiers.
Le fichier de configuration force le mode Ssl par redirection, sauf dans le cas de la mise en place et du renouvellement du certificat Ssl, en effet SSL for free demande d’installer pendant la procédure des fichiers sur le serveur dans une zone précise pour autoriser la création du certificat pour votre domaine.

Dans le répertoire : /etc/apache2/sites-available
Ajouter un fichier : monsiteweb.com.conf
Avec comme contenu :
<VirtualHost *:80>
ServerName monsiteweb.com
ServerAlias www.monsiteweb.com
DocumentRoot /data/home/monsiteweb.com/DocumentRoot
Alias /.well-known /data/home/monsiteweb.com/Acme/.well-known
CustomLog /data/home/monsiteweb.com/log/apache2/monsiteweb.com.log combined
ErrorLog /data/home/monsiteweb.com/log/apache2/monsiteweb.com-error.log
<Directory /data/home/monsiteweb.com/Acme/.well-known >
Order Deny,Allow
Allow from All
Require all granted
</Directory>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/.well-known.*
RewriteRule (.*) https://%{SERVER_NAME}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName monsiteweb.com
ServerAlias www.monsiteweb.com
DocumentRoot /data/home/monsiteweb.com/DocumentRoot
Alias /.well-known /data/home/monsiteweb.com/Acme/.well-known
CustomLog /data/home/monsiteweb.com/log/apache2/monsiteweb.com.log combined
ErrorLog /data/home/monsiteweb.com/log/apache2/monsiteweb.com-error.log
<Directory />
AllowOverride All
DirectoryIndex index.php index.html
Options -indexes
Require all granted
</Directory>
<Directory /data/home/monsiteweb.com/Acme/.well-known >
Order Deny,Allow
Allow from All
Require all granted
</Directory>
# SSLEngine on
# SSLProtocol all
# SSLCertificateFile /etc/ssl/monsiteweb.com/certificate.crt
# SSLCertificateKeyFile /etc/ssl/monsiteweb.com/private.key
# SSLCACertificateFile /etc/ssl/monsiteweb.com/ca_bundle.crt
</VirtualHost>


Ajout du site Web pour Apache2 :
sudo a2ensite monsiteweb.com
sudo service apache2 reload


Allez sur :

Préciser votre nom domaine.
Puis : « Create Free SSL certifacte »
Puis choisir : « Manual Verification »
Puis : « Manually Verify Domain »
1 - Puis mettre les fichiers Download file dans le répertoire /data/home/monsiteweb.com/Acme/.well-known
5 – Vérifiez si les fichiers sont accessibles
Puis : « Download SSL Certificat »
Puis : « Download ALL SSL Certificate Files »
Puis installer tous les fichiers du certificat dans le répertoire : /etc/ssl/monsiteweb.com
certificate.crt
private.key
ca_bundle.crt

Supprimer les lignes en commentaires dans le fichier : /etc/apache2/sites-available/monsiteweb.com.conf

SSLEngine on
SSLProtocol all
SSLCertificateFile /etc/ssl/monsiteweb.com/certificate.crt
SSLCertificateKeyFile /etc/ssl/monsiteweb.com/private.key
SSLCACertificateFile /etc/ssl/monsiteweb.com/ca_bundle.crt


Prévenir Apacahe2:
sudo service apache2 reload


Et voilà le certificat est installé et fonctionnel et vous pourrez le renouveler facilement !



Contacter l'auteur
Partager
Commenter