Febbraio
9
2008

Installare Apache2 con SSL su Ubuntu

SSL è un sistema che consente alle informazioni di essere trasmesse in forma codificata via Internet, ampiamente utilizzato nel commercio elettronico, è il blocco che vediamo nella barra degli indirizzi su alcuni siti web.

Con questo tutorial è quello di mostrare come configurare un server Apache2, mentre ci possono essere cose che non funzionano, tutto dipende dalla distribuzione e la versione di Linux utilizzata. Questo tutorial è stato realizzato con Ubuntu 7.10.

Per cominciare, ma abbiamo installato Apache installarlo:


sudo apt-get install apache2


I seguenti moduli si qualificheranno ssl e riscrivere:


a2enmod ssl


riscrittura a2enmod


Generare il certificato:


apache2-ssl-certificate


Se otteniamo un messaggio di errore dicendo che il comando non esiste noi:


sudo aptitude install ssl-cert


openssl req $ @-new-x509-days 365-nodes-out / etc/apache2/apache.pem-keyout / etc/apache2/apache.pem


Compilare i campi che abbiamo richiesto.


Modificare il file / etc/apache2/sites-enabled/ssl:


sudo nano / etc/apache2/sites-enabled/ssl


Abbiamo aggiunto:


SSLEngine On


SSLCertificateFile / etc/apache2/apache.pem


Se si crea una cartella per aggiungere i siti rimarranno su tutte le linee in cui appare / var / www nome della cartella, quindi se creiamo una cartella chiamata websegura essere di questa forma:


/ Var / www / websegura


Anche modificare il file / etc/apache2/sites-enabled/000-default (o semplicemente di default, a seconda della versione):
sudo nano / etc/apache2/sites-enabled/000-default


e aggiungere:


Sotto NameVirtualHost *: 80 ->
NameVirtualHost *: 443

Sotto DocumentRoot / var/www/->
RewriteEngine on

RewriteLog / var/log/apache2/https_rewrite.log

RewriteLogLevel 1

SERVER_PORT RewriteCond% {} ^ 443 $

RewriteRule ^ / (. *) Https :/ /% SERVER_NAME {} / $ 1 [L, R]

Alla fine del documento->

<VirtualHost *: 443>

DocumentRoot / var / www

ErrorLog / var/log/apache2/error.log

CustomLog / var/log/apache2/access.log combinato

SSLEngine su

SSLCertificateFile / etc/apache2/apache.pem

</ VirtualHost>




Aprire il file / etc/apache2/ports.conf e vi trovarono la seguente, ma ha aggiunto:


Listen 80

Listen 443


Aprire il file / etc/apache2/apache2.conf e aggiungere alla fine:


ServerName 127.0.0.1


Infine riavviare il demone Apache:


sudo / etc/init.d/apache2 force-reload



Possibili problemi che possono insorgere nella configurazione:

  • Assicuratevi che i vostri file web hanno come proprietario www-i dati utente, non root, poiché cerca il / var / www ls-l e vedere chi possiede i file, per cambiarla: username sudo chown filename.
  • Controllare le autorizzazioni, in particolare il file / etc/apache2/apache.pem, cambiare i permessi su questo file o qualsiasi altro con chmod. La sua sintassi è il numero di file chmod. Esempio: sudo chmod 755 / etc/apache2/apache.pem.
  • Se tu avessi installato il pacchetto openssl installato: sudo aptitude install openssl
  • Dopo ogni cambiamento importante riavvia il demone Apache.





Per visualizzare il certificato SSL di operazione di scrittura in http://localhost/ il browser, abbiamo automaticamente reindirizzato al https ...

ssl

