====== HTTPS amb Let's Encrypt ====== ===== Què és? ===== **Let's Encrypt és una autoritat certificadora gratuïta**. És a dir, és una organització internacional que permet tenir certificats HTTPS de forma gratuïta. ===== A nominalia, ... ===== Si teniu el pack de dotació.cat i esteu a nominalia podeu activar el HTTPS amb Let's Encrypt. El primer pas és activar la modalitat de MICROHOSTING ([[eines:dotacio.cat#us_o_com_pujar-hi_fitxers_nivell_basic|microhosting]]) Un cop fet, cal accedir al panell de microhosting (i no al del domini) i des d'allà trobareu les opcions de configuració de HTTPS ===== Al labs, idealment seria... ===== Des del panell de Hestia anem al nostre domini i activem les opcions Enable SSL for this domain --- Use Let's Encrypt to obtain SSL certificate i això ja ho hauria de fer. Ara bé, a vegades, aquest procés no funciona i s'ha de fer manualment ===== Let's Encrypt manual ===== Let's Encrypt ofereix diverses formes de fer el "challenge" d'autenticació, és a dir, de comprovar que realment ets l'amo del domini pel qual demanes un certificat. Si el challenge de Hestia no ha funcionat, haurem de fer-ho des de la línia d'ordres, necessitarem: Ordre a executar: '' certbot certonly %%--%%manual %%--%%config-dir=. %%--%%work-dir=. %%--%%logs-dir=. -d test1.daw.inspedralbes.cat '' Eines: * terminal 1 (per llençar el "challenge") * terminal 2 (per crear els fitxers necessaris per verificar el challenge) * panell web de hestia (per "deixar" els certificats) Com a domini d'exemple agafarem test1.daw.inspedralbes.cat ==== Obtenció dels certificats ==== Tots els noms de fitxers i rutes s'han d'adaptar al vostre cas, **no feu cut&paste** Des del terminal 1 farem: Terminal 1: * Situar-se a la carpeta privada del domini * Llençar el challenge * Copiar els certificats generats al panell de hestia cd ~/web/test1.daw.inspedralbes.cat/private certbot certonly --manual --config-dir=. --work-dir=. --logs-dir=. -d test1.daw.inspedralbes.cat Canvieu //test1.daw.inspedralbes.cat// pel vostre domini Això us farà una sèrie de preguntes i us dirà que creeu un fitxer. El missatge serà '' Create a file containing just this data:\\ **OcgjBmvk32sKeV7cCQQJTSFgUcEsag8DwKQuzTgtcyA.mRmh6nhdEMH2YCOsr-iRG6vlFf4oB1DPViahFSRzJJs** And make it available on your web server at this URL:\\ http://test1.daw.inspedralbes.cat/.well-known/acme-challenge/OcgjBmvk32sKeV7cCQQJTSFgUcEsag8DwKQuzTgtcyZ \\ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\ Press Enter to Continue '' No apreteu cap tecla fins que hagueu acabat la segona part Per tant, ara des del **terminal 2** s'han de seguir les instruccions que us ha donat el terminal 1 (crear un fitxer amb un path i un contingut concrets) Terminal 2: * Crear la carpeta ''.well-known/acme-challenge/'' a la part pública de la web, és a dir, dins de ''public_html'' * **ATENCIÓ, en els següents passos heu de canviar-ho pels valors que us ha donat en el terminal 1** * Crear el fitxer''OcgjBmvk32sKeV7cCQQJTSFgUcEsag8DwKQuzTgtcyZ'' * Posar el contingut en el fitxer: ''OcgjBmvk32sKeV7cCQQJTSFgUcEsag8DwKQuzTgtcyA.mRmh6nhdEMH2YCOsr-iRG6vlFf4oB1DPViahFSRzJJs'' Terminal2: cd ~/web/test1.daw.inspedralbes.cat/public_html mkdir -p .well-known/acme-challenge nano OcgjBmvk32sKeV7cCQQJTSFgUcEsag8DwKQuzTgtcyZ i copiar-hi el contingut també es podria fer echo OcgjBmvk32sKeV7cCQQJTSFgUcEsag8DwKQuzTgtcyA.mRmh6nhdEMH2YCOsr-iRG6vlFf4oB1DPViahFSRzJJs > OcgjBmvk32sKeV7cCQQJTSFgUcEsag8DwKQuzTgtcyZ Un cop creat el fitxer en el lloc corresponent, podem comprovar-hi manualment (obrint el navegador i accedint a la URL que ens ha indicat http://test1.daw.inspedralbes.cat/.well-known/acme-challenge/OcgjBmvk32sKeV7cCQQJTSFgUcEsag8DwKQuzTgtcyZ Si tot és correcte, en el terminal 1 apretem ENTER i ens dirà: '' Successfully received certificate.\\ Certificate is saved at: /home/ebota/web/test1.daw.inspedralbes.cat/private/live/test1.daw.inspedralbes.cat/fullchain.pem\\ Key is saved at: /home/ebota/web/test1.daw.inspedralbes.cat/private/live/test1.daw.inspedralbes.cat/privkey.pem\\ This certificate expires on 2025-03-17.\\ These files will be updated when the certificate renews.\\ NEXT STEPS:\\ - This certificate will not be renewed automatically. Autorenewal of --manual certificates requires the use of an authentication hook script (--manual-auth-hook) but one was not provided. To renew this certificate, repeat this same certbot command before the certificate's expiry date. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' ==== Copia dels certificats ==== Un cop superat el challenge tindrem dins de la carpeta ./live/test1.daw.inspedralbes.cat/ hi ha diversos fitxers (hi ha un fitxer README que explica què és cadascun) Haurem de copiar-los al panell de hestia: S'ha de copiar TOT, incloses les capçaleres com \\''-----BEGIN PRIVATE KEY-----'' Els fitxers s'han de copiar de la següent forma: * SSL Certificate <- cert.pem * SSL Private Key <- privkey.pem * SSL Certificate Authority / Intermediate <- chain.pem Cliquem a **Save** i si tot ha anat bé i els certificats estan bé, no donarà cap error, i ens mostrarà els detalls del certificat.