web-dev-qa-db-fra.com

404 Introuvable - impossible d'accéder à la page de connexion après la mise à niveau vers ownCloud 9

J'ai essayé à la fois la mise à niveau du gestionnaire de paquets et une mise à niveau manuelle pour passer à la dernière version de ownCloud (9). Les deux méthodes aboutissent au même résultat. la page http://localhost/owncloud ne montre plus la page de connexion. Au lieu de cela, je reçois une page d'erreur 404 Not Found. Il se plaint:

L'URL demandée /var/www/owncloud/index.php est introuvable sur ce serveur.

mais ce fichier existe toujours, comme montré ici:

$ ll /var/www/owncloud/index.php
-rw-r--r-- 1 www-data www-data 2026 March  8 08:54 /var/www/owncloud/index.php

Cela, je ne comprends pas, mais je dois avouer que je sais très peu de choses sur php.

Si je restaure tout mon système à partir d’une sauvegarde, ownCloud 8 fonctionne à nouveau correctement. J'ai essayé (à nouveau) une mise à niveau manuelle à partir de cet état et le résultat est identique.

Pour être complet, voici les étapes que j'ai utilisées dans ma mise à niveau manuelle:

Sudo -u www-data php /var/www/owncloud/occ maintenance:mode --on

tar xjf owncloud-9.0.0.tar.bz2

Sudo service Apache2 stop

Sudo mv /var/www/owncloud /var/www/owncloud-old

Sudo cp -avr owncloud /var/www

Sudo cp backups/config.php /var/www/owncloud/config/config.php

Sudo service Apache2 start

Sudo chown -R www-data:www-data /var/www/owncloud

Sudo -u www-data /var/www/owncloud/occ upgrade

Sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off

Le error.log d'Apache2 ne montre pas de problème. Ce pourrait être un problème de configuration mais je ne possède pas l'expertise nécessaire pour comprendre pourquoi les OC 8 et 9 se comporteraient différemment. owncloud.conf est:

Alias /owncloud "/var/www/owncloud/"

<Directory "/var/www/owncloud">
    Options +FollowSymLinks
    AllowOverride All

    <IfModule mod_dav.c>
      Dav off
    </IfModule>

    SetEnv HOME /var/www/owncloud
    SetEnv HTTP_HOME /var/www/owncloud


</Directory>

<Directory "/var/www/owncloud/data/">
  # just in case if .htaccess gets disabled
  Require all denied
</Directory>

D'après les commentaires de fkraiem, comment puis-je m'assurer/savoir que mon serveur ne recherche pas /var/www/var/www/owncloud/index.php? EDIT: Après avoir effectué les opérations suivantes sur une machine virtuelle, le problème persiste, ce qui l’a probablement empêché:

cd /var/www
Sudo mkdir var
Sudo mkdir var/www
Sudo cp -avr owncloud var/www

/modifier

Est-ce un problème php, après tout? Comment puis-je commencer le dépannage en se basant sur les symptômes d'Apache indiquant qu'un fichier est introuvable, mais qu'il existe?

1
Tfb9

Il existe un outil de suivi pour ce problème à l’adresse https://github.com/owncloud/core/issues/2297 .

La solution de rechange pour le moment est l'édition du fichier /var/www/owncloud/.htaccess et la mise en commentaire de la ligne.

RewriteRule .* index.php [PT,E=PATH_INFO:$1]

ainsi

# RewriteRule .* index.php [PT,E=PATH_INFO:$1]

Enregistrez et à partir de la ligne de commande, faites Sudo service Apache2 restart.

J'apprécierais que chacun prenne le temps de m'expliquer ce que cette ligne est censée faire.

4
Tfb9