Wordpress, certbot, ssl : mauvaise configuration

Bonjour,
Je suis en train de configurer un certificat ssl sur mon vps.
J'ai utilisé CertBot.
La particularité est que le site est sur un wordpress installé automatiquement ( dans /var/www/wordpress )
J'ai suivi la procédure suivante : https://gist.github.com/harryfinn/e36e41cdbfba5a6e1d69d6498a4fc5ee

Mon certificat est valide selon ssl-cert-check

Là où j'ai un doute c'est la partie Configuring Apache site configs
car dans /etc/apache2/sites-available/ j'ai :
default-ssl.conf et wordpress.conf

Quand j'ajoute les paramètres :


ServerName nomdedomaine.com
ServerAdmin communication@nomdedomaine.com
DocumentRoot /var/www/wordpress

ErrorLog ${APACHE_LOG_DIR}/nomdedomaine.com-error.log
CustomLog ${APACHE_LOG_DIR}/nomdedomaine.com-access.log combined

SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/nomdedomaine.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/nomdedomaine.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/nomdedomaine.com/chain.pem

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

RequestHeader append "X-Forwarded-Proto" "https"
RequestHeader set "X-Forwarded-Ssl" "on"


à wordpress.conf j'ai une erreur au reload d'Apache et quand je crée un fichier nomdedomaine.com.conf avec tout le paramétrage apache se relance bien mais mon certificat n'est pas trouvé.

Comment configurer mon apache avec une installation wordpress préinstaller ?

Merci pour votre aide,

Bonjour,

je pense que c'est parce qu'il vous faut activer ou désactiver un des vhost apache.
```
# activer un vhost
a2ensite monsite.conf

# désactiver un vhost
a2dissite monsite.conf
```

Mais dans le cas d'Apache vous pouvez laissez certbot générer puis installer automatiquement le certificat SSL pour vous avec l'option `–apache` pour la commande certbot.

Bonjour et merci,
Quand j'active mon vhost monsite.com.conf je peux relancer apache sans erreur tant que je ne renseigne pas la partie VirtualHost *:443 dans monsite.com.conf. Quand c'est renseigné j'ai une erreur :
Job for apache2.service failed. See 'systemctl status apache2.service' and 'journalctl -xn' for details.

systemctl status apache2.service renvoie ça :

apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2)
Drop-In: /lib/systemd/system/apache2.service.d
└─forking.conf
Active: failed (Result: exit-code) since Fri 2018-05-25 17:04:01 CEST; 4min 4s ago
Process: 24475 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
Process: 24457 ExecReload=/etc/init.d/apache2 reload (code=exited, status=1/FAILURE)
Process: 24501 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)

May 25 17:04:01 vps341954.ovh.net apache2[24501]: Output of config test was:
May 25 17:04:01 vps341954.ovh.net apache2[24501]: AH00526: Syntax error on li…
May 25 17:04:01 vps341954.ovh.net apache2[24501]: Invalid command 'Header', p…
May 25 17:04:01 vps341954.ovh.net apache2[24501]: Action 'configtest' failed.
May 25 17:04:01 vps341954.ovh.net apache2[24501]: The Apache error log may ha…
May 25 17:04:01 vps341954.ovh.net systemd[1]: apache2.service: control proce…1
May 25 17:04:01 vps341954.ovh.net systemd[1]: Failed to start LSB: Apache2 w…
May 25 17:04:01 vps341954.ovh.net systemd[1]: Unit apache2.service entered f…
May 25 17:06:51 vps341954.ovh.net systemd[1]: Unit apache2.service cannot be…
May 25 17:07:52 vps341954.ovh.net systemd[1]: Unit apache2.service cannot be…


Quand je lance la commande avec --apache ( certbot certonly --apache -d www.monsite.com ) j'obtiens également une erreur :
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.

Bonjour,

Pour utiliser le plugin apache de certbot, il faut visiblement installer le paquet libaugeas0
```
apt install libaugeas0
```

Mais la ligne où se trouve l'erreur vous est indiqué par la commande `systemctl status apache2.service ` :
```
May 25 17:04:01 vps341954.ovh.net apache2[24501]: AH00526: Syntax error on li…
```
Vérifiez bien que le module header d'apache est activé, ainsi que ceux nécessaire pour une connexion SSL/TLS
```
# module headers
a2enmod headers

# module ssl
a2enmod ssl
```

Edit : j'ai quelques doutes sur l'utilité des lignes :
```
RequestHeader append "X-Forwarded-Proto" "https"
RequestHeader set "X-Forwarded-Ssl" "on"
```
Si apache n'est pas derrière un reverse-proxy (nginx par exemple)

J'ai installé libaugeas0, vérifié l'activation de headers et ssl et relancé apache. J'ai toujours l'erreur avec --apache pour créer le certificat.

Ensuite j'ai désactivé le vhost wordpress.conf qui avait été automatiquement créé à l'installation du vps pour qu'il n'y ait plus que nomdedomaine.com.conf qui pointe sur le dossier /wordpress/.

La déclaration vhost 80 dans nomdedomaine.com.conf est bien prise en compte car la redirection
`Redirect permanent / https://www.nomdedomaine.com/`
fonctionne et m'envoie sur la page "La connexion n’est pas sécurisée Le certificat n’est pas sûr car il est auto-signé. Le certificat n’est pas valide pour le nom www.nomdedomaine.com." de firefox.

Et toujours dans nomdedomaine.com.conf dès que la partie vhost 443 est renseignée apache refuse de rebooter. (J'ai essayer avec et sans le requestheader)

J'ai trouvé une solution en suivant la procédure de base de certbot et la commande :
`sudo certbot --authenticator webroot --installer apache`
Je n'avais pas su la paramétrer correctement le premier coup mais en ayant bidouillé pas mal sur certbot et apache cette fois ci je m'en suis sorti.
Le problème est que ça ne répond pas au pourquoi ça ne fonctionnait pas en manuel.
Merci VirtuBox pour ton aide.

Je pense que le certificat affiché par votre navigateur web était le certificat auto-signé présent par défaut dans la configuration du vhost default-ssl.conf, qui est prévu, tout comme le vhost 000-default.conf, pour recevoir toutes les requêtes, l'un sur le port 80, l'autre sur le port 443.