There are multiply reasons why you would like to use ssl for your http and create usable https for you and your viewers.
This post is about SSL configuration for your working www server. If you didn’t setup one right now please go back to this post: Linux – Apache Part 1: Instalation and configuration
Lets begin:
#install application that will help you create your own certificates for vhosts
apt-get install ssl-cert
#when we will be ask about hostname enter domain name for page you want to create certificate
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
#now we need to edit both files, the one in private dir need to have part about key
#file in certs dir need to have public-key part only
vim /etc/ssl/private/www.example.com.key
vim /etc/ssl/certs/www.example.com.pem
#secure private key from others
chmod 600 /etc/ssl/private/www.example.com.key
#enable ssl module for apache
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
#file 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
#end example.com-ssl.conf
a2ensite example.com-ssl.conf
service apache2 restart
You can always go back and check those posts:
Linux – Apache Part 1: Instalation and configuration
or foward: