web-dev-qa-db-fra.com

Comment configurer SSL CRT sur mon serveur Apache2?

Je viens de recevoir un certificat SSL de Godaddy. J'ai téléchargé les fichiers ... Mais maintenant, je me demande où je devrais les mettre. Et puis-je installer quelque chose d'autre?

La raison pour laquelle je pose la question, c'est que je suis confronté à des méthodes conflictuelles d'installation du protocole SSL sur un serveur Apache2.

Ils disent utiliser ssl.conf mais j'en ai trouvé deux sur mon serveur:

/etc/Apache2/mods-available/ssl.conf
/etc/Apache2/mods-enabled/ssl.conf

Ensuite, ils disent que je dois ajouter ces instructions:

SSLCertificateFile /path/to/your/certificate/file
SSLCertificateKeyFile /path/to/your/key/file
SSLCertificateChainFile /path/to/intermediate/bundle/file

En outre, ils disent que cela pourrait ne pas être dans le fichier ssl.conf mais dans le fichier httpd.conf ...

Alors c'est quoi?

Et si j’utilise ssl.conf quel fichier dois-je modifier?

Merci d'avance pour votre aide.

PDATE:

Voici ma config:

<VirtualHost 00.00.000.00:443>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/example.com
    #   SSL Engine Switch:
    #   Enable/Disable SSL for this virtual Host.
    SSLEngine on

    #   A self-signed (snakeoil) certificate can be created by installing
    #   the ssl-cert package. See
    #   /usr/share/doc/Apache2.2-common/README.Debian.gz for more info.
    #   If both key and certificate are stored in the same file, only the
    #   SSLCertificateFile directive is needed.
    SSLCertificateFile    /etc/ssl/certs/example.crt
    SSLCertificateKeyFile /etc/ssl/private/example.key
    #SSLCertificateChainFile /etc/ssl/certs/Gd_bundle.crt
</VirtualHost>

Il semble que Godaddy cert. n'est pas reconnu par Google Chrome pour une raison quelconque ...

Alors, quel est le SSLCertificateChainFile?

5
jnbdz

Cela dépend Vous voudrez probablement ajouter ces lignes au fichier VirtualHost. J'utiliserai la valeur par défaut comme exemple, mais vous aurez probablement plusieurs VirtualHosts définis (ils se trouvent généralement dans le répertoire /etc/Apache2/site-available/).

Cependant, vous devrez d'abord installer les certificats SSL. En règle générale, vous pouvez placer le fichier .crt (ou le fichier de certificat, s'il ne se termine pas par .crt) dans le répertoire /etc/ssl/certs/. Copiez ensuite le fichier .key dans le répertoire /etc/ssl/private/. Assurez-vous que le fichier .key ne dispose pas d’autorisations lisibles, car cela pourrait conduire à un exploit. Pour rappel, ce ne sont que des emplacements de certificat SSL par défaut, vous pouvez les mettre n'importe où vous voulez. Certaines installations utilisent /etc/Apache2/ssl pour un dépotoir de fichiers CRT et KEY. Ceci, encore une fois, est entièrement à vous.

Pour configurer réellement le site SSL dans Apache, vous devez copier l’hôte virtuel du site et en modifier quelques lignes afin qu’il fonctionne correctement avec SSL. Dans cet exemple, je continuerai simplement à utiliser la configuration par défaut mais à remplacer default par le fichier VirtualHost que vous modifiez.

Donc, pour le site par défaut, vous allez copier le fichier /etc/Apache2/sites-available/default, comme suit:

cp /etc/Apache2/sites-available/default /etc/Apache2/sites-available/default-ssl

Puis éditez le nouveau fichier default-ssl. Commencez par changer la première ligne, <VirtualHost..., de :80 à :443, ainsi elle ressemblera probablement à:

<VirtualHost *:443>

Le * devra probablement être l'adresse IP qu'Apache écoute pour ce site. Il peut toujours s'agir d'un astérisque, qui correspond à un caractère générique, mais cela peut entraîner des problèmes lorsque vous avez plusieurs certificats SSL sur plusieurs sites. Lorsque cela est mis à jour au bas du fichier, juste au-dessus de la ligne </VirtualHost>, ajoutez ce qui suit:

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/<yourssl>.crt
    SSLCertificateKeyFile /etc/ssl/private/<yourssl>.key
    SSLCertificateChainFile /etc/ssl/certs/<yourssl>.crt

Une fois que vous avez terminé, vous devez activer votre site. Appelez les commandes suivantes pour activer mod_ssl, le nouvel hôte virtuel que vous avez créé, puis redémarrez Apache.

Sudo a2enmod ssl
Sudo a2ensite default-ssl
Sudo /etc/init.d/Apache2 restart

Maintenant, lorsque vous accédez au site via https: //, vous devriez pouvoir vous connecter avec succès!

6
Marco Ceppi