Bonjour à tous,
Je gère depuis quelques années maintenant la boutique Prestashop d'un ami, boutique hébergée sur un serveur dédié Debian 6 loué chez 1&1 sur lequel tourne un serveur apache2. On nous à récemment conseillé de passer en https j'ai donc commencé à faire des recherches sur le sujet mais je dois bien avouer que je ne sais pas par quel bout m'y prendre. J'ai bien compris qu'il faut dans un premier temps se munir d'un certificat ssl, soit on le crée, soit on en achète un. Comme la boutique fonctionne bien nous avons choisi d'en acheter un par le biais de notre hébergeur. Je dispose donc d'un fichier texte ayant un contenu du type:

-----BEGIN CERTIFICATE-----
... sI4j+z7B ...
-----END CERTIFICATE-----

Malgré la lecture d'une bonne douzaine de pages sur la mise en place d'un certificat les méthodes diffèrent toutes et ne sont jamais adaptées à ma configuration. Je crois toutefois comprendre qu'il faut ajouter un virtual host dans la configuration d'apache (/etc/apache2/sites-enabled/mondomaine.com.conf dans mon cas) mais il est toujours question de plusieurs fichiers; "domain_name.crt", "private.key" et même "intermediate_certificate.crt" malheureusement dans mon cas je n'ai qu'un fichier, celui cité ci-dessus. Faut-il générer ces différents fichiers à partir du premier? Je ne comprend pas.

J'ai encore bien d'autres interrogations mais je vais m'en tenir à ça pour commencer.
Merci d'avance pour votre aide.

7 réponses


Bonjour ,
As-tu bien crée ton certificat pour acheter ton SSL chez ton hébergeur ?
Avec la commande de openssl ?

Bonjour Chipie,
C'est la toute première fois que je fais cette manipulation donc je ne connais pas du tout la démarche.
Non je n'ai pas créé de certificat avec openssl.

Le code est il le suivant?

mkdir /etc/ssl
cd /etc/ssl
openssl genrsa -out MON_DOMAINE.key 2048
openssl req -new -sha256 -key MON_DOMAINE.key -out MON_DOMAINE.csr

répondre aux questions ....

Oui effectivement c'est bien cette partie
Tu as bien fait les démarche avec le CSR de ton domaine a 1&1 ?
Tu as du recevoir des fichier (1 crt / 1 .key /)

Si tout cela est fait il va faloir activé SSL depuis ton accéss SSH

a2enmod ssl

