
Questo articolo fornisce istruzioni dettagliate su come installare Apache 2 con mod_ssl.
Preferisco installare Apache dal sorgente, poiché mi dà maggiore flessibilità su quali moduli voglio abilitare o disabilitare e posso anche aggiornare o applicare patch subito dopo il rilascio da parte della fondazione Apache.
1. Scarica Apache
Scarica Apache da httpd.apache.org. L'attuale versione stabile è la 2.2.17.
Una volta ottenuto l'URL diretto per scaricare l'ultima versione stabile di Apache, usa wget come mostrato di seguito per scaricarlo direttamente sul tuo server.
cd ~ wget http://www.eng.lsu.edu/mirrors/apache//httpd/httpd-2.2.17.tar.gz tar xvfz httpd-2.2.17.tar.gz
2. Installa Apache con SSL/TLS
Visualizza tutte le opzioni di installazione e configurazione disponibili di Apache come mostrato di seguito.
cd httpd-2.2.17 ./configure --help
Per installare un modulo Apache, in genere diresti –enable-{module-name}. Ad esempio, per installare SSL con Apache, è –enable-ssl. Per installare il modulo ldap, è –enable-ldap.
Per disinstallare qualsiasi modulo predefinito fornito con Apache, in genere dovresti dire –disable-{module-name}. Ad esempio, per disabilitare l'autenticazione di base in Apache, è –disable-auth-basic
In questo esempio, installeremo Apache con tutti i moduli predefiniti, con l'aggiunta di –enable-ssl (per installare mod_ssl per il supporto SSL) e –enable-so, che aiuta a caricare i moduli in Apache durante il runtime tramite Dynamic Shared Meccanismo dell'oggetto (DSO), piuttosto che richiedere una ricompilazione.
./configure --enable-ssl --enable-so make make install
Nota :Per impostazione predefinita, quanto sopra installa Apache in /usr/local/apache2. Se desideri modificare questa posizione, usa l'opzione –prefix in ./configure.
3. Abilita SSL in httpd.conf
Il file di configurazione di Apache httpd.conf si trova in /usr/local/apache2/conf.
Decommenta la riga httpd-ssl.conf Include nel file /usr/local/apache2/conf/httpd.conf.
# vi /usr/local/apache2/conf/httpd.conf Include conf/extra/httpd-ssl.conf
Visualizza httpd-ssl.conf per rivedere tutte le configurazioni SSL predefinite. Nella maggior parte dei casi, non è necessario modificare nulla in questo file.
vi /usr/local/apache2/conf/extra/httpd-ssl.conf
Il certificato SSL e la chiave sono necessari prima di avviare Apache. I file server.crt e server.key menzionati in httpd-ssl.conf devono essere creati prima di andare avanti.
# egrep 'server.crt|server.key' httpd-ssl.conf SSLCertificateFile "/usr/local/apache2/conf/server.crt" SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"
4. Crea il file server.crt e server.key
Innanzitutto, genera il server.key utilizzando openssl.
cd ~ openssl genrsa -des3 -out server.key 1024
Il comando precedente chiederà la password. Assicurati di ricordare questa password. Ne hai bisogno per avviare il tuo Apache in un secondo momento.
Se non fornisci una password, riceverai il seguente messaggio di errore.
2415:error:28069065:lib(40):UI_set_result:result too small:ui_lib.c:849:You must type in 4 to 8191 characters
Quindi, genera un file di richiesta di certificato (server.csr) utilizzando il file server.key sopra.
openssl req -new -key server.key -out server.csr
Infine, genera un certificato SSL autofirmato (server.crt) utilizzando il file server.key e server.csr sopra.
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Per maggiori dettagli fare riferimento a:Come generare chiave SSL, CSR e certificato autofirmato per Apache
5. Copia server.key e server.crt
Copia il file server.key e server.crt nella posizione della directory di configurazione di Apache appropriata.
cd ~ cp server.key /usr/local/apache2/conf/ cp server.crt /usr/local/apache2/conf/
6. Avvia l'Apache e verifica SSL
Avvia Apache come mostrato di seguito.
/usr/local/apache2/bin/apachectl start
Questo ti chiederà di inserire la password per la tua chiave privata.
Apache/2.2.17 mod_ssl/2.2.17 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide the pass phrases. Server www.example.com:443 (RSA) Enter pass phrase: OK: Pass Phrase Dialog successful.
Per impostazione predefinita Apache SSL viene eseguito sulla porta 443. Apri un browser web e verifica di poter accedere al tuo Apache utilizzando https://{your-ip-address}