Vue lecture

Documention | Crowdfunding

WP Crowdfunding est un plugin avancé qui vous aide à créer un site de collecte de fonds ou un site de soutien sur WordPress. Le plugin est alimenté par WooCommerce. Il dispose d'un système de portefeuille natif pour accepter les paiements locaux. WP Crowdfunding a la possibilité de diviser l'argent à travers PayPal adaptatif ou Stripe Connect. C'est un système de crowdfunding à part entière.

Nous avons cessé d'offrir le thème gratuit avec le plugin car il est devenu obsolète et ne correspond pas à notre philosophie de conception actuelle. N'hésitez pas à utiliser n'importe quel thème disposant d'un modèle pleine largeur.


Permalien

Comment Installer un Certificat SSL sur un serveur Apache 2 [Debian / Ubuntu]

Je vous propose dans ce tutoriel de découvrir comment installer un certificat SSL sur un serveur Apache sous Debian / Ubuntu. Cette étape est indispensable si vous souhaitez déployer un site sécurisé par HTTPS ou migrer un site web existant de HTTP vers HTTPS.

Sommaire

  1. Introduction
  2. Activer les modules requis pour utiliser SSL sur votre serveur Apache
  3. Déposer votre certificat SSL sur votre serveur
  4. Vérifier que votre serveur Apache écoute sur le port 443 (HTTPS)
  5. Déclarer un VirtualHost pour le HTTPS
  6. Activer le VirtualHost
  7. Vérifier le niveau de sécurité de votre site
  8. Finaliser la configuration

1 – Introduction

J’ai écris ce tutoriel dans le cadre de la migration de SysKB de HTTP vers HTTPS. Une migration motivée car Google pénalise depuis quelques mois les sites n’ayant pas migrés en HTTPS. Il était donc temps d’obtenir moi aussi mon petit cadenas vert vous indiquant que les informations qui circulent entres votre navigateur et mon site web sont chiffrées.

Ce tutoriel s’adresse à ceux qui comme moi hébergent leur site Web sur un serveur dédié ou un VPS (Virtual Private Server). Car contrairement à un hébergement de type mutualisé, c’est à vous de gérer la couche Apache de votre stack LAMP (Linux / Apache / MySQL ou MariaDB / PHP). La plupart des tutos qui expliquent comment migrer un site HTTP vers HTTPS se contentent d’expliquer comment le faire d’un point de vue WordPress et référencement Google, mais n’abordent pas le fait qu’il faut d’abord configurer Apache et déployer votre certificat sur votre serveur Apache.

D’ailleurs vous allez le voir c’est assez simple même si ça nécessite de suivre scrupuleusement le tutoriel 😉

SysKB est hébergé sur un VPS chez IONOS. J’ai opté pour l’offre VPS Cloud qui me permet de disposer d’un serveur dédié virtuel performant avec du disque SSD, et suffisamment de mémoire et de CPU pour supporter une charge de plusieurs milliers de connexions journalières. Le petit plus c’est que l’offre intègre un certificat SSL Wildcard gratuit que vous pouvez activer et obtenir en 5 minutes depuis votre interface.

Si vous envisagez de créer votre site Web je vous invite à consulter mon guide pour vous aider à choisir une solution d’hébergement pour WordPress mais IONOS est un excellent fournisseur que j’utilise depuis plus de 15 ans maintenant avec toujours autant de confiance 🙂

Je résume, si vous avez un VPS et que vous souhaitez que votre site soit en HTTPS, ce qui est indispensable pour accéder à votre site depuis un navigateur comme Chrome, suivez simplement ce tuto 👌

2 – Activer les modules requis pour utiliser SSL sur votre VPS sous Apache

Activer le module SSL

Après avoir ouvert une session PuTTy sur votre serveur tapez simplement la commande suivante pour activer le module SSL. Un message vous indiquera clairement si le module est déjà ou non déployé.

a2enmod ssl

Activer le module headers

De la même manière cette commande vous permet d’activer le module Header. Ce module, dont l’installation est fortement recommandé par Google, permet d’activer la directive HSTS.

a2enmod headers

Redémarrer le service Apache

Le redémarrage de votre serveur Apache permet d’activer les deux modules précédemment activés. Ce redémarrage prend à peine quelques millisecondes sans impact notable sur votre production.

