Portál AbcLinuxu, 15. května 2025 05:48

Dotaz: nelze nainstalovat redakční systém na localhost

3.12.2016 16:42 mica
nelze nainstalovat redakční systém na localhost
Přečteno: 313×
Odpovědět | Admin
Zdravím, chci na svém počítači vyzkoušet redakční systém (GetSimple), nicméně nemůžu ho nainstalovat. Podle instalačních instrukcí stačí překopírovat složku se soubory systému do adresáře pro obsah (čili /var/www/html/), pak do ní vstoupit prostřednictvím prohlížeče a instalace se má automaticky spustit. Mně se však v prohlížeči zobrazí jen zcela prázdná stránka a v konzoli se objeví 500 Internal Server Error.

Apache v error logu píše toto:
PHP Warning:  include(admin/inc/common.php): failed to open stream: Permission denied in /var/www/html/GetSimpleCMS-3.3.13/index.php on line 44, referer: http://localhost/
PHP Warning:  include(): Failed opening 'admin/inc/common.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear:') in /var/www/html/GetSimpleCMS-3.3.13/index.php on line 44, referer: http://localhost/
PHP Fatal error:  Call to undefined function exec_action() in /var/www/html/GetSimpleCMS-3.3.13/index.php on line 47, referer: http://localhost/
S PHP nemám žádné zkušenosti, takže na základě toho výpisu chyb nedokážu zjednat nápravu. Sice to na první pohled vypadá, že jsou nějaké problémy s přístupovými právy nebo cestami k souborům, ale co konkrétně to znamená, stejně nevím.

Děkuji za pomoc.

(Nevím, zda to k něčemu bude, ale pro úplnost - PHP mám nainstalované ve verzi 7.0.12.)
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.12.2016 17:02 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: nelze nainstalovat redakční systém na localhost
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nejprve bych zkontroloval, zda existuje soubor /var/www/html/admin/inc/common.php. Podle chybového hlášení tam chybí.

I ten index by měl být asi jinde - v /var/www/html/index.php
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
3.12.2016 19:54 NN
Rozbalit Rozbalit vše Re: nelze nainstalovat redakční systém na localhost
failed to open stream: Permission denied
Nechybi jen ma zle nastavena prava..
4.12.2016 10:41 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: nelze nainstalovat redakční systém na localhost
A také může být i někde jinde podle include path třeba /usr/share/php/admin/inc/common.php
4.12.2016 00:57 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: nelze nainstalovat redakční systém na localhost
Odpovědět | | Sbalit | Link | Blokovat | Admin

Pod jakým uživatelem a skupinou běží Apache? Řekněme, že http. Co třeba zkusit:

chgrp -R http /var/www/html
chmod -R u=rwX,g=rX,o= /var/www/html
chmod go+X /var{,/www}

Pozor také na symlinky; nastavení SymLinksIfOwnerMatch v Apache může vyžadovat chgrp -h http symlink, aby Apache následoval symlink; obecně jde o to, aby měl symlink stejného vlastníka i skupinu jako soubor nebo adresář, na který ukazuje.

5.12.2016 08:57 mica
Rozbalit Rozbalit vše Re: nelze nainstalovat redakční systém na localhost
Odpovědět | | Sbalit | Link | Blokovat | Admin
V seznamu procesů je několik procesů jménem apache2, jeden běží pod uživatelem root, ostatní ve skupině www-data (do níž jsem přidal i svého uživatele). Asi jsem měl napsat, že kromě PHP nemám zkušenosti ani s Apache. Navržené příkazy jsem zkusil, i když jim plně nerozumím, jen v prvním případě jsem http zaměnil za www-data. U druhého vyskočilo hlášení chmod: neplatná práva: „u=rwX,“.

Pokud jde o ty soubory index.php a common.php, ty se nacházejí v /var/www/html/GetSimpleCMS-3.3.13/index.php a v /var/www/html/GetSimpleCMS-3.3.13/admin/inc/common.php. Nějak nerozumím tomu, proč je PHP chce hledat v /usr/share/php/ (který mimochodem u mě neexistuje) nebo v /usr/share/pear/ (totéž, neexistuje), když jde o soubory distribuované s oním redakčním systémem, nikoli systémové soubory.
5.12.2016 15:22 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: nelze nainstalovat redakční systém na localhost

Jo, www-data bude ta správná skupina. Proces pod rootem tam je asi jenom proto, aby směl otvírat privilegované porty (443, 80 atp.) a pak forknout ty ostatní.

Navržené příkazy jsem zkusil, i když jim plně nerozumím…

Co takhle manuálové stránky?

U druhého vyskočilo hlášení chmod: neplatná práva: „u=rwX,“.

To hlášení říká celkem jasně, kde je problém. Navrhoval jsem práva u=rwX,g=rX,o= a nikoliv u=rwX, s čárkou na konci.

Nějak nerozumím tomu, proč je PHP chce hledat v /usr/share/php/…

Možná je potřeba potunit něco v konfiguraci php.ini. Kromě toho, pokud si vzpomínám, na některých implicitních Apache konfiguracích byla interpretace PHP vypnutá a musel se odkomentovat kus konfigurace v httpd.conf (nebo případně v některém z dalších konfiguráků Apache), jinak to dělalo podivnosti.

5.12.2016 16:12 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: nelze nainstalovat redakční systém na localhost
…potunit něco v konfiguraci php.ini…

To něco může být include_path a open_basedir, jak se teď dívám. Obojí jsou nastavení v php.ini. Nebo se taky dají potunit zdrojáky toho redakčního systému, když na to přijde; cokoliv je jednodušší/rozumnější. Viz například starý dobrý/špatný Drupal a jeho proměnná DRUPAL_ROOT.

(Podle původní chybové hlášky to vypadá, že interpretace PHP je povolená, takže v httpd.conf ani v php7_module.conf se (snad) vrtat nemusí.)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.