[NEXTCLOUD + NGINX ] 404 not found (résolu)

Applications, problèmes de configuration réseau
XunilunG
Hankyu
Messages : 11
Inscription : ven. 21 nov. 2014, 08:20

[NEXTCLOUD + NGINX ] 404 not found (résolu)

Message par XunilunG »

Bonjour à tous.

Le problème : quand j'accède à cloud.nimajneb.eu le serveur renvoie une erreur 404

Je pense à un problème de permissions ou de configuration du site dans nginx .... :?

Suite à une dizaine de tentatives (d'installations et de désinstallations) , je n'arrive toujours pas à faire fonctionner nextcloud sur nginx...
Je tente depuis une semaine énormément de modifications des fichiers de configuration mais rien n'y fait et au final, je m'y perds...
Ma compréhension globale de l'interaction nginx/mariadb/php-fpm-legacy s'est améliorée mais je manque de connaissances/pratique pour régler le souci tout seul comme une grand :(

J'ai suivi (normalement) à la lettre ce tutoriel : https://wiki.archlinux.org/title/Nextcloud
J'utilise la branche php-legacy pour éviter les conflits lors des futures mises à jour.

Je vous laisse quelques sorties de commandes pour commencer et j'éditerai pour ajouter selon vos demandes pour améliorer la compréhension du souci.

Je vous remercie par avance pour vos retours.
Navré de faire du bruit pour des soucis qui doivent vous sembler basiques à résoudre...


51peg_b.

Log suite à la requête du navigateur :

Code : Tout sélectionner

cat /var/log/nginx/error.log 
server: cloud.nimajneb.eu, request: "GET /login HTTP/1.1", host: "cloud.nimajneb.eu", referrer: "https://cloud.nimajneb.eu/"
2023/08/18 12:19:19 [error] 13853#13853: *4 open() "/usr/share/webapps/nextcloud/login" failed (2: No such file or directory),
En effet, le "fichier login" n'est pas présent dans /usr/share/webapps/nextcloud :

Code : Tout sélectionner

lsl /usr/share/webapps/nextcloud/
total 172
drwxr-xr-x 13 root root  4096 18 août  11:55 .
drwxr-xr-x  3 root root  4096 18 août  11:55 ..
drwxr-xr-x 45 root root  4096 18 août  11:55 3rdparty
drwxr-xr-x 50 root root  4096 18 août  11:55 apps
-rw-r--r--  1 root root 23796 10 août  23:36 AUTHORS
lrwxrwxrwx  1 root root    29 10 août  23:36 config -> /etc/webapps/nextcloud/config
-rw-r--r--  1 root root  4095 10 août  23:36 console.php
-rw-r--r--  1 root root 34520 10 août  23:36 COPYING
drwxr-xr-x 24 root root  4096 18 août  11:55 core
-rw-r--r--  1 root root  6317 10 août  23:36 cron.php
drwxr-xr-x  2 root root 12288 18 août  11:55 dist
lrwxrwxrwx  1 root root    32 10 août  23:36 .htaccess -> /etc/webapps/nextcloud/.htaccess
-rw-r--r--  1 root root   156 10 août  23:36 index.html
-rw-r--r--  1 root root  3456 10 août  23:36 index.php
drwxr-xr-x  6 root root  4096 18 août  11:55 lib
-rwxr-xr-x  1 root root   283 10 août  23:36 occ
drwxr-xr-x  2 root root  4096 18 août  11:55 ocm-provider
drwxr-xr-x  2 root root  4096 18 août  11:55 ocs
drwxr-xr-x  2 root root  4096 18 août  11:55 ocs-provider
-rw-r--r--  1 root root  3187 10 août  23:36 public.php
-rw-r--r--  1 root root  5597 10 août  23:36 remote.php
drwxr-xr-x  4 root root  4096 18 août  11:55 resources
-rw-r--r--  1 root root    26 10 août  23:36 robots.txt
-rw-r--r--  1 root root  2452 10 août  23:36 status.php
drwxr-xr-x  3 root root  4096 18 août  11:55 themes
drwxr-xr-x  2 root root  4096 18 août  11:55 updater
-rw-r--r--  1 root root   101 10 août  23:36 .user.ini
-rw-r--r--  1 root root   383 10 août  23:36 version.php
lrwxrwxrwx  1 root root    23 10 août  23:36 wapps -> /var/lib/nextcloud/apps
Fichier de conf du sous domaine :

Code : Tout sélectionner

cat /etc/nginx/sites-enabled/cloud.nimajneb.eu.conf

server {
    server_name cloud.nimajneb.eu;
    root /usr/share/webapps/nextcloud/;

    location = /favicon.ico {
      log_not_found off;
    }

    location ~ \.php(?:$|/) {

        # Required for legacy support
        rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri;

        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        set $path_info $fastcgi_path_info;

        try_files $fastcgi_script_name =404;

        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $path_info;
        fastcgi_param HTTPS on;

        fastcgi_param modHeadersAvailable true;         # Avoid sending the security headers twice
        fastcgi_param front_controller_active true;     # Enable pretty urls
        fastcgi_pass unix:/run/php-fpm-legacy/nextcloud.sock;

        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;

        fastcgi_max_temp_file_size 0;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/cloud.nimajneb.eu/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/cloud.nimajneb.eu/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
    if ($host = cloud.nimajneb.eu) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    server_name cloud.nimajneb.eu;
    listen 80;
    return 404; # managed by Certbot
}

Fichier de conf nextcloud :

Code : Tout sélectionner

cat /etc/webapps/nextcloud/config/config.php
<?php
$CONFIG = array (
  'datadirectory' => '/var/lib/nextcloud/data',
  'logfile' => '/var/log/nextcloud/nextcloud.log',
  'apps_paths' =>
  array (
    0 =>
    array (
      'path' => '/usr/share/webapps/nextcloud/apps',
      'url' => '/apps',
      'writable' => false,
    ),
    1 =>
    array (
      'path' => '/var/lib/nextcloud/apps',
      'url' => '/wapps',
      'writable' => true,
    ),
  ),
  'trusted_domains' =>
  array (
    0 => 'cloud.nimajneb.eu',
  ),

 'overwrite.cli.url' => 'https://cloud.nimajneb.eu/',
 'htaccess.RewriteBase' => '/',

  'passwordsalt' => '----',
  'secret' => '---',
  'dbtype' => '----',
  'version' => '27.0.2.1',
  'dbname' => '----',
  'dbhost' => 'localhost:/run/mysqld/mysqld.sock',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => ''----'',
  'dbpassword' => ''----'',
  'installed' => true,
  'instanceid' => ''----'',
);
Dernière modification par XunilunG le ven. 18 août 2023, 23:19, modifié 1 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17239
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [NEXTCLOUD + NGINX ] 404 not found

Message par benjarobin »

Bonjour, la configuration que tu donnes de Nginx me semble fausse, tu as trouvé cela où ? La documentation n'indique pas du tout cela.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
XunilunG
Hankyu
Messages : 11
Inscription : ven. 21 nov. 2014, 08:20

Re: [NEXTCLOUD + NGINX ] 404 not found

Message par XunilunG »

Bonjour et merci pour le retour benjarobin.

Effectivement, je n'ai pas copié/collé le fichier donné en exemple https://docs.nextcloud.com/server/lates ... nginx.html
Il contient beaucoup de lignes que ne comprends pas et dont je n'étais pas sûr d'avoir besoin.
J'ai cru bon de faire un peu plus simple...

J'ai créé un fichier minimaliste avec la directive root /srv/www/cloud.nimajneb.eu
Ensuite j'ai effectué la demande de certificats avec certbot.

Une fois fonctionnel, j'ai juste modifié la directive root pour pointer (si j'ai bien compris) vers le rep nextcloud root /usr/share/webapps/nextcloud
comme indiqué sur le wiki : https://wiki.archlinux.org/title/Nextcloud#Web_server

J'ai ajouté le code suivant pour indiquer la localisation des fichiers php
(mais je ne comprends PAS DU TOUT ce que ça signifie pour être honnête, surtout l'instruction rewrite ....)

Code : Tout sélectionner


    # Ensure this block, which passes PHP files to the PHP process, is above the blocks
    # which handle static assets (as seen below). If this block is not declared first,
    # then Nginx will encounter an infinite rewriting loop when it prepends `/index.php`
    # to the URI, resulting in a HTTP 500 error response.
    location ~ \.php(?:$|/) {
        # Required for legacy support
        rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri;

        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        set $path_info $fastcgi_path_info;

        try_files $fastcgi_script_name =404;

        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $path_info;
        fastcgi_param HTTPS on;

        fastcgi_param modHeadersAvailable true;         # Avoid sending the security headers twice
        fastcgi_param front_controller_active true;     # Enable pretty urls
        fastcgi_pass unix:/run/php-fpm-legacy/nextcloud.sock;

        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;

        fastcgi_max_temp_file_size 0;
    }

J'imagine que j'ai très mal suivi la doc contrairement à ce que je pensais :?: :roll:
Selon toi il vaut mieux copier/coller le fichier de la doc nextcloud (façon webroot et non sous-répertoire) dans son entièreté ?

Merci pour ton aide et le temps que tu accordes !
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17239
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [NEXTCLOUD + NGINX ] 404 not found

Message par benjarobin »

Tu dois suivre intégralement le Wiki d'Arch à la lettre et la configuration décrite ici : https://docs.nextcloud.com/server/lates ... t-of-nginx
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
XunilunG
Hankyu
Messages : 11
Inscription : ven. 21 nov. 2014, 08:20

Re: [NEXTCLOUD + NGINX ] 404 not found

Message par XunilunG »

Merci benjarobin.

Je m'y mets de suite.
Je posterai mes avancées sur cette discussion si ça ne dérange pas.

Merci encore.
51peg_b
XunilunG
Hankyu
Messages : 11
Inscription : ven. 21 nov. 2014, 08:20

Re: [NEXTCLOUD + NGINX ] 404 not found (solved)

Message par XunilunG »

C'est bon ...............

J'ai copié/collé le fichier de la doc nextcloud, ajusté les valeurs comme indiqué sur le wiki .
Désolé pour la médiocrité , mais surtout merci pour le coup de main !!

Problème suivant : il ne veut pas de mon utilisateur et de mon mdp :lol:

Merci encore pour l'aide benjarobin !!!
51peg_b

edit : je précise que j'ai quand même beaucoup essayé avant de poster ....
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17239
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [NEXTCLOUD + NGINX ] 404 not found

Message par benjarobin »

Je ne comprend pas ta question. Tu parles de quel utilisateur et mot de passe ?
As tu bien exécuté la commande "occ maintenance:install ...." décrite dans le Wiki. Via cette commande tu as spécifié un utilisateur et un mot de passe afin de créer le compte admin.
Tu dois te connecter avec ce compte admin.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
XunilunG
Hankyu
Messages : 11
Inscription : ven. 21 nov. 2014, 08:20

Re: [NEXTCLOUD + NGINX ] 404 not found (solved)

Message par XunilunG »

Oui désolé, le sujet initial est résolu.

Le but n'était pas de poser une nouvelle question sur ce fil, c'était juste une façon maladroite de dire que je passais à l'étape suivante.
Pour l'explication : j'avais entré le mauvais login, mais en renseignant "admin" c'est OK.

Je vais essayer de me familiariser avec occ , ça semble indispensable/pratique pour la maintenance.

Mettre de tels projets à portée c'est vraiment vraiment cool !!!
Ce qui me dérange c'est de ne pas tout comprendre dans le détail (comme les lignes dans location ~ \.php(?:$|/) par ex ) mais j'imagine qu'il faut savoir faire abstraction de certaines choses ....
Il y a tellement à apprendre ...

Merci pour l'aide benjarobin , j'espère pouvoir rendre la pareille un jour ...
Répondre