Portál AbcLinuxu, 12. května 2025 10:41

Dotaz: Přesun adresáře webových stránek

5.10.2007 19:16 Sir Mikhail | skóre: 10
Přesun adresáře webových stránek
Přečteno: 655×
Odpovědět | Admin
Zdravím,

dostal se mi do ruky nový harddisk a tak jsem na něj chtěl přehodit webové stránky.

Původní umístění stránek s fotogalerií (používám apache, php, mysql) bylo /home/httpd/html, nové je /srv/html (/srv je mountpoint nového disku).

V httpd.conf jsem změnil existující hodnoty na

DocumentRoot "/srv/html" a Directory "/srv/html"> # tady je na zacatku pochopitelne <

Nemyslím že jsem měl měnit ještě něco, jisté ale je že od té doby mi nejede php. Stránky v běžném kódu se zobrazí, index.php je prázdná stránka. Chyba mysql to neni, to bych dostal error o nemoznosti spojit se s databazi. Projel jsem vetsinu konfiguraku (hlavne httpd.conf, php.ini, my.cnf) a snazil se pro jistotu najit chybny vyskyt adresy popr. neco jineho, ale bezvysledne.

Tusim ze je to nejaka blbost, ale nemuzu ji vypatrat.

Diky M.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.10.2007 19:18 Sir Mikhail | skóre: 10
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Odpovědět | | Sbalit | Link | Blokovat | Admin
http://michalurban.dyndns.org/

PS: Když nasměruji apache zpět na původní adresář, jede vše ok.
5.10.2007 20:05 outsider
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Staticke strankz jedou? Je neco v error logu apache?
5.10.2007 20:43 Sir Mikhail | skóre: 10
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Statické stránky jedou, ve /var/log/httpd/error_log jest:

[Fri Oct 05 20:28:02 2007] [error] [client 192.168.2.2] File does not exist: /home/httpd/html/galerie/template/yoga/local-layout.css, referer: http://michalurban.dyndns.org/galerie/template/yoga/layout.css
5.10.2007 21:41 outsider
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Kdyz apache hleda soubory v tom starem adresari (/home/httpd/), tak bude chyba temer urcite v konfiguraci apache.
5.10.2007 21:06 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tipoval bych, že je problém v nastavení přístupových práv. Buď na disku (že Apache ty soubory nevidí nebo nemůže procházet adresáře), ale spíš direktiva Allow v konfiguraci Apache, něco jako
<Directory /srv/html>
  Allow from all
</Directory>
5.10.2007 21:16 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Sorry, kecám, špatně jsem si to přečet. Tak je asi špatně nastaven interpret php a hledá ty soubory v původním umístění. Zkuste si nechat vyhledat v konfiguraci Apache a spol. tu původní cestu
find /etc/apache2 | grep '/home/httpd/html'
5.10.2007 21:30 Sir Mikhail | skóre: 10
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Konfiguraci apache a spol. myslim ridi HTTPD.CONF, MY.CNF a PHP.INI ... v tech se to /home/httpd/html nikde nevyskytuje ... kontroloval jsem to okem, ted znovu pres grep ... a nikde to tam proste neni ... :-/
5.10.2007 21:32 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Aby si server znovu načetl konfiguraci jste předpokládám zajistil. Tak jedině zkuste rozšířit hledání na celý adresář /etc, případně i /home, /var, /usr – někde to přeci být musí…
5.10.2007 21:37 Sir Mikhail | skóre: 10
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Mám pocit že něco v tom příkazu nebude úplně OK ... jako pokus - když jsem si v /tmp vytvořil soubor "a" v kterém byl jedinný znak "s" tak mi ho příkaz

find /tmp/ | grep 's'

nezobrazil ... zato mi zobrazil soubor /tmp/mysql.sock
5.10.2007 21:45 Sir Mikhail | skóre: 10
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
ono je to vlastne jasny proc ...
5.10.2007 21:50 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Existuje nějaký smajlík pro plácnutí se do čela? Tak já to zkusím ještě jednou, a pak jdu spát, protože mi to stejně už nemyslí…

Pokud chcete jen názvy souborů:
find . -exec grep 'home/…' {} -l \;
Pokud chcete i příslušný řádek:
find . -exec grep 'home/…' {} -H \;
5.10.2007 22:05 sirmikhail | skóre: 3
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Možná bych to zkusil jinak:

Pokud byste měnili adresář HTML pro apache, jak byste postupovali? :)
5.10.2007 22:28 outsider
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Pustil bych ten grep, abych zjistil, kde vsude je ta cesta "zadratovana" :-)
5.10.2007 22:55 sirmikhail | skóre: 3
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Takže výsledek jest
[root@mr_server etc]# find . -exec grep 'home/httpd/html' {} -H \;
./httpd/conf/original/extra/httpd-ssl.conf:DocumentRoot "/home/httpd/html"
./httpd/conf/original/httpd.conf:DocumentRoot "/home/httpd/html"
./httpd/conf/original/httpd.conf:< Directory "/home/httpd/html">
- original nevim k cemu je
./httpd/conf/extra/httpd-ssl.conf.pacsave:DocumentRoot "/home/httpd/html"
./httpd/conf/extra/httpd-ssl.conf:DocumentRoot "/home/httpd/html"
- extra taky nevim k cemu je
./httpd/conf/httpd.conf:    ScriptAlias /cgi-bin/ "/home/httpd/html/cgi-bin/"
- tadyta cesta k cgi-bin mi nevadi, ale ani kdyz jsem ji zmenil na /srv/html tak to nepomohlo
./httpd/conf/httpd.confo:DocumentRoot "/home/httpd/html"
./httpd/conf/httpd.confo:< Directory "/home/httpd/html">
- tomuhle taky nerozumim ale opet zmena nepomohla