service apache2 restart

3 – Déposer votre certificat SSL sur votre serveur

Création du répertoire qui contiendra le certificat SSL

Il est d’usage de stocker les certificats SSL en respectant cette arborescence, mais ce n’est pas une obligation surtout si vous n’avez qu’un seul site. Remplacez domaine-com par votre propre domaine.

mkdir /etc/ssl/domaine-com/

Déposer votre certificat SSL dans le répertoire

Après avoir commandé ou fait la demande de votre certificat SSL gratuit chez IONOS vous avez 3 fichiers à récupérer :

  • Le certificat SSL : Il s’agit d’un fichier au format .cer ou en .crt
  • Votre clé privée : Il s’agit d’un fichier au format .key
  • Le certificat intermédiaire : Il s’agit d’un fichier au format .cer ou en .crt

Une fois que vous avez récupéré ces fichiers vous devez les déposer dans le répertoire précédemment créé. Pour cela je vous recommande d’utiliser un logiciel comme WinSCP qui vous permet d’accéder à l’arborescence de votre serveur via une interface graphique. Voici ce que cela donne pour mon site SysKB.

Installer un certificat ssl sur un serveur VPS apache2

4 – Vérifier que votre serveur Apache écoute sur le port 443 (HTTPS)

Par défaut Apache écoute sur les ports 80 et 443. Cela signifie qu’il est déjà configuré pour recevoir des requêtes en HTTP et HTTPS. Exécutez la commande netstat afin de vérifier si c’est bien le cas :

netstat -tanpu | grep "LISTEN" | grep "443"

Vous devez obtenir un truc de ce genre qui indique que Apache écoute bien sur le port 443

tcp6       0      0 :::443                  :::*                    LISTEN      30105/apache2

Si une erreur vous indique que netstat n’est pas installé tapez les commandes suivantes :

sudo apt update
sudo apt install net-tools

Si aucun processus Apache n’est en écoute sur le port 443 c’est qu’il n’est pas paramétré ! Pour cela identifié le fichier qui permet de configurer les ports en écoute en tapant la commande suivante :

grep -R "Listen" /etc/apache2

Dans mon cas cela m’indique que c’est le fichier ports.conf qui contient les configuration de ports en écoute

/etc/apache2/ports.conf:        Listen 80

Il suffit de modifier le fichier ports.conf qui correspondant au “Listen 80”

nano /etc/apache2/ports.conf

et ajoutez simplement le code suivant

<IfModule mod_ssl.c>
Listen 443
</IfModule>

Redémarrez Apache et vérifier de nouveau les ports en écoute

service apache2 restart
netstat -tanpu | grep "LISTEN" | grep "443"

Cette fois on est bon !

/etc/apache2/ports.conf:        Listen 80
/etc/apache2/ports.conf:        Listen 443
/etc/apache2/ports.conf:        Listen 443

5 – Déclarer un VirtualHost pour le HTTPS

Pour accéder à votre site Web il existe par défaut un VirtualHost. Les serveurs Apache qui contiennent plusieurs sites contiennent autant de VirtualHost que de sites hébergés.

Pour accéder à votre site en HTTPS il faut créer un VirtualHost dédié. Pour cela il suffit de dupliquer le VirtualHost existant et de le configurer pour HTTPS. C’est beaucoup plus simple de procéder ainsi car vous êtes certains de ne pas faire de mauvaises manipulations.

Accéder au dossier contenant tous les VirtualHost disponibles:

cd /etc/apache2/sites-available

Lister les fichiers présents dans ce répertoire :

ls -la

Vous devez identifier le fichier de configuration contenant le VirtualHost correspondant à votre site HTTP. Si vous n’avez qu’un seul site il n’y aura qu’un seul fichier mais si votre serveur gère des dizaines de domaines et sous domaines vous gagnerez du temps à faire un grep :

grep -R "remplacer-par-le-domaine-concerne" /etc/apache2

Une fois que vous avez identifié le bon fichier il suffit de le dupliquer et le renommer. Dans cet exemple je duplique mon fichier de configuration nommé 000-default.conf en 000-default-ssl.conf.

cp 000-default.conf 000-default-ssl.conf

De cette manière je vais configurer le fichier dupliqué plutôt que le fichier d’origine

