Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Hanva - 01.12.15 - klo:07.24
-
Onko apacepalvelimella jokin tietty standardi hakemistoille mihin tallennetaan html sivujen data. En saa millään näkymään html sivuilla kuvia vaikka yritän kuinka?
-
Tarkista asetuksista:
grep DocumentRoot /etc/apache2/sites-enabled/*
Siis tuo toimii jos apassi oletusasetuksilla, (tarkistin Debianista)
-
Ihan oikeassa kansiossa näyttäisi mulla index tiedosto ja kuvatiedosto olevan ja silti kuva ei näy kotisivulla. Siinä missä kuvan pitäisi olla on vain repäistyn dokumentin näköinen pikkukuvake ja kun sitä kilkkaa oikealla napilla ja valitsee näytä kuva niin tulee sivu missä lukee:
Forbidden
You don't have permission to access kuva.jpg on this server.
-
Millaiset käyttöoikeudet tiedostoilla on:
ls -l /var/www/
Onko kuvatiedosto oikeassa paikassa? Mitä Apachen loki kertoo?
-
Tällaista tarinaa tiedoston oikeuksista sain.
drwxr-xr-x 2 root root 4096 joulu 1 00:18 html
Kuva jonka pitäisi näkyä on tuossa html kansiossa...samassa kansiossa siis index.html:n kanssa.
-
Millaiset oikeudet html-kansiossa olevilla tiedostoilla on?
ls -l /var/www/html/
Miten tuo html-kansio toimii ulospäin, eli latautuuko index.html, kun menet osoitteeseen http://palvelin/ vai pitääkö mennä osoitteeseen http://palvelin/html/
Miten linkität kuvaan html-sivulta? Yrittääkö selain hakea kuvan oikeasta osoitteesta? Mitä Apachen loki kertoo?
-
Tais löytyä syyllinen...
-rw-rw-r-- 1 root root 105 joulu 1 00:17 index.html
-rw------- 1 root root 234672 marra 30 20:56 kuva.jpg
Tää kuva on siirretty winukan puolelta olisko tässä syy?.
Mites ton kuvan oikeudet pitäis muuttaa ja miten yleensä noiden oikeuksien kanssa kannattaa pelata www-palvelimella?
(Onneksi en ole vielä irtisanonut webhotellia....on näköjään hiukan opeteltavaa ennenkuin uskaltaa oman palvelimen varaan jättäytyä :) )
edit: index latautuu suoraan palvelimelta http://palvelin/
-
-rw-rw-r-- 1 root root 105 joulu 1 00:17 index.html
-rw------- 1 root root 234672 marra 30 20:56 kuva.jpg
Tää kuva on siirretty winukan puolelta olisko tässä syy?.
Mites ton kuvan oikeudet pitäis muuttaa
Anna kaikille käyttäjille lukuoikeus kuvaan:
sudo chmod a+r /var/www/html/kuva.jpg
ja miten yleensä noiden oikeuksien kanssa kannattaa pelata www-palvelimella?
Staattisilla sivuilla kannattaa pitää root omistajana ja kirjoitusoikeudet kurissa, niin web-palvelimen tunnus www-data ei pääse niitä muokkaamaan. Tällöin riski sisällön saastumiseen on hieman pienempi siinä tapauksessa, että joku onnistuu hakkeroimaan web-palvelimen, mutta ei saa root-oikeuksia.
Oikeudet on aina syytä tarkistaa ja korjata, kun siirrät uusia tiedostoja /var/www:n alle.
-
Toimii. Kiitoksia jälleen neuvojille.
-
Apache avaa niitä tiedostoja "www-data"-käyttäjänä. Aika käytännöllinen tapa välttää hankaluuksia on laittaa ryhmäoikeus periytymään niille tiedostoille joita kuskaat sinne html-kansioon. Eli jotain tähän tapaan:
sudo chown root:www-data /var/www/html
sudo chmod g+s /var/www/html
Tuon jälkeen aina kun siirrät jotain uutta tuonne html-kansion alle ne tiedostot saavat ryhmäkseen "www-data" ja Apache pystyy ne aukaisemaan.
-
sudo chmod g+s /var/www/html
Mitä toi s (g+s) tarkoittaa?
Man sivut eivät aukaisseet, vaikka sieltäkin se löytyi.
-
Se tarkoittaa ryhmän periytymistä. Jos se on laitettu päälle se näkyy pienenä "s" kirjaimena:
drwxr-sr-x 2 root www-data 4096 joulu 1 15:09 html
Kaikki tiedostot mitä tuon "html" kansion alle luodaan saavat ryhmäksi "www-data".
cd /var/www/html
sudo touch aaa
ls -l
-rw-r--r-- 1 root www-data 0 joulu 1 16:02 aaa
Vaikka "root" yllä loi tiedoston sen ryhmäksi tuli "www-data". Plussa asettaa päälle ja miinus vastaavasti ottaisi pois tuolla komennossa.
https://fi.wikipedia.org/wiki/Chmod (https://fi.wikipedia.org/wiki/Chmod)
-
Kannattaa kuitenkin tarkistaa oikeudet aina siirtojen jälkeen. Jos ryhmäksi haluaa määrittää www-datan, ryhmälle ei pidä antaa kirjoitusoikeutta staattisiin tiedostoihin. Se saattaa helposti lipsahtaa, jos tiedostoja siirtää tavallisena käyttäjänä, tai jos pääkäyttäjän umask (https://en.wikipedia.org/wiki/Umask) on jostain syystä 0002 eikä normaali 0022.
-
Se tarkoittaa ryhmän periytymistä. Jos se on laitettu päälle se näkyy pienenä "s" kirjaimena:
Kiitoksia. Hieno ominaisuus.