Istnieje wiele powodów dla, których chcielibyśmy uruchomiś ssl dla naszego http i uzyskać https.
Wpis ten dotyczy konfiguracji SSL dla już działającego serwera www. Jeżeli jeszcze nie uruchomiłeś swojego Apacha, skorzystaj z tego wpisu: Instalacja i konfiguracja Apache 2
Zaczynajmny:
#zainstalujmy aplikację, która pomoże wygenerować nam certyfikaty dla każdego vhosta
apt-get install ssl-cert
#jeżeli zostaniemy zapytani o hostname, wpiszmy tam adres domeny, dla której generujemy certyfikaty
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/www.example.com
cp /etc/ssl/private/www.example.com /etc/ssl/certs/www.example.com.pem
mv /etc/ssl/private/www.example.com /etc/ssl/private/www.example.com.key
#edytujmy oba pliku, w private musi znajdować się część dotycząca klucza
#w pliku w katalogu certs tylko klucz publiczny
vim /etc/ssl/private/www.example.com.key
vim /etc/ssl/certs/www.example.com.pem
#zabezpieczmy klucz prywatny na serwerze
chmod 600 /etc/ssl/private/www.example.com.key
#teraz uruchamiamy moduł ssl
a2enmod ssl
cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/example.com-ssl.conf
vim /etc/apache2/sites-available/example.com-ssl.conf
#początek pliku example.com-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost adres.ip:443>
ServerAdmin webmaster@example.com
ServerName example.com:443
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/example.pem
SSLCertificateKeyFile /etc/ssl/private/example.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
#koniec pliku example.com-ssl.conf
a2ensite example.com-ssl.conf
service apache2 restart
Oczywiście zawsze możesz wrócić do kroków poprzednich:
Linux – Apache Część 1: Instalacja i konfiguracja
Możesz pominać ten krok i przejść naprzód: