Prérequis

Installation de nginx

Pour installer nginx, nous allons utiliser la commande:

dnf install nginx -y

Une fois que nous avons installé nginx, nous allons autoriser le http et https dans le firewall avec les commandes:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

On démarre maintenant nginx avec la commande:

systemctl start nginx

On va maintenant activer le démarrage automatisé de nginx lors de l’allumage de la machine avec la commande:

systemctl enable nginx

Nous avons désormais accès à la page par défaut

Page par défaut de Nginx

Nous allons maintenant créer une page web personnalisée

Tips: La localisation de la page est dans le répertoire var / www

On créé donc le répertoire www pour y ajouter notre site avec la commande:

mkdir /var/www/(nom_du_site)

On met les permissions pour que nginx puisse utiliser ce dossier

sudo chmod -R 755 /var/www/nomdusite

On créé nos fichier à l’aide de la commande:

touch index.html

On peut maintenant mettre le code u contenu de la page dans ce fichier.

Ensuite on créé un fichier de configuration avec la commande

touch /etc/nginx/conf.d/nomdusite.conf

On complète le fichier de confguration avec ceci:

server {
    listen       80;
    server_name  nomdedomaine.com www.nomdedomaine.com ipdelamachine;
    root   /var/www/nomdusite;
    index  index.html;
    location / {
        try_files $uri $uri/ =404;
    }
    access_log  /var/log/nginx/nomdusite.access.log;
    error_log   /var/log/nginx/nomdusite.error.log warn;
}

Configuration de mon fichier

Une fois cela effectué, on doit paramétrer SELinux, on installe tout d’abord les dépendances nécessaires:

dnf install policycoreutils-python-utils -y

Puis on configure selon ces paramètres:

semanage fcontext -a -t httpd_sys_content_t "/var/www/nomdusite(/.*)?"
restorecon -Rv /var/www/nomdusite

Nous avons désormais accès à notre page web en http

Accès à la page web en http

Certbot

Installation de certbot

Pour installer Certbot, nous allon tout d’abord installer epel vec la commande:

dnf install epel-release -y

On peut maintenant installer certbot et le plug-in pour nginx à l’aide des commandes:

dnf install certbot -y
dnf install certbot python3-certbot-nginx -y

Configuration de Certbot

Avant de lancer Certbot, il faut arrêter Nginx, sinon, on peux avoir une erreur car le port 80 est en cours d’utilisaton

systectm stop nginx

Maintenant que nginx est éteint, on peux configurer nginx:

certbot --nginx -d nomdedomaine.com

J’ai continué avec mon 2e nom de domaine car ça allait casser le sertificat de mon serveur donc j’ai utilisé mon nom de domaine poubelle

Lancement de Certbot

Une fois que certbot à terminé, on peut relancer nginx avec la commande:

systemctl start nginx

On peux maintenant aller sur le site et mettre https://nomdedomane.com et on voit l’accès à page de manière sécurisée

Résultat accès page https

On peux regarder le certificat via le navigateur

Certificat