config :
wifi ssh
sudo apt install mariadb-server mariadb-client
sudo mysql_secure_installation
sudo apt install php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-gd
sudo apt-get install openssl
Après openssl est installé, vous pouvez générer le certificat avec la commande suivante:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx.key -out /etc/ssl/certs/nginx.crt
Parfaite confidentialité secrète, qui génère des clés de session éphémères. Ce n'est pas entièrement nécessaire pour les communications internes.
sudo openssl dhparam -out /etc/nginx/dhparam.pem 4096
sudo nano /etc/nginx/snippets/self-signed.conf
ssl_certificate /etc/ssl/certs/nginx.crt; ssl_certificate_key /etc/ssl/private/nginx.key; ssl_protocols TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384; ssl_session_timeout 10m; ssl_session_cache shared:SSL:10m;
HTTP Strict Transport Security =⇒ nécessiterait une redirection permanente de HTTP vers HTTPS, vous devez donc vérifier que SSL fonctionne avant de l'activer.
Maintenant, modifiez votre configuration principale de nginx (généralement située à /etc/nginx/nginx.conf pour des sites uniques ou sous votre nom de domaine /etc/nginx/sites-available pour les serveurs multisites) et source l'extrait de code:
server {
listen 443 ssl;
listen (::):443 ssl;
include snippets/self-signed.conf;
server_name example.com www.example.com;
. . .
}
ssl_session_tickets off; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 5s; add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block";
ssl_dhparam /etc/nginx/dhparam.pem; ssl_ecdh_curve secp384r1;
server {
listen 80;
listen (::):80;
server_name example.com www.example.com;
return 302 https://$server_name$request_uri;
}
sudo service nginx restart