-
Notifications
You must be signed in to change notification settings - Fork 2
Let's Encrypt pro Kohu a VuFind
Přihlásit se do systému jako root a přepnout se do root adresáře
# cd /root
Vytvořit složku pro skript certbotu a přepnout se do ní
mkdir ./lets-encrypt
cd ./lets-encrypt
Stáhnout certbot a umožnit spouštění
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
Doinstalovat chybějící systémové závislosti. Certbot bude chtít odsouhlasit licenci, nastavit notifikační e-mail a případně povolit/zakázat zasílání newsletteru
./certbot-auto
Vyžádat nový certifikát pro všechny potřebné domény; EXAMPLE.CZ nahradit za skutečnou doménu
./certbot-auto certonly --standalone --pre-hook "service apache2 stop" --post-hook "service apache2 start" -d koha.EXAMPLE.CZ,koha-intra.EXAMPLE.CZ,katalog.EXAMPLE.CZ,stats.EXAMPLE.CZ
./certbot-auto certonly --standalone --pre-hook "service nginx stop" --post-hook "service nginx start" -d koha.EXAMPLE.CZ,koha-intra.EXAMPLE.CZ,katalog.EXAMPLE.CZ,stats.EXAMPLE.CZ
Úspěšně vytvořený certifikát bude potvrzen zprávou
Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/koha.EXAMPLE.CZ/fullchain.pem.
Všimněte si, že pouze první doména je hlavním jménem certifikátu pro koha.EXAMPLE.CZ, ostatní se stávají alternativními jmény.
Dle konfigurace systému pokračujte kapitolou pro Apache nebo nginx
Vytvořit permanentní přesměrování HTTP na HTTPS, např. pro vufind v souboru /etc/apache2/conf-enabled/vufind2.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin root@EXAMPLE.CZ
ServerName vufind.EXAMPLE.CZ
DocumentRoot /usr/local/vufind2/public
Redirect permanent / https://vufind.EXAMPLE.CZ/
</VirtualHost>
<VirtualHost _default_:443>
ServerName vufind.EXAMPLE.CZ
SSLEngine On
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCertificateFile /etc/letsencrypt/live/koha.EXAMPLE.CZ/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/koha.EXAMPLE.CZ/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/koha.EXAMPLE.CZ/chain.pem
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
Protocols h2 http/1.1
SSLHonorCipherOrder on
...atd...
</VirtualHost>
Povolit SSL modul a restartovat apache
a2enmod ssl
service apache2 restart
Vytvořit permanentní přesměrování HTTP na HTTPS, např. pro vufind v souboru /etc/nginx/sites-enabled/vufind
server {
listen 80;
server_name vufind.EXAMPLE.CZ;
return 301 https://vufind.EXAMPLE.CZ$request_uri;
}
server {
listen 443 ssl;
server_name vufind.EXAMPLE.CZ;
ssl_certificate /etc/letsencrypt/live/koha.EXAMPLE.CZ/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/koha.EXAMPLE.CZ/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
...atd...
}
Restartovat nginx
service restart nginx
Vytvořit soubor /root/lets-encrypt/certbot-renew
a vložit do něj následující obsah dle konfigurace systému
#!/bin/bash
/root/lets-encrypt/certbot-auto renew -n --pre-hook "service apache2 stop" --post-hook "service apache2 start"
#!/bin/bash
/root/lets-encrypt/certbot-auto renew -n --pre-hook "service nginx stop" --post-hook "service nginx start"
Umožnit spouštění certbot-renew
chmod a+x /root/lets-encrypt/certbot-renew
Naplánovat pravidelné spouštění v cronu, např v souboru /etc/cron.d/letsencrypt
s tímto obsahem
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
06 2 * * * root /root/lets-encrypt/certbot-renew > /dev/null 2>&1
po přechodu na SSL zabezpečení se změní URL. Pokud využíváte pro tisk doplněk JS Print Setup, je potřeba ověřit, jestli máte povolen tisk ze všech URL nebo pouze z vybraných. Pokud tu druhou variantu, přidejte nové https URL do seznamu povolených. Při některých tiscích, jako například u rezervačního lístku, je potřeba ještě povolit vyskakovací okno z nové adresy.
Pro pokročilejší nastavení zabezpečení pokračujte na stránce Pokročilé nastavení HTTPS