Apche (2.x.x) z SSL
Opis ten dotyczy dodania obsługi SSL, na przykładzie
apache 2.0.5, jeżeli używamy wersji
apache 2.2.8 należy zmienić ścieżkę dostępu do katalogu, zamieniając
/apache2 na
/apache22.
Otwieramy plik
/apache2/conf/httpd.conf
Przechodzimy do sekcji
Virtual Hosts:
Zmieniamy port:
KOD
#NameVirtualHost *:80
i zastępujemy następującym wpisem:
KOD
NameVirtualHost *:8080
Teraz dodajemy wirtualne hosty, zwykły:
KOD
<VirtualHost *:8080>
ServerName www.moja_strona.pl
DocumentRoot /tutaj/jest/moj/katalog
</VirtualHost>
Teraz wstawiamy informację o użyciu SSL:
KOD
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache dbm:/mnt/C/sys/apache2/logs/ssl_scache
SSLSessionCacheTimeout 300
SSLMutex file:/mnt/C/sys/apache2/logs/ssl_mutex
Teraz dodajemy wirtualny host z połączeniem szyfrowanym:
KOD
<VirtualHost _default_:443>
ServerName www.moja_strona.pl:443
DocumentRoot /tutaj/jest/moj/katalog/szyfrowany
ErrorLog /mnt/C/sys/apache2/logs/ssl_error_log
TransferLog /mnt/C/sys/apache2/logs/ssl_access_log
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
#Certyfikat i klucz
SSLCertificateFile /mnt/C/sys/apache2/conf/ssl.crt/server.crt
SSLCertificateKeyFile /mnt/C/sys/apache2/conf/ssl.key/server.key
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/mnt/C/sys/apache2/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog /mnt/C/sys/apache2/logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
Generowanie certyfikatu i klucza:
KOD
openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 1024 -in server.csr -signkey server.key -out server.crt