19 Commenti + Aggiungi commento

  • Ottimo articolo. Chiaro e conciso.
    Grazie

  • Grazie per la vostra opinione, Javier. Presto pubblicherà nuovi tutorial su Linux.

  • Hi avuto una domanda circa il tutorial come ho fatto io se configurato per rispondere alle richieste dal nome https://www.apachessl.com . Dove sarebbe quella direzione.
    Grazie

  • Ruben, ho la sensazione che si desidera che il server è visibile dall'esterno della rete, che è una questione di DNS. Check out questa pagina se si potesse servire:
    http://www.no-ip.com

  • Ringrazio tutti e che questo strumento può raggiungere molti obiettivi Sono nuovo di linux mi sta costando un piccolo posto tutte le procedure, ma conservano ancora un problema, l'errore di ruben @ Ruben cedimento-laptop: ~ $ sudo / etc / init.d/apache2 force-reload
    [Sudo] password per Ruben:
    apache2: Errore di sintassi in linea di 297 / etc/apache2/apache2.conf: Includere prende un argomento, il nome del file di configurazione da includere
    Fail ...!
    Non riesco ad aprire il apache2

  • Reuben ti dà l'errore alla fine del file, senza vedere quanto posso dirvi è che si controlla la fine del file non hanno modificato o eliminato qualcosa che non dovrebbe, di copiare le ultime righe del mio file apache2.conf che ora è quasi commovente confrontare:

    # Include delle directory ignora editori 'e dpkg file di backup,
    # Vedi README.Debian per i dettagli.

    # Include frammenti di dichiarazioni generiche
    Include / etc/apache2/conf.d /

    # Include le configurazioni host virtuali:
    Include / etc/apache2/sites-enabled /

  • ciao amico seguire il tuo tutorial e quando ho inviato il reiciar Apache FAIL in rosso come posso vedere dove questo errore tutto isntale q hai detto alla fine dell 'Istituto e modificare le autorizzazioni, ma penso ancora che la stessa q q è grazie per il tutorial

  • Ciao amico di seguire il vostro step tutorial per montare il q ssl sul mio server ce l'ho con Ubuntu 8.04 server, ho fatto tutto come dici tu e verificare quali errori tmb q può avere i permessi e tutto ciò che ti ho fatto attivare i moduli, ecc Ottengo l'errore è q q apache restart quando ricevo in I FAIL roojo nessun errore di avvio .. Ora lei q q gli errori in error.log è alamcenan e mi dicono non ci porblemas q con mod_rewrite. TMB come fa il vostro Istituto con il comando apache2-ssl-certificate e lasciare come segue nel nulla fondo ma generare il pem letto in un altro forum che Ubuntu q comando è stato sostituito dalle seguenti linee.:

    openssl genrsa-des3-out server.key 1024
    # Openssl rsa-in server.key-out server.pem
    # Openssl req-new-key server.key-out server.csr
    # Openssl x509-req-days 360-in-server.csr server.key-out server.crt signkey

    ora questo è il mio errore ho q non mi vuole fuori, mettendo queste righe ho voluto provare meglio chiedere haver q ho fatto male, per vedere se posso aiutare o guidare me

    grazie per l'attenzione ..

  • Ciao crisx in linea di principio con le due forme che ho per creare il certificato non avrebbe avuto un problema. Sarei grato mi incolla qui il log di Apache, si può fare con questo comando:
    cat / var/log/apache2/error.log

  • grazie per la risposta buon amico di nuovo server di reintale. e questo ho in error.log

    [Wed Mar 18 11:30:49 2009] [notice] Apache/2.2.8 (Ubuntu) configurato - Operazioni normali di approfondimento

    [Mer 18 mar 11:31:56 2009] [notice] SIGUSR1 ricevuto. Fare restart graziose

    [Wed Mar 18 11:31:56 2009] [notice] Apache/2.2.8 (Ubuntu) mod_ssl/2.2.8 OpenSSL/0.9.8g configurato - Operazioni normali di approfondimento

    [Mer 18 mar 00:34:14 2009] [notice] SIGUSR1 ricevuto. Fare restart graziose

    [Wed Mar 18 00:34:15 2009] [notice] Apache/2.2.8 (Ubuntu) mod_ssl/2.2.8 OpenSSL/0.9.8g configurato - Operazioni normali di approfondimento

    [Mer 18 mar 00:34:31 2009] [error] [client 192.168.1.74] Il file non esiste: / var / www / favicon.ico

    [Mer 18 mar 00:34:34 2009] [error] [client 192.168.1.74] Il file non esiste: / var / www / favicon.ico

    [Wed Mar 18 12:35:14 2009] [notice] Apache/2.2.8 (Ubuntu) mod_ssl/2.2.8 OpenSSL/0.9.8g configurato - Operazioni normali di approfondimento

    [Mer 18 mar 12:41:30 2009] [notice] SIGUSR1 ricevuto. Fare restart graziose

    [Wed Mar 18 12:41:30 2009] [notice] Apache/2.2.8 (Ubuntu) mod_ssl/2.2.8 OpenSSL/0.9.8g configurato - Operazioni normali di approfondimento

    [Mer 18 mar 13:00:52 2009] [notice] SIGUSR1 ricevuto. Fare restart graziose

    [Mer 18 mar 13:00:53 2009] [warn] certificato del server RSA è un certificato CA (BasicConstraints: CA == true)

    [Mer 18 mar 13:00:53 2009] [warn] RSA server di certificazione CommonName (CN) `cristiano 'non corrisponde al nome del server?

    [Mer 18 mar 13:00:53 2009] [warn] certificato del server RSA è un certificato CA (BasicConstraints: CA == true)

    [Mer 18 mar 13:00:53 2009] [warn] RSA server di certificazione CommonName (CN) `cristiano 'non corrisponde al nome del server?

    [Mer 18 mar 13:00:53 2009] [error] tentativo illegale di ri-inizializzare SSL per il server (teoricamente non dovrebbe accadere!)

    [Mer 18 mar 13:02:15 2009] [warn] certificato del server RSA è un certificato CA (BasicConstraints: CA == true)

    [Mer 18 mar 13:02:15 2009] [warn] RSA server di certificazione CommonName (CN) `cristiano 'non corrisponde al nome del server?

    [Mer 18 mar 13:02:15 2009] [warn] certificato del server RSA è un certificato CA (BasicConstraints: CA == true)

    [Mer 18 mar 13:02:15 2009] [warn] RSA server di certificazione CommonName (CN) `cristiano 'non corrisponde al nome del server?

    [Mer 18 mar 13:02:15 2009] [error] tentativo illegale di ri-inizializzare SSL per il server (teoricamente non dovrebbe accadere!)

  • [Mer 18 mar 13:02:15 2009] [warn] RSA server di certificazione CommonName (CN) `cristiano 'non corrisponde al nome del server?

    -La ragione per cui non funziona è perché corrisponde al ServerName con il nome di certificado.Comprueba che tutte le parti della configurazione vi darà lo stesso nome, in questo caso: cristian.En principio non vedo nessuna grave errore che non ti consente di avviarsi normalmente. Guarda cosa ho detto e mi dica.

  • ok grazie mille lo dimostra. :)

  • Ciao tali. Saluti dal Messico.

    Ho un problema durante l'avvio del servizio apache ottengo questo:

    mmorales @ 7426GX etc/apache2 :/ $ sudo / etc/init.d/apache2 force-reload
    apache2: Syntax error on line 281 / etc/apache2/apache2.conf: Errore di sintassi on line 53 / etc/apache2/sites-enabled/000-default: / etc/apache2/sites-enabled/000-default: 59 : non è stata chiusa \ n/etc/apache2/sites-enabled/000-default: 53.: non è stato chiuso.
    Fail ...!

    E ho fatto esattamente quello che offre nel post. Solo ho un dubbio, questa sezione sarà il vostro post:

    "Sotto NameVirtualHost *: 80 ->
    NameVirtualHost *: 443
    Sotto DocumentRoot / var/www/->
    RewriteEngine on "

    Sotto non deve essere più lungo nel file
    000-default non viene visualizzato nulla di simile NameVirtualHost *: 80

    Grazie per il vostro aiuto, vi ringrazio fin troppo, se rispondo.

  • Ciao Michael, prima di tutto spiace per rispondere. L'errore dice che sembra essere un errore di sintassi. Se mi ha messo qui e vediamo che il codice può essere.

  • Ciao sinceramente, quello che è successo a me quello che l'utente precedente ha detto Miguel Morales, ma in linea 49, si colpisce il codice che vedi.

    / / / / / Questo è ciò che getta / / / / / / /

    apache2: Syntax error on line 281 / etc/apache2/apache2.conf: Errore di sintassi on line 49 of / etc/apache2/sites-enabled/000-default: / etc/apache2/sites-enabled/000-default: 55 : non è stata chiusa \ n/etc/apache2/sites-enabled/000-default: 49.: non è stato chiuso.
    Fail ...!

    / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /

    # # # # # # # # # # # # 000-defaul codice # # # # # # # # # # # # # # #

    NameVirtualHost *: 443
    ServerAdmin webmaster @ localhost

    DocumentRoot / var / www /
    RewriteEngine on
    RewriteLog / var/log/apache2/https_rewrite.log
    RewriteLogLevel 1
    SERVER_PORT RewriteCond% {} ^ 443 $
    RewriteRule ^ / (. *) https://% {SERVER_NAME} / $ 1 [L, R]

    Opzioni FollowSymLinks
    AllowOverride None

    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow, deny
    consentono da tutti

    ScriptAlias ​​/ cgi-bin / / usr / lib / cgi-bin /

    AllowOverride None
    Opzioni + ExecCGI-MultiViews + SymLinksIfOwnerMatch
    Order allow, deny
    Allow from all

    ErrorLog / var/log/apache2/error.log

    # I valori possibili sono: debug, info, avviso, warn, error, crit,
    # Alert, emerg.
    LogLevel warn

    CustomLog / var/log/apache2/access.log combinato

    Alias ​​/ doc / "/ usr / share / doc /"

    Opzioni MultiViews indici FollowSymLinks
    AllowOverride None
    Ordina negare, permettono
    Deny from all
    127.0.0.0/255.0.0.0 Allow from :: 1/128

    DocumentRoot / var / www
    ErrorLog / var/log/apache2/error.log
    CustomLog / var/log/apache2/access.log combinato
    SSLEngine su
    SSLCertificateFile / etc/apache2/apache.pem

    # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

    Grazie da e

  • Ciao jv. Beh, io penso che sia perché è necessario mettere <VirtualHost *: 443> e </ VirtualHost>. Notate come l'ho impostato, e se non funziona mi ha colpito nuovamente l'errore. Un saluto.

  • buon amico, anche se ho seguito alla lettera di come, non funziona e prendere un giorno a questo e non riesco a trovare l'errore, q mi darai una mano?

    q questo è ciò che mi mostra il registro quando si esegue sudo nano / var/log/apache2/error.log:

    [Wed Aug 19 09:25:52 2009] [Avviso] Graceful riavvio richiesto, facendo restart
    [Mer ago 19 09:25:52 2009] [warn] deflate_module modulo è già caricato, saltando
    [Mer ago 19 09:25:52 2009] [warn] certificato del server RSA è un certificato CA (BasicConstraints: CA == true)
    [Mer ago 19 09:25:52 2009] [warn] RSA server di certificazione CommonName (CN) `Jesus Ferrer 'non corrisponde al nome del server?
    [Mer ago 19 09:25:52 2009] [error] tentativo illegale di ri-inizializzare SSL per il server (teoricamente non dovrebbe accadere!)

    per forzare l'errore di riavvio, ma non mi mostra eseguendo: sudo / etc/init.d/apache2 restart, ho muesta seguente:

    [Mer ago 19 10:58:09 2009] [warn] deflate_module modulo è già caricato, saltando
    [Mer ago 19 10:58:09 2009] [warn] deflate_module modulo è già caricato, saltando
    (98) Address already in use: make_sock: non poteva impegnare per affrontare 0.0.0.0:443
    Non ascolto prese disponibili, chiudendo
    Impossibile aprire i registri

    sarebbe davvero lieti di aiutarvi mi saluti e grazie in anticipo.

  • Music-Ciao, credo che l'errore potrebbe essere qui:
    [Mer ago 19 09:25:52 2009] [warn] RSA server di certificazione CommonName (CN) `Jesus Ferrer 'non corrisponde al nome del server?

    Che ti dice il nome del server non corrisponde. Assicurarsi che tutti i file che gli danno lo stesso nome.

Lascia un commento