Innanzitutto i passi da compiere dipendono dal sistema operativo sul quale stai operando. Cercherò di darti delle indicazioni generiche, quando entrerò nello specifico assumerò di trattare un sistema linux/debian.

Primo si deve installare openssl.

E' poi necessario generare o ottenere un certificato grazie al quale verranno poi instaurate le connessioni sicure.
Per ottenere un certificato valido e riconosciuto da tutti i browser è necessario contattare un CA (Certificate Authority, maggiori dettagli su: http://it.wikipedia.org/wiki/Certificate_authority ), che fornirà poi i dati necessari.
In alternativa si può creare un certificato autofirmato. Esistono molti modi per farlo, su sistemi debian per esempio è molto utile il comando make-ssl-cert, che genera un certificato in modo automatico dopo aver richiesto le classiche informazioni all'utente

la sintassi corretta è:
/usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
la prima voce è il comando make-ssl-cert, il secondo è un template per generare il certificato, presente in distribuzioni debian/ubuntu ed il terzo argomento è il certificato poi generato

Altri metodi di creazione vengono visualizzati in questi siti:
https://help.ubuntu.com/8.04/serverg...-security.html
http://www.rmsoft.net/varie/creare-u...sl-per-apache/

Nel caso di un certificato auto firmato alla prima connessione il browser genererà un warning che identificherà tale certificato come auto-firmato e quindi non sicuro.

Dopo la creazione del certificato (in modo autonomo o con l'ausilio di una CA) è necessario abilitare il modulo ssl per apache (mod_ssl). Di norma le installazioni standard sulle distribuzioni linux già lo includono.
Una volta abilitato il modulo (in sistemi debian è possibile vedere i moduli abilitati nella cartella /etc/apache2/mods-enabled) è necessario configurare apache perché risponda sulla porta 443 sfruttando il modulo mod_ssl.

Nel file di configurazione vicino alla direttiva Listen 80
è necessario inserire questa voce:
<IfModule mod_ssl.c>

Listen 443

</IfModule>

In questo modo abbiamo permesso ad apache di rispondere sulla 80 a richieste http e sulla 443 a richiesta https.

Fatto questo possiamo creare il nostro prima virtual host che si basa solo su connessione sicura, eccone un esempio:
<VirtualHost *:443>

ServerName nomesito
ServerAdmin ***

DocumentRoot /var/www/***/

SSLEngine On

SSLCertificateFile /etc/apache2/ssl/apache.pem (il certificato generato)
<Directory /var/www/***>

Order allow,deny

Allow from all

</Directory>

ErrorLog /var/log/apache2/***/error.log

CustomLog /var/log/apache2/***/access.log combined

ServerSignature On

</VirtualHost>


Dopo aver riavviato apache è possibile contattare in nostro sito tramite https://nomesito

Per quanto riguarda invece le connessioni postgresql, da come mi sembra di capire i database stanno sulla stessa macchina ove risiede il serverWeb, quindi creare una connessione sicura (ssl based) per una comunicazione locale non ha molto senso, le connessioni sicure hanno significato quando il dato transita all'esterno in una rete non sicura, non è il caso di abilitarlo per comunicazioni interne, ovvero tra applicativi della stessa macchina.