Configurer le VirtualHost pour le protocole HTTPS :

Modifiez le fichier dupliqué avec la commande nano ou avec WinSCP.

En début de fichier remplacez le port 80 du VirtualHost par le port 443 comme ceci : <VirtualHost *:443>

Ajoutez ensuite les instructions suivantes juste AVANT la balise de fin </VirtualHost>.

# On active le SSL
SSLEngine On

# On active tous les protocoles (TLS v1.0, TLS v1.1 et TLS v1.2), mais on désactive SSL v2 et v3 (obsolètes et remplacés par TLS)
SSLProtocol All -SSLv3 -SSLv2

# On active les méthodes de chiffrement, et on désactive les méthodes de chiffrement non sécurisés (par la présente d'un !)
SSLCipherSuite HIGH:!aNULL:!MD5:!ADH:!RC4:!DH

# On demande au navigateur de sélectionner une méthode de chiffrement en respectant l'ordre envoyée par le serveur (HIGH uniquement)
SSLHonorCipherOrder on

# On renseigne le chemin vers le certificat SSL de l'adresse à sécuriser
SSLCertificateFile "/etc/ssl/votre-domaine-fr/www-votre-domaine-fr.cer"

# On renseigne le chemin vers la clée privée correspondant au certificat SSL de l'adresse à sécuriser
SSLCertificateKeyFile "/etc/ssl/votre-domaine-fr/www-votre-domaine-fr.key"

# On renseigne le chemin vers le certificat SSL racine, puis vers le(s) certificat(s) SSL intermédiaire(s).
# Si vous disposez de plusieurs certificats intermédiaires, vous pouvez ajouter d'autres directives SSLCACertificateFile.
SSLCACertificateFile "/etc/ssl/votre-domaine-fr/certificat-intermediaire.cer"

Header always set Strict-Transport-Security "max-age=15768000"

Modifiez les chemins d’accès et les intitulés des différents certificats afin qu’ils correspondent à ceux que vous avez déposé à l’étape 3.

6 – Activer le VirtualHost

Activer le VirtualHost dans Apache

Il s’agit maintenant d’activer votre nouveau VirtualHost

a2ensite nom-du-vhost-ssl
# Pour désactiver le vhost si vous avez commis une erreur de configuration :
# Executez : a2dissite nom-du-vhost-ssl

Recharger la configuration d’Apache

Et enfin charger la nouvelle configuration. On aurait pu redémarrer entièrement le service Apache, mais le Reload suffit.

service apache2 reload

A cette étape votre site est désormais accessible en HTTPS

7 – Vérifier le bon fonctionnement du certificat et le niveau de sécurité de votre site

Vérifiez que votre certificat est bien installé grâce au site SSL Checker

Connectez vous ensuite sur le site SSLLabs.com pour contrôler si votre serveur est bien sécurisé.

Sans la directive HSTS que l’on a configuré en début de tutoriel vous obtiendrez la note “A“, avec le HSTS vous obtenez un “A+

8 – Finaliser la configuration

A cette étape votre site est déjà accessible en HTTPS.

Mais il y a encore quelques opérations a effectuer pour que tout soit complètement opérationnel

  • Effectuer une redirection HTTP vers HTTPS dans votre .htaccess pour éviter le Duplicate Content.
# Redirection vers HTTPS 
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTPS} =off
RewriteRule ^(.*)$ https://syskb.com/$1 [R=301,L]

# Redirection du www vers non-www en HTTPS
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
  • Remplacer tous les liens internes HTTP de votre site par HTTPS avec l’extension pour WordPress Search and Replace DB. Si vous n’avez pas fait de modifications manuelles ou vous auriez rentré en sur HTTP vous n’aurez pas de soucis.
  • Vérifier qu’il n’y ait pas d’extensions récalcitrantes qui font des appels en HTTP. C’est très simple à savoir, votre site sera sécurisé mais vous risquez de ne pas avoir le cadenas vert !
  •  Ajoutez la version HTTPS de votre site dans Google Webmaster Tools. Ne retirez pas l’ancien car Google exige que toutes les versions de vos sites soient renseignées afin justement de ne pas vous pénaliser pour Duplicate Content. Dans la version HTTPS pensez à ajouter votre fichier https://votre-site-fr/sitemap_index.xml. Dans 10 à 15 jours dès que Google aura indexé vos pages en HTTPS vous pourrez retirer le sitemap de la propriété HTTP Google Webmaster Tools. Ceci étant cela n’a aucun impact sur l’indexation de votre site.

