5 votes

je cherche un moyen de faire fonctionner certbot sur Amazon Linux 2

Amazon a sorti un nouveau Linux appelé "Amazon Linux 2".

Quand j'essaie d'obtenir certbot, il va à .....

 wget https://dl.eff.org/certbot-auto
 chmod a+x certbot-auto
 ./certbot-auto

donne cette erreur

Sorry, I don't know how to bootstrap Certbot on your operating system!

You will need to install OS dependencies, configure virtualenv, and run pip install manually.
Please see https://letsencrypt.readthedocs.org/en/latest/contributing.html#prerequisites for more info.

Puis j'ai essayé :

yum install pip
yum install python-pip
pip install cryptography 
pip install certbot
yum install python-urllib3
yum install augeas
/usr/bin/certbot

Et je reçois ce message

Traceback (most recent call last):
  File "/usr/bin/certbot", line 7, in <module>
    from certbot.main import main
  File "/usr/lib/python2.7/site-packages/certbot/main.py", line 19, in <module>
    from certbot import client
  File "/usr/lib/python2.7/site-packages/certbot/client.py", line 11, in <module>
    from acme import client as acme_client
  File "/usr/lib/python2.7/site-packages/acme/client.py", line 34, in <module>
    import urllib3.contrib.pyopenssl  # pylint: disable=import-error
  File "/usr/lib/python2.7/site-packages/urllib3/contrib/pyopenssl.py", line 50, in <module>
    from ndg.httpsclient.ssl_peer_verification import SUBJ_ALT_NAME_SUPPORT
ImportError: No module named ndg.httpsclient.ssl_peer_verification

Je ne sais pas trop où aller à partir de là. Toute suggestion serait grandement appréciée !

15voto

David Birks Points 366

J'ai eu des problèmes avec ça aussi car Amazon Linux 2 n'a pas epel-release dans ses dépôts, mais j'ai découvert que vous pouvez installer le paquet RPM EPEL lui-même, et ensuite vous pourrez installer certbot または certbot-nginx à partir de là.

  • Télécharger le RPM

    curl -O http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  • Puis l'installer

    sudo yum install epel-release-latest-7.noarch.rpm
  • Maintenant vous pouvez installer certbot

    sudo yum install certbot
  • Et ensuite, exécutez-le comme d'habitude

    sudo certbot

Vérifiez la page certbot pour les détails de configuration après cela.

2voto

Tim Points 28848

Au lieu de Certbot, vous pouvez utiliser Acme qui fonctionne et qui est bien documenté. J'ai un tutoriel sur la configuration de Let's Encrypt sur Amazon Linux. ici .

Configuration de Nginx

Let's Encrypt doit appeler le serveur pour vérifier la demande avant qu'un certificat ne soit émis. Acmetool peut utiliser son serveur web intégré ou un serveur web externe. Voici ma configuration de Nginx, qui se trouve à côté d'un bloc de serveur sécurisé qui sert le reste du site.

# This server directly serves ACME / certificate redirects. All other requests are forwarded the https version of the page
server {
  listen 80;
  server_name example.com;
  access_log /var/log/nginx/access.log main;

  # Let's Encrypt certificates with Acmetool
    location /.well-known/acme-challenge/ {
    alias /var/www/.well-known/acme-challenge/;
  }

  location / {
    return 301 https://www.photographerstechsupport.com$request_uri;
  }
}

Dossiers Nginx

mkdir -p /var/www/.well-known/acme-challenge
chmod -R user:www-data /var/www/acme-challenge/*
find /var/www/acme-challenge/ -type d -exec chmod 755 {} \;
vi /var/www/acme-challenge/.well-known/acme-challenge/text.html   (add "hello world" or similar)

Installer Acme

sudo -i   (this is run as root)
cd /opt
wget https://github.com/hlandau/acme/releases/download/v0.0.62/acmetool-v0.0.62-linux_386.tar.gz (NB check for newer versions here)
tar -xzf acmetool-v0.0.62-linux_386.tar.gz
cd acmetool-v0.0.62-linux_386/bin
cp ./acmetool /usr/local/bin
/usr/local/bin/acmetool quickstart

Dans le quickstart, entrez ceci comme votre webroot

/var/www/.well-known/acme-challenge/

Demander un certificat

/usr/local/bin/acmetool want example.com www.example.com

Dépannage n°1

acmetool --xlog.severity=debug > /tmp/dump 2>&1 want example.com www.example.com
fgrep -v fdb: /tmp/dump | fgrep -v storageops: > /tmp/dumpout

J'ai d'autres conseils de dépannage sur mon article de blog.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X