Skip to content

✉️ Discover TinkMail

Powerful email solutions for personal and business use

Get Started Free

Comment utiliser Nginx pour héberger un serveur de fichiers statiques

Nginx est un serveur web qui peut être utilisé pour héberger des fichiers statiques. Ce tutoriel décrit comment utiliser Nginx pour héberger un serveur de fichiers statiques.

Après avoir terminé ce tutoriel, vous serez en mesure de :

  • Parcourir les répertoires
  • Naviguer vers les sous-répertoires et les fichiers
  • Télécharger des fichiers via le navigateur

Configurer Nginx

Tout d'abord, vous devez avoir Nginx installé. Si vous n'avez pas installé Nginx, vous pouvez vous référer à d'autres tutoriels.

Après avoir installé Nginx, vous pouvez le configurer pour héberger un serveur de fichiers statiques. Vérifiez /etc/nginx/nginx.conf pour voir si le fichier de configuration est divisé en plusieurs fichiers. Vous pouvez utiliser la commande suivante pour l'ouvrir :

vi /etc/nginx/nginx.conf

Si vous pouvez voir include /etc/nginx/conf.d/*.conf; dans la section http, cela signifie que le fichier de configuration est divisé en plusieurs fichiers.

Vous pouvez utiliser la commande suivante pour créer un nouveau fichier de configuration :

vi /etc/nginx/conf.d/static-file-server.conf

Remarque : Vous pourriez avoir besoin d'utiliser sudo pour exécuter la commande ci-dessus. sudo vi /etc/nginx/conf.d/static-file-server.conf

Ensuite, ajoutez la configuration suivante au fichier :

server {
    listen       80;
    server_name  static-file-server.tinkink.net; # Changez pour votre nom de domaine

    root /path/to/your/static/files; # Changez pour votre répertoire de fichiers statiques

    autoindex on; # Activer la liste des répertoires

    location / {
        try_files $uri $uri/ =404;
    }
}

Ici, listen spécifie le port d'écoute, server_name spécifie le nom de domaine ou l'adresse IP, root spécifie le répertoire des fichiers statiques, et autoindex active la liste des répertoires.

location / correspond au chemin racine, try_files spécifie les fichiers à essayer, et renvoie une erreur 404 si le fichier n'est pas trouvé.

Redémarrer Nginx

Après avoir configuré Nginx, vous devez le redémarrer pour que la configuration prenne effet :

sudo systemctl restart nginx

ou

sudo service nginx restart

Accéder au site

Maintenant, vous pouvez accéder au site via le navigateur, par exemple : http://static-file-server.tinkink.net

Permissions

Assurez-vous que les permissions du répertoire sont correctement définies pour éviter les problèmes de sécurité. Comme nginx peut utiliser un utilisateur unique nginx pour s'exécuter. Vous devriez définir le propriétaire et le groupe du répertoire à ce groupe d'utilisateurs. Vous pouvez utiliser la commande suivante pour définir les permissions :

chown -R nginx:nginx /path/to/your/static/files

De plus, si le répertoire de fichiers statiques est situé dans le répertoire personnel de l'utilisateur, vous devez également vous assurer que le répertoire personnel et le répertoire de fichiers statiques ont les permissions d'accès correctes. C'est un peu compliqué, donc je vous recommanderai de déplacer le répertoire de fichiers statiques hors du répertoire personnel.

Si vous utilisez constamment des répertoires personnels, vous devrez ajouter l'utilisateur nginx à votre groupe d'utilisateurs. Vous pouvez utiliser la commande suivante :

usermod -a -G {username} nginx

Ensuite, vous devez ajouter des permissions au groupe. Vous pouvez utiliser la commande suivante :

chmod g+rwx /home/{username}

Remarque : Remplacez {username} par votre nom d'utilisateur.

Si cela ne fonctionne toujours pas, vous pouvez essayer de désactiver SELinux. Vous pouvez utiliser la commande suivante :

sudo setenforce 0

Si maintenant cela fonctionne, vous pouvez désactiver définitivement SELinux. Ouvrez le fichier /etc/selinux/config et changez SELINUX=enforcing en SELINUX=disabled, puis sauvegardez et redémarrez le système.

Conclusion

La mise en place d'un serveur de fichiers statiques avec Nginx est facile, mais si vous voulez mettre les fichiers dans le répertoire personnel, cela peut être un peu compliqué.