Jak uruchomić i skonfigurować serwer WWW na Raspberry Pi  (Linux/Raspbian (Debian) + Apache + PHP + MySQL) pisałem już jakiś czas temu… Przy okazji wspomniałem jak „na swoje potrzeby” uruchomić połączenie szyfrowane z serwerem (https/SSL) korzystając z „prywatnego” certyfikatu.

Pewnym minusem tego rozwiązania jest komunikat w przeglądarce informujący o tym, że certyfikat jest niezaufany – dlatego o ile „na nasze potrzeby” takie rozwiązanie jest wystarczające (a do tego darmowe i proste do wdrożenia), to w przypadku gdy z połączenia szyfrowanego z naszą stroną WWW mają korzystać „inni” warto pomyśleć nad instalacją certyfikatu który będzie zaufany w większości przeglądarek…

Bezpłatny certyfikat StartSSL

Zaczynamy od założenia konta na StartSSL.com – najszybciej jest chyba skorzystać z opcji „Express Lane”:

startssl-com_express-lane01

Pamiętajcie by podczas rejestracji podać prawdziwe dane.

Jak wszystko pójdzie dobrze, do Waszej przeglądarki (systemu) zostanie dodany klucz – i to właśnie za jego pomocą logujecie się do swojego konta.

StartSSL Free (Class 1)

By wygenerować certyfikat będzie potrzebna weryfikacja domeny. Wygląda to tak, że możecie wybrać jeden z kilku „systemowych” adresów e-mail by potwierdzić, że jesteście właścicielami domeny.

Do wyboru m.in.:

Certyfikat wygenerujcie wybierając zakładkę „Certificates Wizard” a następnie:

startssl-com_new-crt01

Web Serwer SSL/TLS Certificate

W następnym kroku trzeba ustawić hasło dla „klucza prywatnego” (od 10 do 32 znaków, tylko litery i cyfry).

Możecie też zmienić m.in. rozmiar klucza (Keysize) z 2048 bitów na 4096.

W dalszej kolejności należy zapisać plik ssl.key, wybrać domenę i jedną(!) subdomenę (np. www, ale może być dowolna), i na koniec zapisać jeszcze plik ssl.crt.

Oprócz plików ssl.key i ssl.crt będą potrzebne jeszcze dwa, które należy pobrać ze strony StartSSL:

W przypadku gdy chcecie zabezpieczyć więcej domen (lub subdomen) wystarczy powtórzyć powyższe kroki, lub skorzystać z certyfikatu płatnego.

Apache2: instalacja certyfikatu SSL

Procedura jest opisana na przykładzie Raspberry Pi z systemem Raspbian (Linux/Debian) i od tego momentu może się różnić w zależności od typu/rodzaju systemu operacyjnego i/lub serwera WWW jaki macie zainstalowany na swoim urządzeniu.

Informacje jak zainstalować certyfikat m.in. na Apache, cPanel (WHM), ISS, nginx, Lightttpd znajdziecie też na stronie StartSSL.com.

Zakładam też, że macie już skonfigurowany serwer WWW (Apache) i dodaną domenę/subdomenę.

Zaczynamy od skopiowania potrzebnych plików do Raspberry Pi, np. do katalogu:

/usr/local/etc/apache/conf/ssl.crt/

Wy możecie wybrać inny – pamiętajcie tylko by odpowiednio zmodyfikować ścieżki w następnych krokach.

Edytujemy plik konfiguracyjny serwera

sudo nano /etc/apache2/sites-enabled/default-ssl

I zaraz za:

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
	ServerAdmin [email protected]

	DocumentRoot /var/www
	ServerName NASZA_DOMENA - pamiętaj by uzupełnić!
	ServerName RPi01

dodajemy:


SSLEngine on
SSLProtocol +TLSv1.1 +TLSv1.2
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
SSLHonorCipherOrder on
SSLCertificateFile /usr/local/etc/apache/conf/ssl.crt/ssl.crt
SSLCertificateKeyFile /usr/local/etc/apache/conf/ssl.crt/ssl.key
SSLCertificateChainFile /usr/local/etc/apache/conf/ssl.crt/sub.class1.server.ca.pem
SSLCACertificateFile /usr/local/etc/apache/conf/ssl.crt/ca.pem

Jeśli wcześniej korzystaliście z szyfrowania z własnym/prywatnym/niezaufanym certyfikatem, tak jak to opisywałem to dodatkowo musicie skasować lub „zakomentować” (przez dodanie # na początku linii) następujące 2 linijki:

SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

Teraz wystarczy zrestartować serwer (usługę):

sudo /etc/init.d/apache2 restart

raspberry-pi_apache_ssl01

Po wejściu na stronę powinniście zobaczyć Wasz nowy (i zaufany) certyfikat:

raspberry-pi_apache_ssl_www-cert

Wyłączamy hasło dla ssl.key

Jak zapewne zauważyliście przy okazji restartu serwera – za każdym razem trzeba podać hasło do klucza prywatnego (ssl.key), co może być niewygodne – zwłaszcza przy zdalnej pracy z serwerem.

By usunąć hasło z pliku (odszyfrować certyfikat) można skorzystać z formatki dostępnej na Waszym koncie w StartSSL:

  • Tool Box: Decrypt Private Key

Albo bezpośrednio z poziomu systemu za pomocą prostej komendy, choć najpierw zrobimy kopie pliku – na wszelki wypadek:

sudo mv /usr/local/etc/apache/conf/ssl.crt/ssl.key /usr/local/etc/apache/conf/ssl.crt/ssl.key.bak

I usuwamy żądanie hasła:

sudo openssl rsa -in /usr/local/etc/apache/conf/ssl.crt/ssl.key.bak -out /usr/local/etc/apache/conf/ssl.crt/ssl.key

raspberry-pi_apache_ssl02

Wygasa Twój certyfikat logowania do StartSSL? Zobacz jak wygenerować nowy certyfikat logowania…

(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.
Młody Szymon pomógł tacie zapisać się do Newslettera WebInsider.pl i... teraz idzie popływać
WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.
Janusz i Janusz dzięki motywowi Divi od Elegant Themes koszą siano robiąc strony