• Seedbox
  • nginx : Besoin d'aide sur utilisation des fichiers .conf

Bonjour à tous,

Je débute dans la construction d'un serveur perso depuis plusieurs mois, j'ai fait énormément de recherches et de tests, mais là je tourne en rond. Pouvez-vous m'aidez s'il vous plaît ?

J'ai installé ruTorrent en suivant le post de ex_rat https://mondedie.fr/d/10831-tuto-installer-rutorrent-sur-debian-10-nginx-php-fpm que je remercie au passage car tout fonctionne parfaitement.

La fenêtre d'authentification ruTorrent s'ouvre, quelque soit l'URL saisie : que ce soit mon.adre.sse.ip ou mon.adre.sse.ip/toto mais ça ne colle pas à ce que je veux faire : J'ai un site principal + ruTorrent + d'autres appli à venir.

Voici mon arborescence actuelle :

  • /var/www/monSitePrincipal qui devrait être le site par défaut quand je vais sur mon.adre.sse.ip ou sur mondomaine.com
  • /var/www/rutorrent qui devrait être accessible via mon.adre.sse.ip/rutorrent

Je ne maitrise pas trop bien les fichiers conf de nginx, mon erreur doit être quelque part ici.
Le fichier nginx.conf est tel qu'il est dans le tuto (non modifié).
Le fichier rutorrent.conf a également le contenu tel qu'il est dans le tuto :

server {
         listen 80 default_server;
    **ici je me demande server_name ne devrait pas être rutorrent.mondomaine.com ?**
    server_name _;
    
charset utf-8;
index index.html index.php;
client_max_body_size 10M;

access_log /var/log/nginx/rutorrent-access.log combined;
error_log /var/log/nginx/rutorrent-error.log error;
error_page 500 502 503 504 /50x.html;

auth_basic "seedbox";
auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd";

**je me demande si root ne devrait pas être /var/www/rutorrent ?**
root /var/www;

location = /50x.html {
    root /usr/share/nginx/html;
}
location = /favicon.ico {
    access_log off;
    log_not_found off;
}
location /rutorrent {
    try_files $uri $uri/ /index.html;
}
location ~ ^/rutorrent/(conf|share)/(.+)$ {
    deny all;
}
location ~ \.php$ {
    fastcgi_index index.php;
    include /etc/nginx/fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
location ~* \.(jpg|jpeg|gif|css|png|js|map|woff|woff2|ttf|svg|eot)$ {
    expires 30d;
    access_log off;
}
location = /MYUSERNAME {
    include scgi_params;
    scgi_pass 127.0.0.1:5001;
    auth_basic "seedbox";
    auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_myusername";
}
}

Par ailleurs, j'ai un créé autre fichier sitePrincipal.conf :

server {
   listen 80;
   listen [::]:80;
   
   **si c'est le site principal, ne devrais-je pas rajouter : default_server ?**
   root /var/www/sitePrincipal;
   
   index index.html index.php;
   server_name site.principal www.site.principal;
   
   access_log /var/log/nginx/sitePrincipal.access.log;
   error_log /var/log/nginx/sitePrincipal.error.log;
   
   location / {
        try_files $uri $uri/ =404;
    }
}

Avez-vous une piste à me proposer ? J'ai essayé plein de combinaisons dans les fichiers conf (avec location) mais j'aurais besoin d'être aiguillé sur les bonnes pratiques des fichiers conf.

Merci d'avance !!

Grievous06 a renommé le titre en nginx : Besoin d'aide sur utilisation des fichiers .conf.

Bonjour,

Personnellement je créé différents fichiers conf nginx uniquement pour chaque sous-domaine ou configuration de proxy. 😉

Tu n'as pas besoin de créer un sous dossier "monSitePrincipal" dans /var/www ni de créer un autre fichier conf de nginx donc.

Pour mettre l'authentification uniquement pour ruTorrent, il suffit de déplacer les 2 lignes avant "root /var/www;", donc :

auth_basic "seedbox";
auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd";

Dans "location /rutorrent", comme ceci :

location /rutorrent {
    auth_basic "seedbox";
    auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd";
    try_files $uri $uri/ /index.html;
}

Et ne pas oublier de redémarrer nginx bien sûr. 🙂

7 jours plus tard

Bonjour mic,

merci pour ta réponse que je n'avais pas vue (pourtant je pistais!).
Où devrais-je mettre le site principal dans ce cas ?
Et en cas de multi fichiers avec un domaine et des sous-domaines, est-ce que à chaque fois ça doit bien être :
#site principal
listen 80 default_server;
server_name mondomaine.com;
location : ?

#sous domaine
listen 80;
server_name sousdomaine.mondomaine.com;
location : ?

Tu aurais des exemples de fichiers conf s'il te plaît ?

Merci encore !

Tu configures ton site principal dans le fichier conf de ta seedbox (= du domaine/sans sous-domaine). 😉

Ce que je fais :

# fichier conf du domaine
listen 80 default_server;
server_name mondomaine.com;
root /var/www;

# fichier conf d'un sous-domaine
listen 80;
server_name sousdomaine.mondomaine.com;
root /var/www/sousdomaine;

Et dans le fichier conf du domaine, j'interdis l'accès à /var/www/sousdomaine :

location /sousdomaine {
    return 404;
}

🙂

2 mois plus tard

Bonjour Mic,

merci pour toutes tes réponses, j'ai mis un peu de temps à te faire un retour.
Tout est maintenant ok pour moi. A ce jour, mes infos de Domaine / sous-domaine sont dans le même fichier et n'ont pas fonctionné. Je ferais un essai de fichiers séparés un peu plus tard, en attendant je rajoute le répertoire dans l'URL.
Merci encore en tout cas !! 😄

Répondre…