Jinak tady je odkaz na mé soubory httpd.conf, php.ini, my.cnf.
5.10.2007 22:57 sirmikhail | skóre: 3
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Muze se stat ze ty moje stranky (tady) půjdou, ale to bude asi spis proto, ze je docasne vratim nazpatek na puvodni misto ... urcite sem napisu az se problem vyresi ...
5.10.2007 23:01 sirmikhail | skóre: 3
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Jeste jedno zjisteni, napadlo mne jestli nejde o spatne nastaveny disk, ale stejne se to chova kdyz presunu z /home/httpd/html do /html.

Jdu radsi spat .....
5.10.2007 22:40 sirmikhail | skóre: 3
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Nebo mě někdo pls odkažte na nějaký návod, ja na googlu nic nenasel ... i jsem zkousel nechat cesty tak jak jsou a na novy adresar hodit symlink, ale chova se to stejne ...
6.10.2007 07:17 Sir Mikhail | skóre: 10
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jsem to celý zkusil znovu a nic, v půlvodním umístění stránky jdou, jinde ne ...
6.10.2007 09:05 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Abych to zrekapituloval – když dáte do nového umístění stránku index.html, zobrazí se v prohlížeči správně. Když tam dáte index.php, zobrazí se prázdná stránka (ani zdrojoý kód PHP, ani žádná chyba). Možná by bylo dobré zjistit – co vlastně v takovém případě server odpoví. Buď si nechte ve Firefoxu zobrazit hlavičky, nebo se zkuste připojit telnetem
telnet michalurban.dyndns.org 80
GET /galerie HTTP/1.0
Host: michalurban.dyndns.org
<Enter>
<Enter>
Uvidíte, jaký návratovýkód dostanete (zda 200 OK, nebo něco jiného).

Zkusil bych pak ještě umístit tam soubor index.php (nebo třeba test.php a zkusit zobrazit rovnou ten, ať vyloučíte problém s welcome files), který bude mít jen jednoduché HTML nebo jen čistý text (bez PHP kódu), a pak případně zkusit soubor jen s funkcí phpinfo().

Taky můžete vyzkoušet přihlásit se jako uživatel, pod kterým běží web server (např. su apache) a zkusit si zobrazit příslušný soubor rovnou z disku (cat, view nebo něco podobného).
6.10.2007 10:09 Sir Mikhail | skóre: 10
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Telnet mi neběží a nechci tam přidávat další problematickou službu (= mít problémy s dalšími věcmi).

Co myslíte tím "zobrazit hlavičky ve Firefoxu"?

Jinak jsem tam dal test.php a situace je stejná. (Pokud ten odkaz funguje, tak mám asi zrovna stránky na starém místě).
6.10.2007 10:17 outsider
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Telnet byl vyse myslen jenom jako klient, ne server(sluzba).

Ta stranka test,php vraci kod 500 - internal server error. Prozkoumejte logy, kde najdete o teto chybe vice informaci. Pokud nenajdete, zvyste uroven logovani.
6.10.2007 10:58 Sir Mikhail | skóre: 10
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Tak logy apache mi nic neukázaly, aspon co by mi pomohlo access_log error_log

a logovani php se ted s jistejma problemama snazim spustit ... nevim kam se loguje ...
6.10.2007 11:17 Sir Mikhail | skóre: 10
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Tady je ještě výpis test.php když funguje ve starém umístění ...
6.10.2007 11:52 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
open_basedir v php.ini, tam přidejte ten adresář /srv/html. Můžu kliknout na vyřešeno? ;-)
6.10.2007 12:14 Sir Mikhail | skóre: 10
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Penebože, dokážete si představit že jsem na to 2x koukal a pokaždý jsem si řek, že tím to nebude, páč tam není celá cesta /home/httpd/html??????????

Díky moc, zachránil jste mi spoustu bílých vlasů!!!!! :)))))
6.10.2007 08:58 Jiří Veselský | skóre: 30 | blog: Jirkovo | Ostrava
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Odpovědět | | Sbalit | Link | Blokovat | Admin

Jak už vám tady někdo radil, když v konfigurácích už žádná reference na původní cesty není, tak to asi bude v přístupových právech... Ověřte si (porovnejte) nastavení práv na všech adresářích od / až k tomu adresáři s obsahem. Jo a mimochodem - nepoužíváte SELinux? Zkuste jej případně pokusně vypnout...

6.10.2007 10:09 Sir Mikhail | skóre: 10
Rozbalit Rozbalit vše Re: Přesun adresáře webových stránek
Pro jistotu jsem nastavil adresar /srv a /html a níž na 777 ale žádná změna.

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.