Skocz do zawartości

[Poradnik] Instalacja certyfikatu SSL na serwerze VPS (Debian)


Incls
 Udostępnij

Rekomendowane odpowiedzi

Piszę ten poradnik z uwagi, iż coraz częściej pojawiają się strony serwerów Team Speak 3, a dobrze widzieć tzw "zieloną kłódeczkę" na pasku.

Nie będę omawiał instalacji płatnego certyfikatu, oraz jak to wygląda - zapewne 99% serwerów nie planuje zakupu z uwagi, iż nie jest im to potrzebne, a taki darmowy certyfikat jest jak najbardziej spoko opcją, dla serwera startującego z własną stroną internetową jako wizytówka, czy po prostu informacyjna etc.

Poradnik został napisany dla systemu Debian 9 - gdyby ktoś potrzebował pomocy z CentOS'em to zapraszam do komentarzy, a postaram się pomóc.

 

Tak samo ważne - domena musi mieć rekord A, który wskazuje na nasz serwer VPS - może jest to oczywiste, jednak lepiej napisać, aby uniknąć zbędnych pytań/problemów.

Instalacja będzie dla Apache'a. W pprzypadku Nginx'a wystarczy zmienić tak naprawdę:

 

python-certbot-apache

na

python-certbot-nginx

 

 

Pierwsze czynności:

Profilaktycznie aktualizacja wygląda następująco:

 

apt-get -y  update && apt-get -y upgrade

Opcjonalnie możemy wykonać jeszcze następujące polecenie, jednak to w przypadku, gdy jedyny update jaki został wykonany, to podczas instalacji naszego serwera 🙂  dla przeciętnego użytkownika niekonieczne.

apt-get dist-upgrade


Po wykonaniu powyższych poleceń możemy przystąpić do właściwej instalacji.
Z konta ROOT instalujemy pakiet oparty o python'a (2.x).

apt-get install python-certbot-apache -t stretch-backports

Po zakończeniu instalacji wystarczy wpisać:

certbot --apache


Carbot powinien sprawdzić waszą konfigurację Apache, gdzie znajdzie Waszą domene, dlatego przypominam o konfiguraci, aby było tam zawarte:

    ServerName domena.pl
    ServerAlias www.domena.pl


    
Oraz oczywiście o przeładowaniu serwera www, ale przed  nim wykonamy profilaktyczny test konfiguracji, czy wszystko działa dobrze (aby potem nie bawić się w edytowanie):

apache2ctl configtest

Powinniśmy uzyskać komunikat "Syntax OK". Gdy nam się pojawi - możemy zrestartować serwer:

systemctl restart apache2
service apache2 restart
/etc/init.d/apache2 restart

Oczywiście tylko jedno polecenie 🙂
Jeśli ktoś korzysta z CentOS'a i ma problem z restartem:
7.x: systemctl restart httpd.service
4/5/6.x: service httpd restart

 

Cała instalacja nie jest jakoś skomplikowana. Dodatkowo istnieje możliwość automatycznego odnowienia certyfikatu.

Polecenie wygląda następująco:

 

certbot renew --dry-run

 

W przypadku, gdy posiadamy wiele domen, bądź subdomen, a nie dla wszystkich działa to polecenie (nie wszystkie są odnawiane) - możemy skorzystać z Cron'a, który będzie nam odnawiał takowy certyfikat.

Najlepiej ustawić go co 30 dni, choć nic nie stoi na przeszkodzie, aby uruchamiał się co tydzień/dwa, albo i co konkretny dzień.

 

 

Polecenie, aby edytować nasze zadania:

crontab -e

 

Jeśli wyskoczy nam zapytanie edytor:
 

Cytat

  1. /bin/nano      
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny

 

Zalecam dla początkujących opcję numer jeden. VIM jest super, jednak nie będziemy omawiać tutaj klawiszologii.

 

Polecenie jakie ma być wykonywane jest poniżej.

 

30 3 * * 1 /usr/bin/certbot renew >> /var/log/cert-renew.log - wykonuje się w poniedziałek o godzine 3:30
30 3 * * 2 /usr/bin/certbot renew >> /var/log/cert-renew.log - wykonuje się we wtorek o godzinie 3:30
30 3 * * 0 /usr/bin/certbot renew >> /var/log/cert-renew.log - wykonuje się w każdą niedzielę o godzinie 3:30

 

Oczywiście chodzi o wybranie sobie jednej reguły 🙂  dla Waszej pewności zamieszczam zrzut ekranu jak to powinno wyglądać. Log będzie znajdował się w lokalizacji /var/log o nazwie "cert-renew.log"

 

83Wv2Ol.png

 

 

W przypadku wątpliwości możemy jeszcze zweryfikować nasz certyfikat:

 

openssl s_client -connect domena.pl:443 -servername domena.pl

 

Verification: OK/0 traktowane jest jako pomyślny test.

 

Tak samo dla osób chętnych sprawdzić datę wygaśnięcia naszego certyfikatu możemy to w bardzo prosty sposób wykonać:

echo | openssl s_client -connect domena.pl:443 -servername domena.pl 2>/dev/null | openssl x509 -noout -dates

 

Możemy przekierować oczywiście wedle uznania output do pliku jeśli ktoś chciałby sobie go zatrzymać (np aby zapamiętać datę wygaśnięcia):

echo |openssl s_client -connect tsowicze.pl:443 -servername tsowicze.pl 2>/dev/null | openssl x509 -noout -dates > /var/log/cert_time.log

Wtedy odczytujemy go najprościej:

cat /var/log/cert_time.log
  • Lubię to! 1
  • Kocham To! 1
  • Dzięki! 1
  • Luźna robota. 1
Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...
  • 1 rok później...
  • 2 tygodnie później...
  • 2 lata później...

apt-get install python-certbot-apache -t stretch-backports
Reading package lists... Done
E: The value 'stretch-backports' is invalid for APT::Default-Release as such a release is not available in the sources
co zrobić bo nie wiem szukałem już chyba z 30 forum i nic nie działa ;( 

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

🍪 Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.