Logo
Installer Nginx + Webdav sur Debian 11
Overview
Installer Nginx + Webdav sur Debian 11

Installer Nginx + Webdav sur Debian 11

21 octobre 2021
12 janvier 2025
3 min de lecture
Un problème avec sudo ?
Danger (N'utilisez pas le compte root)

Si vous configurez votre serveur directement en tant que root, n’oubliez pas de retirer sudo de chaque commande.
Si vous définissez un mot de passe pour le compte root, la commande sudo ne sera pas acceptée. Connectez-vous directement en tant que root pour exécuter les commandes.
Vous pouvez aussi réinstaller votre système en laissant le mot de passe root vide lors de l’installation.
sudo s’installera et fonctionnera correctement.

➡️ Pour disposer des modules nécessaires, vous devez installer nginx dans sa version complète :

Terminal window
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

Tip

Créez un fichier de configuration pour chaque site, n’oubliez pas de changer le port, pour éviter d’avoir plusieurs configurations avec le même port.

  • Ici nous allons Ă©diter le fichier par dĂ©faut, mais nous pourrions très bien le copier et le renommer :
Terminal window
sudo cp /etc/nginx/sites-enabled/default /etc/nginx/sites-enabled/site.conf
sudo rm /etc/nginx/sites-enabled/default

Éditer le fichier de configuration

Terminal window
sudo nano /etc/nginx/sites-enabled/site.conf
/etc/nginx/sites-enabled/default
server {
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-3 Le serveur Ă©coute sur le port 80.

  • Ligne 5 DĂ©finit le chemin de la racine du site internet (ou oĂą se trouve votre index.html, par exemple).

  • Ligne 18 location ^~ /webdav { dit que pour atteindre /var/www/html je saisis l'ip ou le nom de ma machine + /webdav = http://172.16.30.30/webdav par exemple.

  • Ligne 20 DĂ©finit le chemin du fichier d’authentification.

Créer le fichier d’authentification

  • Passer en root
Terminal window
su -
  • Remplacez user par votre nom d’utilisateur
Terminal window
echo -n 'user:' | tee -a /var/www/.auth.allow
  • DĂ©finir le mot de passe de l’utilisateur :
    Entrez votre mot de passe, confirmez, il sera affiché sous forme de hash.
Terminal window
openssl passwd -apr1 | tee -a /var/www/.auth.allow
openssl passwd -apr1 | tee -a /var/www/.auth.allow
Password:
Verifying - Password:
$apr1$t.VOQfZL$bHLajKSa1gA34tgAVWA2l/
Tip

Vérifiez la configuration de l’utilisateur :

cat /var/www/.auth.allow
cat /var/www/.auth.allow
user_name:$apr1$9WppBYUH$L4S3jfDRXqfcAJ1mD93KD/

Définir les permissions du fichier d’authentification

Terminal window
chown root:www-data /var/www/.auth.allow && chmod 640 /var/www/.auth.allow

Activer la compression gzip (économise la bande passante)

La compression gzip est optionnelle et est déconseillée si le site utilise https.

Terminal window
sed -i '/gzip_/ s/#\ //g' /etc/nginx/nginx.conf

Tester et redémarrer nginx

Terminal window
nginx -t && systemctl restart nginx
Tip

Vous pouvez vous connecter au partage webdav (/var/www/html) en utilisant le lien (http://IP_serveur/webdav)