最新のownCloudバージョン(9)に移行するために、パッケージマネージャーのアップグレードと手動アップグレードの両方を試みました。どちらの方法も同じ結果になります。ページhttp://localhost/owncloud
にはログインページが表示されなくなりました。代わりに、404 Not Found
エラーページが表示されます。文句を言う:
要求されたURL /var/www/owncloud/index.phpがこのサーバーで見つかりませんでした。
ただし、次のように、このファイルはまだ存在します。
$ ll /var/www/owncloud/index.php
-rw-r--r-- 1 www-data www-data 2026 March 8 08:54 /var/www/owncloud/index.php
それは理解していませんが、PHPについてほとんど知らないことは認めます。
バックアップからシステム全体を復元すると、ownCloud 8は再び正常に動作します。この状態から(再度)手動でアップグレードを試みましたが、結果は同じです。
完全を期すため、手動アップグレードで使用した手順を以下に示します。
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
Apache2のerror.log
には問題はありません。構成の問題かもしれませんが、OC 8とOC 9の動作が異なる理由を理解する専門知識はありません。 owncloud.conf
は:
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>
Fkraiemのコメントに基づいて、サーバーが/var/www/var/www/owncloud/index.php
を探していないことをどのように確認/知ることができますか? EDIT:仮想マシンで次の操作を行った後、問題が解決しないため、おそらくこれは除外されます。
cd /var/www
Sudo mkdir var
Sudo mkdir var/www
Sudo cp -avr owncloud var/www
/編集
結局のところ、これはPHPの問題ですか?ファイルは見つからないが存在するというApacheの症状に基づいてトラブルシューティングを開始するにはどうすればよいですか?
https://github.com/owncloud/core/issues/2297 にこの問題のトラッカーがあります。
当面の回避策は、ファイル/var/www/owncloud/.htaccess
を編集し、行をコメントアウトすることです。
RewriteRule .* index.php [PT,E=PATH_INFO:$1]
そのようです
# RewriteRule .* index.php [PT,E=PATH_INFO:$1]
保存し、コマンドラインからSudo service Apache2 restart
を実行します。
その行が何を意味するのかを私に説明してくれた人に感謝します。