Installer Nginx + Webdav sur Debian 11
Publié le 3 min de lecture
Mis à jour le
Partie 4 sur 6
Dans cette série22 min de lecture au total
Pour disposer des modules nécessaires, vous devez installer nginx dans sa version complète :
sudo apt update && sudo apt install nginx-full- C’est fait ! Votre site est accessible dans votre navigateur à l’adresse
http://IP_de_votre_machine
Configuration WebDAV
- Ici nous allons éditer le fichier par défaut, mais nous pourrions très bien le copier et le renommer :
sudo cp /etc/nginx/sites-enabled/default /etc/nginx/sites-enabled/site.confsudo rm /etc/nginx/sites-enabled/defaultÉditer le fichier de configuration
sudo nano /etc/nginx/sites-enabled/site.confserver { listen 80 default_server; listen [::]:80 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html;
server_name _;
location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; }
location ^~ /webdav { auth_basic "realm_name"; auth_basic_user_file /var/www/.auth.allow; alias /var/www/html; autoindex on; autoindex_exact_size on; autoindex_localtime on; index file.html; dav_methods PUT DELETE MKCOL COPY MOVE; dav_ext_methods PROPFIND OPTIONS; dav_access user:rw; client_body_temp_path /var/www/tmp; client_max_body_size 0; create_full_put_path on;
}}-
Ligne 1-3Le serveur écoute sur le port 80. -
Ligne 5Définit le chemin de la racine du site internet (ou où se trouve votre index.html, par exemple). -
Ligne 18location ^~ /webdav {dit que pour atteindre/var/www/htmlje saisisl'ip ou le nom de ma machine+/webdav=http://172.16.30.30/webdavpar exemple. -
Ligne 20Définit le chemin du fichier d’authentification.
Créer le fichier d’authentification
Passer en root
Fenêtre de terminal su -Ajouter le nom d'utilisateur
Remplacez
userpar votre nom d’utilisateur :Fenêtre de terminal echo -n 'user:' | tee -a /var/www/.auth.allowDéfinir le mot de passe
Entrez votre mot de passe, confirmez, il sera affiché sous forme de hash.
Fenêtre de terminal openssl passwd -apr1 | tee -a /var/www/.auth.allowopenssl passwd -apr1 | tee -a /var/www/.auth.allow Password:Verifying - Password:$apr1$t.VOQfZL$bHLajKSa1gA34tgAVWA2l/Définir les permissions
Fenêtre de terminal chown root:www-data /var/www/.auth.allow && chmod 640 /var/www/.auth.allowActiver la compression gzip (optionnel)
La compression gzip est optionnelle et est déconseillée si le site utilise https.
Fenêtre de terminal sed -i '/gzip_/ s/#\ //g' /etc/nginx/nginx.confTester et redémarrer nginx
Fenêtre de terminal nginx -t && systemctl restart nginx