In questo articolo imparerai come installare il certificato SSL su CentOS 7.
SSL (Security Socket Layer) è un protocollo web utilizzato per proteggere il traffico verso il tuo server tramite crittografia. Significa che tutte le informazioni sono bloccate e possono essere raggiunte solo dal destinatario previsto.
Comunemente, l'e-commerce o i servizi finanziari online dovrebbero avere questo protocollo poiché memorizzano informazioni sensibili, come i dettagli delle carte di credito.
Tuttavia, il certificato SSL è in realtà obbligatorio per tutti i siti, per proteggere i dati riservati degli utenti, come credenziali di accesso, numeri di previdenza sociale, carte d'identità, ecc.
Fortunatamente, puoi ottenere facilmente un certificato SSL da un provider come COMODO SSL e Let's Encrypt, che verrà utilizzato nel nostro tutorial di installazione.
Installazione manuale di Apache
Prima di installare SSL, assicurati che Apache (software del server web) sia già installato sul tuo CentOS.
Puoi facilmente verificarlo digitando httpd -v quando si accede al server tramite SSH. Se Apache è installato, vedrai un risultato simile a quello qui sotto.
Fortunatamente su Hostinger, gli utenti possono scegliere se avere Apache preinstallato sui propri server o installarlo manualmente.
Su CentOS 7, Apache può essere installato tramite repository software immettendo questo comando sul terminale:
sudo yum install httpd
Ora per iniziare a usare Apache, digita:
sudo systemctl start httpd
Se vuoi che Apache si avvii automaticamente all'avvio, abilitalo con:
sudo systemctl enable httpd
Come installare il certificato SSL con Let's Encrypt
Let's Encrypt offre un certificato SSL gratuito. Diamo un'occhiata a come installarlo sul tuo server.
Importante! Usiamo "hostinger-dev-9.xyz " come il nostro sito di prova, ma devi cambiarlo con il nome del tuo sito.
Ti consigliamo di controllare prima il sistema solo per assicurarti che sia aggiornato.
yum -y update
Successivamente, avrai bisogno di mod_ssl per configurare Let's Encrypt.
yum -y install mod_ssl
Ora, configura Apache creando una cartella principale dei documenti per il sito Web.
mkdir /var/www/hostinger-dev-9.xyz
In questo passaggio è richiesto un file di configurazione dell'host virtuale. Puoi crearlo con nano e inserire le seguenti righe:
nano /etc/httpd/conf.d/hostinger-dev-9.xyz.conf
In nano, inserisci questo codice
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/hostinger-dev-9.xyz" ServerName hostinger-dev-9.xyz ServerAlias www.hostinger-dev-9.xyz.com ErrorLog "/var/log/httpd/test.error_log" CustomLog "/var/log/httpd/test.access_log" common </VirtualHost>
Sostituisci il proprietario di /var/www/hostinger-dev-9.xyz directory con il tuo utente apache in modo che possa riconoscere la directory
chown -R apache:apache /var/www/hostinger-dev-9.xyz
Installazione di Certbot
Prima di installare certbot, assicurati di avere un repository EPEL attivato inserendo questo comando:
yum -y install epel-release
Il prossimo passo è installare yum-utils
yum -y install yum-utils
Solo allora puoi installare certbot per Apache
yum -y install certbot-apache
Dopo aver installato certbot, eseguilo eseguendo:
certbot
Verrà visualizzato un messaggio che ti chiederà i nomi che desideri attivare https su:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apacheStarting new HTTPS connection (1): acme-v01.api.letsencrypt.org Which names would you like to activate HTTPS for? ------------------------------------------------------------------------------- 1: hostinger-dev-9.xyz 2: www.hostinger-dev-9.xyz ------------------------------------------------------------------------------- Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel):
Basta premere invio in modo che entrambi hostinger-dev-9.xyz e www.hostinger-dev-9.xyz verrà reindirizzato a https
Verrà visualizzato un altro messaggio:
Choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. ------------------------------------------------------------------------------- 1: No redirect – Make no further changes to the web server configuration. 2: Redirect – Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. ------------------------------------------------------------------------------- Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Seleziona il numero 2 per reindirizzare entrambi i nomi dei tuoi siti web a https.
You should see the output below if the process is done correctly ------------------------------------------------------------------------------- Congratulations! You have successfully enabled https://hostinger-dev-9.xyz and https://www.hostinger-dev-9.xyz You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=hostinger-dev-9.xyz https://www.ssllabs.com/ssltest/analyze.html?d=www.hostinger-dev-9.xyz -------------------------------------------------------------------------------
Rinnovo automatico del certificato
Un aspetto positivo dell'utilizzo di Let's Encrypt è che puoi impostare un rinnovo automatico del certificato.
Per impostare il rinnovo automatico, inserisci questo comando:
export EDITOR=/bin/nano
Imposterà nano come editor predefinito e ora può modificare il crontab :
crontab -e
In realtà, Let's Encrypt suggerisce di eseguire il processo cron di rinnovo automatico due volte al giorno. Per fare ciò, incolla questo comando e salva il crontab:
* */12 * * * /usr/bin/certbot renew >/dev/null 2>&1
Come installare il certificato SSL con Comodo
COMODO SSL è un fornitore di certificati SSL a pagamento. Con esso, gli utenti possono scegliere di crittografare il traffico del proprio server. Ecco come installarlo su CentOS 7
Scarica l'Intermedio (ComodoRSACA.crt ) e certificato primario (nome_dominio.crt ) e copiarli nella directory del server. Memorizzerà il tuo certificato e i file chiave.
Trova Apache config file. Di solito, il nome del file è httpd.conf o apache2.conf . Le posizioni comuni per il file sono /etc/httpd/ o /etc/apache2/ . Se non può essere trovato, l'alternativa è cercare utilizzando grep digitando il comando seguente:
grep -i -r "SSLCertificateFile" /etc/httpd/
Importante! Modifica "/etc/httpd/ ” nella directory di base dell'installazione di Apache.
Ora, se vuoi abilitare SSL sul tuo server, configuralo con il tuo
<VirtualHost 31.220.62.130> DocumentRoot /var/www/hostinger-dev-9.xyz ServerName www.hostinger-dev-9.xyz SSLEngine on SSLCertificateFile /var/www/hostinger-dev-9.xyz.crt SSLCertificateKeyFile /var/www/your_private.key SSLCertificateChainFile /var/www/ComodoCA.crt </VirtualHost>
- 31.220.62.130 :cambialo con l'indirizzo IP del tuo server
- File di certificazione SSL deve essere modificato nel file del certificato COMODO (ad esempio nome_dominio.crt)
- SSLCertificateKeyFile è il file chiave generato quando hai creato la CSR (Certificate Signing Request)
- SSLCertificateChainFile è il file di certificato intermedio COMODO (ComodoRSACA.crt)
È importante controllare il file di configurazione di Apache prima di riavviare. Se si verifica un errore di sintassi, Apache potrebbe non avviarsi affatto. Puoi digitare questo comando per assicurarti che tutto funzioni correttamente:
apachectl configtest
Dopo che tutto è stato verificato, riavvia Apache con il supporto SSL:
apachectl stop
e poi
apachectl start
Nel caso in cui Apache non si avvii con il supporto SSL, usa invece "apachectl playssl".
Conclusioni
SSL è necessario per proteggere il traffico sul tuo sito web, soprattutto se si tratta di transazioni. COMODO SSL e Let's Encrypt sono due provider che ti consentono di installare il certificato SSL su CentOS 7. Anche se l'installazione di uno dei due può essere complicata, ne vale la pena.