Portál AbcLinuxu, 2. května 2025 16:55
Řešení dotazu:
755(644) apache:apacheDebian chce www-data:www-data. Ak chces mat istotu (aka prava), tak do /var/www vytvor subor php s tymto obsahom a spusti pod browser. Nasledne precitaj si prava suboru, kt. vytvoril web-server.
<?php touch('subor.txt');
<?php // Zapnout logování ini_set('display_errors', 1); error_reporting(E_ALL); // Vyrobit 12KB soubor hned vedle tohoto skriptu file_put_contents(__DIR__ . '/soubor.txt', str_repeat("Hello world\n", 1024)); // Ukázat info o PHP phpinfo();Popisovaný problém vypadá, že server nezapisuje na disk. Pokud by však byla chybně oprávnění u souborů, Nextcloud by snad remcal trochu srozumitelněji a hlavně by to bylo vidět v té kontrole v administraci. Tam přímo říká, které soubory potřebuje zapisovat. Pokud nedrží ani session, bude problém spíš někde hlouběji v serveru. Není třeba disk připojený jako read-only? Nekecají do toho nějaká další oprávnění, která přišla kdo ví odkud?
.ocdata
, který tam před spuštěním instalace předpokládám nebyl, ale přitom to tiše hodí chybu do logu. To prostě nedává moc smysl (nemluvě o tom, že co jsem googlil, většinou NextCloud při chybějícím .ocdata
přímo reportuje chybu uživateli).
Podle mě to vypadá na problém spíš jinde, ale netuším kde (a proč to píše zrovna tuhle chybu). Podezíral jsem problém s databází, ale pokud ti to tam vytváří tabulky, jak píšeš níže, tak tím to taky nebude. Já bohužel s NextCloudem nemám zkušenosti a tohle vypadá spíš na nějaký specifický problém než na něco obecného. Asi bych prostě zkusil podat bug report. Ideálně to předtím ještě můžeš zkusit zreplikovat na čisté instalaci CentOS (a nebo aspoň přeinstalovat Apache, vč. odstranění původních konfiguráků).
Rekurzivně? Mně přijde divné, že kdyby byl problém s právy, tak to správně vytvoří ten souborAle dava zmysel..ocdata
, který tam před spuštěním instalace předpokládám nebyl, ale přitom to tiše hodí chybu do logu. To prostě nedává moc smysl (nemluvě o tom, že co jsem googlil, většinou NextCloud při chybějícím.ocdata
přímo reportuje chybu uživateli).
.ocdata
najít v existujícím datovém úložisti a na to si taky explicitně stěžuje v chybové hlášce zobrazené uživateli.
My zde máme případ, kdy soubor .ocdata
existuje – patrně jej vytvořil sám NextCloud, v opačném případě by se tazatel asi nepozastavoval nad tou chybovou hláškou, aniž by se zmínil o tom, že jej vytvářel ručně – ale NextCloud místo zobrazení uvedené chybové hlášky znovu spustí instalaci. Chyba se objevuje jen v logu a nevíme proč, protože pokud ten soubor NextCloud zvládnul vytvořit, měl by ho zvládnout i přečíst (resp. ověřit, že existuje).
v error logu apache pak client denied by server configuration: /cesta/nextcloud.pokus.cz/data/.ocdata
ten soubor existuje ale je prazdny
To je v pořádku, soubor .ocdata
má být prázdný [1]. Zkusil bych mu dočasně nastavit 777, jestli to nepomůže, a překontrolovat konfiguraci Apache.
Taky je ale ještě možné, že s tím tahle konkrétní chyba nesouvisí. Píšeš, že jsi zkoušel SQLite a MySQL. To funguje? V případě SQLite by to mělo někde vytvořit ten databázový soubor a v něm pak nějaké tabulky. U MySQL předpokládám vyplňuješ adresu a port běžící instance, tak se podívej do té.
ls -l data/.ocdata -rw-r--r-- 1 www-data www-data 0 Sep 22 19:17 data/.ocdata
✘ Centos 7.6 x64 (PHP 5.4.16) (vid.)
✔ Centos 8.2 x64 (PHP 7.2.24)
Ukladat som dal do SQlite.
Dependencies not found. PHP 7.2.0 is required. Please ask your server administrator to update PHP to version 7.2.0 or higher.Tazatel píše, že má PHP 7.2. Šlo by to vyzkoušet s ním?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.