GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare Apache 2 con SSL su Linux (con mod_ssl, openssl)

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}


Linux
  1. Come compilare e installare Python con il supporto di OpenSSL?

  2. Come installare Let's Encrypt SSL con Apache su Debian 11

  3. Come installare Apache 2.4.2 da Source su CentOS 6.2 con SSL

  4. Come installare JBoss AS 7 con SSL su Linux (Abilita HTTPS SSL su JBoss)

  5. Come installare il server Linux di virtualizzazione

Come installare Apache in Fedora 20

Come installare Apache su Debian 7

Come installare Apache su Fedora 22

Come installare Apache su Arch Linux

Come installare Apache su Debian 8.2

Come installare e configurare il server Web Apache su Oracle Linux 8