config : wifi ssh ====== Install NGINX et autres ====== 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 ====== Point d'accès ====== ====== Certificat SSL auto-signé : Openssl ====== 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 * Nouvelle clé privée RSA, le stocker dans /etc/ssl/private/nginx.key * Le certificat est stocké dans /etc/ssl/certs/nginx.crtet ==== Diffie-Hellman ==== 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 ===== Configurer Nginx pour utiliser votre clé privée et votre certificat SSL ===== 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; * Les deux premières lignes de cet extrait configurent nginx pour utiliser notre certificat auto-fabriqué * Le bloc suivant est les paramètres SSL généraux * Les deux dernières lignes configurent nginx pour utiliser notre groupe Diffie-Hellman 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; ==== redirection de HTTP vers HTTPS ==== server { listen 80; listen (::):80; server_name example.com www.example.com; return 302 https://$server_name$request_uri; } sudo service nginx restart * [[https://www.linuxcapable.com/how-to-install-phpmyadmin-with-lemp-on-debian-linux/]]