Siamo in blog di amici, diceva qualcuno… ma stamattina ho fatto un grosso errore!
In pratica vi ho postato un articolo ma, non vi ho fornito un metodo per passare la connessione al cloud in https ovvero “sicura”, lasciando tutto alla mercé dei guardoni.
Quindi è logico riparare… iniziamo!sudo mkdir -p /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
Spiegone in breve:
req: specifica un sottocomando per la gestione della richiesta di firma del certificato X.509 (CSR).
-x509: questa opzione specifica che vogliamo creare un file di certificato auto-firmato.
-nodes: questo dice all’applicazione openssl che non vogliamo specificare una passphrase, una passphrase ci richiederà di inserirla ogni volta che Apache viene riavviato, il che è doloroso da gestire.
-days 365: indica il numero di giorni per i quali il certificato deve rimanere valido, dopo questo numero di giorni sarà necessario generare un nuovo certificato.
-newkey rsa: 4096: questo creerà la richiesta di certificato e una nuova chiave privata allo stesso tempo. Dovrai farlo poiché non abbiamo creato una chiave privata in anticipo. Rsa: 2048 dice a OpenSSL di generare una chiave RSA lunga 2048 bit.
-keyout: questo parametro indica il file di output per il file della chiave privata che si sta creando.
-out: questa opzione indica il file di output per il certificato che stiamo generando.
Vi si mostrerà una maschera con una serie di richieste, completatele es.Country Name (2 letter code) [IT]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [XXX]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
Abilitiamo il modulo ssl per il nostro apache:sudo a2enmod ssl
Modifichiamo il file di configurazione di apache:sudo nano /etc/apache2/sites-available/default-ssl.conf
E cambiamo:SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
In questo:SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
Rendiamo il nostro web “https” unicamente fruibile, ovvero sarà l’unico modo per raggiungere la pagina, dirottando tutto il traffico su canale sicuro ovvero https.sudo nano /etc/apache2/sites-available/000-default.conf
ServerAdmin [email protected]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
Infine abilitiamo il nostro conf e riavviamo apache con la nuova config:sudo a2ensite default-ssl.conf
sudo a2enmod rewrite
sudo service apache2 restart
Adesso il vostro NextCloud è attivo all’indirizzo: https://localhost/nextcloud