procurando uma maneira de executar o certbot no Amazon Linux 2

2

A Amazon tem um novo Linux chamado "Amazon Linux 2"

Quando eu tento o certbot ...

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

apresenta este erro

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.

Então eu tentei:

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

E eu recebo esta mensagem

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

Não sei ao certo para onde ir a partir daqui. Qualquer sugestão seria muito apreciada!

    
por iewebguy 31.12.2017 / 20:34

2 respostas

5

Eu estava tendo problemas com isso também, já que o Amazon Linux 2 não tem epel-release em seus repositórios, mas eu descobri que você pode instalar o pacote EPEL RPM, e então você poderá instalar o certbot ou certbot-nginx de lá.

  • Faça o download do RPM

    curl -O http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
  • Em seguida, instale-o

    sudo yum install epel-release-latest-7.noarch.rpm
    
  • Agora você pode instalar o certbot

    sudo yum install certbot
    
  • E, em seguida, execute-o como de costume

    sudo certbot
    

Confira a página do certbot para detalhes de configuração depois disso.

    
por 16.01.2018 / 21:44
2

Em vez do Certbot, você pode usar o Acme , que funciona e está bem documentado. Eu tenho um tutorial sobre como configurar o Let's Encrypt no Amazon Linux aqui .

Configuração do Nginx

Vamos Criptografar precisa chamar o servidor para verificar a solicitação antes de um certificado ser emitido. A Acmetool pode usar seu servidor da Web integrado ou um servidor da Web externo. Aqui está minha configuração Nginx, que fica ao lado de um bloco de servidor seguro que serve o resto do 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;
  }
}

Pastas 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)

Instalar o 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

No início rápido, insira isso como seu webroot

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

Solicitar um certificado

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

Solução de problemas # 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

Eu tenho outras dicas de solução de problemas no artigo do meu blog.

    
por 31.12.2017 / 21:31