Pour cela j’ai suivi le tutoriel Comment passer son site WordPress en HTTPS à la section 9 choses à faire absolument après l’activation du HTTPS.

Cet article original intitulé Comment Installer un Certificat SSL sur un serveur Apache 2 [Debian / Ubuntu] a été publié la première sur SysKB.

Revue de presse de l’April pour la semaine 42 de l’année 2024

Cette revue de presse sur Internet fait partie du travail de veille mené par l’April dans le cadre de son action de défense et de promotion du logiciel libre. Les positions exposées dans les articles sont celles de leurs auteurs et ne rejoignent pas forcément celles de l’April.

[Le Monde.fr] Lina Khan, la femme qui fait trembler les Gafam (€)

✍ Corine Lesnes, le dimanche 20 octobre 2024.

«L’économie, enjeu d’une Amérique fracturée» (5/5). La présidente de la Federal Trade Commission, l’agence antitrust américaine, combat les grands monopoles. Elle irrite les républicains et participe aux efforts déployés par l’administration Biden pour défendre son action contre l’inflation.

[La République] Vie privée, logiciels libres: ce journaliste veut sensibiliser à un usage plus éthique de l'informatique

Le samedi 19 octobre 2024.

Thierry Pigot, habitant de Samois-sur-Seine et journaliste spécialisé en technologies numériques vient de publier un livre pour simplifier l’informatique du quotidien. Rencontre."> Le directeur général de l’Open Source Initiative (OSI), Stefano Maffulli, critique vertement l’utilisation par Meta du terme «open source» pour qualifier ses modèles d’IA générative Llama. L’OSI attaque Meta alors qu’elle finalise justement sa définition de ce terme employé pour qualifier les modèles d’intelligence artificielle.

Et aussi:

[ZDNET] Wordpress: l'écosystème open source s'enfonce dans le conflit

Le mercredi 16 octobre 2024.

Une guerre fait rage depuis plusieurs semaines entre le fondateur du projet Matthew Mullenweg et l’un des principaux fournisseurs de site web Wordpress, WP Engine.

Et aussi:

Commentaires : voir le flux Atom ouvrir dans le navigateur

Les 5 meilleures agences de développement WordPress en France en 2024

Vous cherchez une agence WordPress en France pour 2024 ? Voici les 5 meilleures pour des sites sur mesure, optimisés en SEO et sécurisés pour une performance maximale. Dans un monde où la présence numérique est primordiale, choisir une agence WordPress capable de créer un site web performant et sur-mesure est essentiel pour les entreprises […]

Homepage | European Alternatives

European Alternatives is a project that collects and analyzes European alternatives to digital services and products, such as cloud services and SaaS products. We regularly receive advice and suggestions from European Alternatives users, so feel free to reach out!

  • Web analytics services
  • Cloud computing platforms
  • Content delivery network (CDN) services
  • Email providers
  • Virtual private server (VPS) hosters
  • Search engines
  • Transactional email service
  • Domain name registrars
  • Time tracking apps
  • Navigation apps
  • Uptime monitoring services
  • File hosting services
  • Machine translation services
  • Object storage providers
  • Microblogging services
  • VPN services
  • Managed DNS providers
  • Professional networking platforms
  • Function as a service (FaaS) providers
  • Platform as a service (PaaS) providers
  • Error tracking services
  • Electronic signature software
  • Public DNS resolvers
  • Payment service providers
  • Captcha services
  • Spelling and grammar checkers
  • Password managers
  • Instant messaging apps
  • Version control services
  • Identity and access management (IAM) services
  • Live chat software
  • Web browsers
  • Video conferencing software
  • Document collaboration services
  • Calendar services
  • Email marketing services
  • Font services
  • WordPress hosting providers
  • Team communication services
  • Managed Kubernetes services
  • Video hosting services
  • Video platforms
  • Maps API services
  • Tag management systems
  • DDoS protection services
  • Session recording tools
  • ACME SSL certificate providers
  • Survey tools
  • Marketing automation software
  • Project Management Software
  • SMS APIs

Permalink
❌