Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: cabryk 17 Ledna 2017, 14:37:49
-
Dobrý den.
Dostal jsem za úkol vystavit webovou stránku. Poběží virtuálně na ubuntu serveru. Html, css, php ani MySql nebude problém. Vidím ji u sebe na http://182.1.59.22/?a=a Narazil jsem na potíž u Apache.
Do /var/www/ jsem přidal soubor index.php
Když jsem se ho pokusil upravit, nejde to. Asi se bude "kešovat"
Zkusil jsem tedy:
cd /var/www/
ls -asl
touch /var/www/.htaccess
chown apache /var/www/.htaccess
vi /var/www/.htaccess
A do něj
<FilesMatch "\.(html|htm|js|css|php)>
FileETag None
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</FilesMatch>
Na slepo jsem zkusil i:
chmod a+x /var/www/index.php
chown ubuntu /var/www/.htaccess
sudo service apache2 restart
V nano /etc/apache2/apache2.conf
jsem nechal:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Přiznám se, že s Linuxem si netykáme, ale s google snad jsme na tom lépe. Bohužel musím odfiltrovat ostatní Linux distribuce a to se hledá těžko.
Moje prosba zní: Jak postupovat, abych mohl používat tento server pro webovou stránku. Vše dělám jako su.
Díky
-
Dobrý den.
Dostal jsem za úkol vystavit webovou stránku. Poběží virtuálně na ubuntu serveru. Html, css, php ani MySql nebude problém. Vidím ji u sebe na http://182.1.59.22/?a=a Narazil jsem na potíž u Apache.
Do /var/www/ jsem přidal soubor index.php
Když jsem se ho pokusil upravit, nejde to.
Co konkrétně nejde? Upravit ten soubor? V čem a jak ho upravuješ? Pod jakým uživatelem? Má uživatel právo k zápisu?
Ve webovém prohlížeči to opravdu upravit nepůjde.
-
Ve webovém prohlížeči to opravdu upravit nepůjde.
webovou stránku nedělám poprvé...
Pod jakým uživatelem? Má uživatel právo k zápisu?
Vše dělám jako su. Práva mám.
Upravit ten soubor?
Když upravím jiný soubor, je mi to k ničemu. (pomineme-li různé include, které tam nejsou)
V čem a jak ho upravuješ?
sudo nano /var/www/index.php
Co konkrétně nejde?
uložím, uloží se, ale html stránka (http://182.1.59.22/?a=a , v browseru) se nezaktualizuje (ani po [ctrl]+[f5] ) podle obsahu souboru..
-
uložím, uloží se, ale html stránka (http://182.1.59.22/?a=a , v browseru) se nezaktualizuje (ani po [ctrl]+[f5] ) podle obsahu souboru..
A je to totožná webová stránka? Nemělo by to být http://182.1.59.22/index.php (http://182.1.59.22/index.php)?
-
Já nedělám web poprvé, ta odpoveď se netýká problému. Ale abych byl maximálně detailní, a vyloučil zbytečné reakce:
ve složce /var/www/ je jedniný soubor index.php, nejsou zde ani složky.
Po prvním uložení se mi soubor v prohlížeči zobrazil tak jak jsem jej uložil. Zjdenoduším to.. ten soubor obsahoval "a", v prohlížeči bylo "a". (to je ok)
Soubor jsem znovu otevřel a vidím tam "a" (to je strávně), poté edituji a měním obsah na "ab", uložím, znovu otevřu a vidím "ab" (to je správně). Ovevřu v prohlížeči a vidím stále "a" a to je špatně. Upravuji pouze jediný soubor, a to ten původní, a to na serveru - zdroji.
Jinak
http://182.1.59.22/?a=a
http://182.1.59.22/index.php?a=a
http://182.1.59.22/
http://182.1.59.22/index.php
http://182.1.59.22/#kotva
http://182.1.59.22/index.php#cokoliv
je ta samá stránka. Takže toto problém není! (rewrite rule nikde nepoužívám, konfiguraci jsem poslal v prvním příspěvku). Navíc i toto jsem zkoušel (projít všechny) parametr za stránkou se dá použít i proti kešování.
-
Tak nějak mi nepřijde, že by webserver až tak moc kešoval.
Rozhodně by se keš měla smazat při restartu serveru.
Co je v logu? Jak v access, tak v error?
-
jenom takova poznamka.. asi neni moc good psat zde rovnou IP adresu ::)
-
jenom takova poznamka.. asi neni moc good psat zde rovnou IP adresu ::)
Tak tu IP používají v lan, sice to není lankový rozsah, ale jejich věc, že používají v lan indonéskou ip adresu. Hamachi taky používá ip adresy, které někomu patří.
-
A co ty logy? Našlo se něco?
-
IP adresa je ve vniřní síti, navíc stroj jede virtuálně, je určený pouze na test, tedy irelevantní k nastíněnému problému.
Logy, tam jsou jen tyto údaje:
sudo nano /var/log/apache2/error.log
[Tue Jan 19 7:29:25.011790 2017] [mpm_prefork:notice] [pid 10385] AH00163: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Tue Jan 19 7:29:25.011819 2017] [core:notice] [pid 10385] AH00094: Command line: '/usr/sbin/apache2'
sudo nano /var/log/apache2/access.log
xxx.xxx.xxx.32 - - [19/Jan/2017:7:30:54 +0100] "GET /test/ HTTP/1.1" 401 726 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0" - zkusil jsem soubor dát i do složky test, ale s odpovědí 404
V logách, tedy nic není. Zkusil jsem si nainstalovat phpmyadmin (kvůli "grafickému rozhraní") a to jede.
Zkusil jsem jinou instalaci (nový virtuální stroj s panenskou instalací Ubuntu serveru), bez problému upravuji, ale jsem ve složce /var/www/html.
Ta chyba asi bude v konfiguraci a cestě k souboru. Je jasné, že ji dělám já, ale zatím jsem ji nenašel.
Mimochodem soubor jsem i smazal a systém restartoval.. a vidím tam tu původní stránku.
-
No počkej, on Ti servíruje chybu 401 - Unauthorized, tj. pokud nebude provedena autorizace, klient si (asi) šáhne do své cache.
-
Já jsem si pročetl /etc/apache2/apache2.conf
# /etc/apache2/
# |-- apache2.conf
# | `-- ports.conf
# |-- mods-enabled
# | |-- *.load
# | `-- *.conf
# |-- conf-enabled
# | `-- *.conf
# `-- sites-enabled
# `-- *.conf
A ručně jsem upravoval sites-enabled a tam jsem nejspíš ten problém odhalil.. v cestě mi nesedělo lomítko (asi). Ještě to ověřím, ale mohlo by to být ono.
-
No počkej, on Ti servíruje chybu 401 - Unauthorized, tj. pokud nebude provedena autorizace, klient si (asi) šáhne do své cache.
Mylím, že by mě server vyhodil s tou chybou stejně jako 404 nebo 403, ale nešlel by do keše.
vypysovala by se takováto hláška:
Nemáte oprávnění prohlížet tuto stránku
-
@cabryk: Není to pravda - ověření na úrovni 401 si řeší zpracující script (případně server)
<?php
header('WWW-Authenticate: Basic realm="Cosi"');
header('HTTP/1.0 401 Unauthorized');
?>
Toto je test
Vyvolej si to PHP, vyskočí Ti přihlášení a do logu se zapíše 401. Zruš ho a normálně uvidíš "Toto je test".
Vůbec nevím, jaká by musela být kombinace s lokální cache, ale to je fuk :)
Pokud to jede, tak je to fajn.