Nextcloud letsencrypt : Différence entre versions
(Page créée avec « Retour ==Générer des certificats valide à l'aide de let's encrypt== Les certificat ssl Lets encrypt seront généré et géré par OPNSense OPNSense_os-... ») |
|||
Ligne 55 : | Ligne 55 : | ||
Dans notre cas le fichier sera: | Dans notre cas le fichier sera: | ||
− | <nowiki> | + | <nowiki><VirtualHost *:443> |
− | <VirtualHost *:443> | + | SSLEngine on |
− | + | ServerAdmin webmaster@localhost | |
− | + | SSLCertificateFile /etc/ssl/certs/nextcloud.slemoal.fr.cer | |
− | + | SSLCertificateKeyFile /etc/ssl/private/nextcloud.slemoal.fr.key | |
+ | DocumentRoot /var/www/nextcloud/ | ||
− | + | <IfModule mod_headers.c> | |
− | + | Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" | |
− | + | </IfModule> | |
− | |||
</VirtualHost> | </VirtualHost> | ||
− | + | </nowiki> | |
===Créer un cron sur le serveur nextcloud=== | ===Créer un cron sur le serveur nextcloud=== |
Version du 8 avril 2020 à 19:53
Sommaire
Générer des certificats valide à l'aide de let's encrypt
Les certificat ssl Lets encrypt seront généré et géré par OPNSense à cette étape
Récupérer les certificat Let's encrypt généré par opnsense
Principe:
L'idée est de pouvoir se connecter sur le site nextcloud.slemoal.fr en restant local et en bénéficiant du certificat ssl Lets encrypt généré et géré par OPNSense à cette étape
Redirection DNS
Se connecter sur OPNSense
Services: Unbound DNS: Contournements
ATTENTION Sur votre ordinateur le serveur DNS doit être opnsense
Créer une clé public sur Nextcloud
Nous allons créer un compte avec un certificat, afin de permettre au serveur Centreon de se connecter à opnsense en ssh sans mot de passe
si ça n'est pas dejà fait, nous allons créer une clé pour l'utilisateur root
ssh-keygen -t rsa -b 2048 -C root
ne renseigner pas de passphrase
Copier le contenue de la clé public
cat /root/.ssh/id_rsa.pub
Créer un compte sur OPNSense
Système: Accès: Utilisateurs
Renseigner:
- Nom d'utilisateur: nextcloud
- Cocher: Générer un mot de passe aléatoire
- Shell de connexion: /bin/sh
- Membre du groupe: admins
- Clés autorisées: coller la clé public créer precedement (Exemple: ssh-rsa AAAAB3NzaC1yc... ...XOQKm/x root)
Sauvegarder
Tester la connection en ssh depuis le serveur nextcloud
ssh nextcloud@10.10.10.1 -p 8022
ECDSA key fingerprint is SHA256:SoX8QCm... ...6CRPJMI. Are you sure you want to continue connecting (yes/no)? yes
Si il ne demande pas de mot de passe, c'est gagné.
Modifier le fichier de conf apache
Modifier l'emplacement des certificat et clé dans le fichier apache
cat /etc/apache2/sites-enabled/000-default-le-ssl.conf
Dans notre cas le fichier sera:
<VirtualHost *:443> SSLEngine on ServerAdmin webmaster@localhost SSLCertificateFile /etc/ssl/certs/nextcloud.slemoal.fr.cer SSLCertificateKeyFile /etc/ssl/private/nextcloud.slemoal.fr.key DocumentRoot /var/www/nextcloud/ <IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" </IfModule> </VirtualHost>
Créer un cron sur le serveur nextcloud
crontab -e
0 5 * * 1 scp -P 8022 nextcloud@10.10.10.1:/var/etc/acme-client/home/nextcloud.slemoal.fr/nextcloud.slemoal.fr.cer /etc/ssl/certs/ 0 5 * * 1 scp -P 8022 nextcloud@10.10.10.1:/var/etc/acme-client/home/nextcloud.slemoal.fr/nextcloud.slemoal.fr.key /etc/ssl/private/ 0 5 * * 1 service apache2 restart