#language cs
## 20210714 AK
----
'''česky''' | [[HowToDocuments/ServerSSLWithDebian|english]]
----
= Jak nastavit server s certifikátem SSL na Debianu =
Jak nastavit, aby webový server Apache 2.4 na operačním systému Debian GNU/Linux používal certifikát SSL.
Všechny následující příkazy musíte vydávat jako root z příkazového řádku:
* jděte do adresáře /etc/apache/ssl (pozor, závisí na verzi Debianu):
'''cd /etc/apache/ssl'''
* vytvořte privátní klíč:
'''openssl genrsa -out supersecret.key 4096'''
* generujte z něj žádost o certifikát:
'''openssl req -key supersecret.key -new'''
Odpovězte na následující otázky (po každé odpovědi stiskněte ''Enter''):<
>
Country Code [kód země]: (viz: [[https://www.iso.org/obp/ui/#search]], pro Českou republiku CZ)<
>
State or Province: Kraj/okres/provincie, kde bydlím<
>
Locality name [lokalita]: Město/obec, kde bydlím<
>
Organization Name [název organizace]: Dávám sem tečku, která ponechá pole prázdné<
>
Organizational Unit [organizační jednotka]: Dávám tečku<
>
Common Name [obecný název]: Plně kvalifikovaný název (FQDN) mého serveru<
>
Email Address: Moje e-mailová adresa<
>
Challenge password [heslo]: Toto nechávám prázdné<
>
Optional company name [volitelný název firmy]: Toto nechávám prázdné<
>
* To vygeneruje žádost o certifikát (CSR) a zobrazí ji. Zkopírujte ji a vložte do webového formuláře CAcert: [[https://secure.cacert.org/account.php?id=10|Certifikáty serveru - Nový]].<
>
* CACert pak vygeneruje certifikát. Zkopírujte ho a vložte do souboru na serveru. Protože používám Debian, je správné umístění:
'''/etc/apache2/ssl'''
* Uložte ho do uvedeného adresáře certifikát jako soubor např. myserver.crt
* Dále si stáhněte od CACert zprostředkující certifikát (třídy 3) a uložte ho do téhož adresáře (/etc/apache2/ssl). Stáhněte rovněž kořenový certifikát CACert třídy 1 a uložte ho do téhož adresáře.
* Zkombinujte privátní klíč, certifikát svého serveru a oba kořenové certifikáty do jednoho souboru:
'''cat supersecret.key myserver.crt class3_x14E228.crt root_X0F.crt > myserver.pem'''
* Změňte oprávnění, aby výsledný soubor PEM nemohl číst nikdo jiný:
'''chmod 600 myserver.pem'''
POZOR: Postup platí pro Apache verze vyšší než 2.4.8. Máte-li starší verzi, pak dejte oba kořenové certifikáty do jiného, tzv. řetězového souboru (chain file).
* Upravte konfigurační soubor Apache SSL (/etc/apache2/sites-available/default-ssl.conf) (a opět - toto je specifické pro Debian) a určete umístění souboru v SSLCertificateFile.
POZOR, nechcete-li raději uložit privátní klíč do souboru PEM, specifikujte také SSLCertificateKeyFile. Já to mám raději všechno pohromadě v jediném souboru typu PEM. Používáte-li Apache verze nižší než 2.4.8, zadejte také "řetězový soubor" (chain file), který obsahuje oba kořenové certifikáty CACert, do parametru SSLCertificateChainFile.
* Zapněte SSL web:
'''a2ensite default-ssl'''
* Restartujte Apache
'''apache2ctl graceful'''
To je vše; nyní Váš server běží a používá SSL certifikát od CACert.org.
Podobný návod pro Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-14-04
Zdroj: BM/15
----
. CategoryTutorials
. CategoryStepByStep