
Tento článek obsahuje pokyny krok za krokem, jak nainstalovat Apache 2 pomocí mod_ssl.
Preferuji instalaci Apache ze zdroje, protože mi to dává větší flexibilitu ohledně toho, jaké moduly chci přesně povolit nebo zakázat, a také mohu upgradovat nebo aplikovat opravu ihned poté, co ji nadace Apache vydá.
1. Stáhněte si Apache
Stáhněte si Apache z httpd.apache.org. Aktuální stabilní verze je 2.2.17.
Jakmile získáte přímou adresu URL pro stažení nejnovější stabilní verze Apache, použijte wget, jak je uvedeno níže, ke stažení přímo na váš server.
cd ~ wget http://www.eng.lsu.edu/mirrors/apache//httpd/httpd-2.2.17.tar.gz tar xvfz httpd-2.2.17.tar.gz
2. Nainstalujte Apache pomocí SSL/TLS
Prohlédněte si všechny dostupné možnosti instalace a konfigurace Apache, jak je uvedeno níže.
cd httpd-2.2.17 ./configure --help
Chcete-li nainstalovat modul Apache, obvykle byste řekli –enable-{název-modulu}. Například pro instalaci SSL s Apache je to –enable-ssl. Chcete-li nainstalovat modul ldap, je to –enable-ldap.
Chcete-li odinstalovat jakýkoli výchozí modul dodávaný s Apache, obvykle byste řekli –disable-{název-modulu}. Chcete-li například zakázat základní ověřování v Apache, je to –disable-auth-basic
V tomto příkladu nainstalujeme Apache se všemi výchozími moduly s přidáním –enable-ssl (pro instalaci mod_ssl pro podporu SSL) a –enable-so, které pomáhá načítat moduly v Apache za běhu prostřednictvím Dynamic Shared Objektový (DSO) mechanismus namísto nutnosti rekompilace.
./configure --enable-ssl --enable-so make make install
Poznámka :Ve výchozím nastavení výše uvedené instaluje Apache pod /usr/local/apache2. Pokud chcete toto umístění změnit, použijte volbu –prefix v souboru ./configure.
3. Povolte SSL v httpd.conf
Konfigurační soubor Apache httpd.conf se nachází v /usr/local/apache2/conf.
Odkomentujte řádek httpd-ssl.conf Include v souboru /usr/local/apache2/conf/httpd.conf.
# vi /usr/local/apache2/conf/httpd.conf Include conf/extra/httpd-ssl.conf
Prohlédněte si httpd-ssl.conf a prohlédněte si všechny výchozí konfigurace SSL. Ve většině případů nemusíte v tomto souboru nic upravovat.
vi /usr/local/apache2/conf/extra/httpd-ssl.conf
Před spuštěním Apache je vyžadován SSL certifikát a klíč. Soubor server.crt a server.key zmíněný v httpd-ssl.conf musí být vytvořen, než budeme pokračovat.
# egrep 'server.crt|server.key' httpd-ssl.conf SSLCertificateFile "/usr/local/apache2/conf/server.crt" SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"
4. Vytvořte soubor server.crt a server.key
Nejprve vygenerujte server.key pomocí openssl.
cd ~ openssl genrsa -des3 -out server.key 1024
Výše uvedený příkaz bude vyžadovat heslo. Toto heslo si nezapomeňte zapamatovat. Budete to potřebovat při pozdějším spuštění Apache.
Pokud nezadáte heslo, zobrazí se následující chybová zpráva.
2415:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:849:You must type in 4 to 8191 characters
Dále vygenerujte soubor žádosti o certifikát (server.csr) pomocí výše uvedeného souboru server.key.
openssl req -new -key server.key -out server.csr
Nakonec vygenerujte certifikát ssl s vlastním podpisem (server.crt) pomocí výše uvedených souborů server.key a server.csr.
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Další podrobnosti naleznete v části:Jak vygenerovat klíč SSL, CSR a certifikát s vlastním podpisem pro Apache
5. Zkopírujte server.key a server.crt
Zkopírujte soubory server.key a server.crt do příslušného umístění konfiguračního adresáře Apache.
cd ~ cp server.key /usr/local/apache2/conf/ cp server.crt /usr/local/apache2/conf/
6. Spusťte apache a ověřte SSL
Spusťte Apache, jak je znázorněno níže.
/usr/local/apache2/bin/apachectl start
To vás vyzve k zadání hesla pro váš soukromý klíč.
Apache/2.2.17 mod_ssl/2.2.17 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide the pass phrases. Server www.example.com:443 (RSA) Enter pass phrase: OK: Pass Phrase Dialog successful.
Ve výchozím nastavení Apache SSL běží na portu 443. Otevřete webový prohlížeč a ověřte, že máte přístup k Apache pomocí https://{vaše-ip-adresa}