Puis dans ton vHost il va faloir faire écouté le port 443 de ton serveur web
de tête c'est "/etc/apache2/ports.conf" par default
(Ainsi que l'ouvrir si tu utilise un firewall logiciel / matériel)

<IfModule mod_ssl.c>
    Listen 443
    NameVirtualHost ADRESSE_IP_MACHINE:443
</IfModule>

Quand tout cela est fait on va pourvoir activé le certificat sur ton domaine
Je te conseille de placé tout tes fichier dans /etc/ssl/certs/
(Logiquement pas besoin de rehash la structure SSL mais bon je te donne quand même la commande "c_rehash /etc/ssl/certs/")

J'aurais besoin de ton virtualhost disponible dans /etc/apache2/sites-available/

J'espére avoir répondu a tes questions :p

"Tu as bien fait les démarche avec le CSR de ton domaine a 1&1 ?
Tu as du recevoir des fichier (1 crt / 1 .key /)"

J'avoue ne pas comprendre, le seul et unique fichier que me fournit 1&1 c'est celui cité ci-dessus (-----BEGIN CERTIFICATE----- ...) nommé www.mondomaine.com_certificate.txt. voici la seule vue que me propose 1&1 à propos de mon certificat

le mode ssl est activé sur le serveur
ci-dessous mon fichier /etc/apache2/ports.conf

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    Listen 443
</IfModule>

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

Si je comprend bien je dois le modifier ainsi:

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    NameVirtualHost IP_SERVEUR:443
    Listen 443
</IfModule>

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

et comme indiqué dans les lignes commentées, modifier le fichier /etc/apache2/sites-available/default-ssl

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
        ServerAdmin webmaster@localhost
        ....

par

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        ...

Je ne te cache pas que c'est un peu flou mais bon :)

"J'aurais besoin de ton virtualhost disponible dans /etc/apache2/sites-available/"
En fait le serveur héberge 2 sites, mondomaine.com et autredomaine.com ainsi que 3 sous domaine, sub1 sub2 et sub3.mondomaine.com. Les trois sous domaines pointent vers le même repertoire que mondomaine.com et sont utilisés pour l'appèle des images par Prestashop.
ci dessous le contenu du fichier /etc/apache2/sites-available/mondomain.com.conf

<VirtualHost *:80>
        ServerName www.mondomaine.com
        DocumentRoot /home/mondomaine/www
        ErrorLog /home/mondomaine/logs/error_log
        CustomLog /home/mondomaine/logs/access_log combined
        <Directory /home/mondomaine/www>
         Options ExecCGI -Indexes -MultiViews +SymLinksIfOwnerMatch
                 AddHandler cgi-script .cgi .pl
               Order deny,allow
                Allow from all
                AllowOverride All
                php_flag apc.cache_by_default On
        </Directory>
        <IfModule mpm_itk_module>
                AssignUserId prodev prodev
        </IfModule>
        php_admin_value default_charset UTF-8
</VirtualHost>

<VirtualHost *:80>
        ServerName mondomaine.com
        DocumentRoot /home/mondomaine/www
        ErrorLog /home/mondomaine/logs/error_log
        CustomLog /home/mondomaine/logs/access_log combined
        <Directory /home/mondomaine/www>
         Options ExecCGI -Indexes -MultiViews +SymLinksIfOwnerMatch
                 AddHandler cgi-script .cgi .pl
               Order deny,allow
                Allow from all
                AllowOverride All
                php_flag apc.cache_by_default On
        </Directory>
        <IfModule mpm_itk_module>
                AssignUserId mondomaine mondomaine
        </IfModule>
        php_admin_value default_charset UTF-8
</VirtualHost>

pour les sous domaines /etc/apache2/sites-available/media1, media2 et media3.mondomain.com.conf

<VirtualHost *:80>
        DocumentRoot /home/mondomaine/www
        ServerName media1.mondomaine.com
        <Directory /home/mondomaine/www>
                Options -Indexes +FollowSymLinks
                AllowOverride All
        </Directory>
</VirtualHost>

Si tu a besoin de plus d'info je suis bien entendu à l'écoute.
Un grand merci pour ton aide.

Désolé pour la réponse tardive :)

Je revient vers toi avec un virtualhost tout propre :)
http://paste.imchip.be/wodagufude.apache
(je pense que sa va marché) cela fait +- 2 ans que je n'ai pas touché a apache

Parcontre je tient a présicé de mémoire si tu n'as pas de Wildcard SSL
Tu ne pourras pas les affiché sur ton site un cadenas vert tout propre
Cause que tu ne peut le mettre sur tes sous domaine

re bonjour Chipie,
Tu n'a pas à être désolé pour la réponse qui n'a d'ailleurs rien de tardive :) c'est même moi qui te remercie une nouvelle fois pour le temps que tu me consacre.
Je n'ai pas encore fais les différentes modifications pour passer la boutique en https et j'attends le prochain rdv avec mon ami propriétaire de la boutique pour qu'il me donne le feu vert. De plus tu soulève un point important qui m'avait échappé jusque là à propos des certificats wildcard et pourquoi pas un Certificat SSL Standard Multi-domaines qui sera peut être plus adapté à nos besoins. Je dois quoi qu'il en soit en discuter avec mon ami.

Je vais repasser par ici les prochains jours et je serais ravis de t'y retrouver ^^
A bientôt et merci encore.