Feb 26 2008
Debian, Apache2 + ssl + mod_rewrite
Výchozí instalace web serveru Apache2 na Debianu (Etch, Lenny) neobsahuje podporu SSL — tedy protokolu HTTPS. Zároveň neobsahuje ani zavedený modul mod_rewrite toliko potřebný pro krásná URL a SEO optimalizaci. Vše lze napravit několika málo příkazy.
Instalace Apache a nástrojů na generování certifikátů:
# apt-get install apache2 ssl-cert openssl
Vytvoření adresáře pro osobní certifikáty:
# mkdir /etc/apache2/ssl
Vytvoření osobního certifikátu pro doménu např. jens.cz, pokud chcete nastavit SSL pro všechny subdomény, při dotazu na “Common Name (CN)” zadejte “*.jens.cz“, jinak postačí “jens.cz“:
# openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl/jenscz.pem -keyout /etc/apache2/ssl/jenscz.pem
Nastavte oprávnění certifikátu:
# chmod 600 /etc/apache2/ssl/jenscz.pem
V souboru /etc/apache2/ports.conf přidejte řádek:
Listen 443
Vytvořte si soubor /etc/apache2/sites-available/ssl:
NameVirtualHost *:443 <VirtualHost *:443> ServerAdmin webmaster@jens.cz ServerName jens.cz ServerAlias *.jens.cz SSLEngine On SSLCertificateFile /etc/apache2/ssl/jenscz.pem DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> LogLevel warn ErrorLog /var/log/apache2/ssl-error.log CustomLog /var/log/apache2/ssl-access.log combined </VirtualHost>
“Povolíme” nový konfiruační soubor tím že vytvoříme symbolický link:
# ln -s /etc/apache2/sites-available/ssl /etc/apache2/sites-enabled/ssl
Zavedeme modul Apache pro SSL:
# a2enmod ssl
Zavedeme modul Apache pro mod_rewrite:
# a2enmod rewrite
A konečně restart Apache:
# /etc/init.d/apache2 restart
That’s all, folks! ;)
21.05.2009, 22:39
Myslel jsem si, ze kdyz je Debian na serverech tak rozsireny, ze bude stacit do googlu napsat instalace apache ssl a budu mit hned navod jak ho zprovoznit, misto toho jsem nasel jen spousty balastu, ktery s tim nemel nic spolecneho a miliony stranek jak zprovoznit apache 1.3 + mod-ssl, bohuzel tyto stranky byli i treba 5 let stare!
Az konecne jse narazil na tuto stranku podle ktere jsem nastavil Apache2 se ssl prakticky za 5 minut.
Diky, diky.
–
Hobit.
22.05.2009, 12:41
Tento navod myslim bude fungovat na soucasne stable verzi (Lenny) a na starsich (Etch), soucasny testing (Squeeze) ma myslim rozhozene konfigurace pro SSL pomoci jednoho velkeho SSL konfigu a nasledne includuje dalsi mensi virtualhosty podobne jako tomu je pri konfiguraci defaultniho portu 80. Mozna namet na dalsi clanek :)
28.10.2010, 21:05
Stručné, funkční, čisté. Just nice :-))
Díky
09.03.2011, 22:21
Dobrý den, postupoval jsem dle vašeho návodu a když jsem restartoval apache2 ( /etc/init.d/apache2 restart ), vyskočilo mi
Restarting web server: apache2(98)Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs
failed!
A apache2 nejde nahodit, prosím o radu.
Předem děkuji
09.03.2011, 22:38
Podle toho co pisete to vypada, ze nejaky proces jiz na tomto rozhrani a portu (0.0.0.0:433) nasloucha. Je mozne ze je to spatne nakonfiguravany a neukonceni proces Apache. Zjistete jake procesy bezi (
# ps -faux
) a pripadne jake naslouchaji na danem portu (# netstat -lap
, pripadne# netstat -lapn
pro ciselnou reprezentaci portu) a proces setrelit (kill).12.05.2011, 18:43
Ahoj. Díky za super návod. A pokud se ti tam zobrazila tato chyba “Restarting web server: apache2(98)Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs
failed!” Tak do souboru nezapisuj Listen 443 /etc/apache2/ports.conf