403-fel i files-katalogen (ImageField)

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Itangalo's picture

Jag håller på att sätta i ordning en webbplats i undervisningssyfte, men gick på grund när jag skulle sätta i ordning bilder. Jag valde ImageField framför Image-modulen, eftersom jag tycker att det i allmänhet verkar vara rätt väg att gå.

När jag laddar upp bilder till en nod ger sidan plats för bilden, men ingen bild syns. Bilden sparas som den ska på servern (typ files/DSCN2970.JPG), och det är korrekta länkar på webbsidan.
Jag har lokaliserat felet till ett 403-fel - "Forbidden. You don't have permission to access /files/DSCN2970.JPG on this server." - men lyckas inte komma vidare. Vad jag kan förstå har jag rätt skriv- och läsrättigheter i katalogen, och jag ser inte vad annat som kan hindra mig från att läsa filen.
(Filsystemet är öppet/public.)

Hjälp, någon?

//Johan Falk, Uppsala

PS: Jag får dessutom White Screen of Death emellanåt utan att förstå varför - bilden jag laddar upp är 24K, 240x240 pixlar. Även om jag kör på ett budgethotell borde det väl inte vara några problem?

Comments

Tre saker att kolla

TBarregren's picture
  • Är webläsaren ägare till filen? Om ja, har user läsrättighet? Om nej, hör webbläsaren till filens grupp? Om ja, har group läsrättighet? Om nej, har other läsrättighet?
  • Finns en .htaccess fil mappen eller någon föräldramapp innehållandes ett direktiv som blockerar läsning, t.ex. Deny from all?
  • Finns det i din vhost:s konfigurationsfil ett direktiv som blockerar läsning, t.ex. Deny from all för mappen med filen eller någon föräldramapp?

Thomas BarregrenWebbredaktören

P.S. I vilket sammanhang får du white screen of death -- när du ladar upp filen, när du laddar ned filen eller för vilken sida som helst? D.S.

Hurra!

Itangalo's picture

Tack, tack, tack. Nu har jag 777-behörigheter på files-katalogen.
//Johan Falk, Uppsala

Ska man hurra när man har

ztyx's picture

Ska man hurra när man har 777-behörighet på en katalog? Det betyder att vilken användare som helst på servern har möjligt att skriva till din katalog. Kanske inte så bra...

Bättre lösning

TBarregren's picture

Risken att någon som ändå inte kan logga in som root skall komma åt filerna är ganska liten förutsatt att servern är vettigt uppsatt i övrigt. Men 777 är i alla fall, av princip, en riktig dålig idé.

Jag läste att det aktuella webbhotellet kör safemod (hu!) och då är enligt min erfarenhet den bästa lösningen att ändra filens ägare till webbservern och filens grupp till en man själv tillhör. Om du har shell access, eller något verktyg med motsvarande funktionalitet, så kan du göra så här:

  • Tag reda på namnet på en grupp till vilken du tillhör. Ett enkelt sätt att göra det är att köra ls -l och se vilken grupp som filer du har laddat upp har fått. I det fortsatta resonemanget antar jag att det helt enkelt är itangalo.
  • Tag reda på vilket användarnamn din webbläsare har. På Debian baserade distributioner, som t.ex. Ubuntu, är det som regel www-data.
  • Låt webbservern bli ägare till filen och ändra dess grupp till din egen genom att skriva chown www-data.itangalo myFile där myFile är namnet på filen.
  • Du kan nu ändra tillbaka behörigheten med chmod ug+rw,o-wr myFile.

Thomas BarregrenWebbredaktören

one.com?

LeTh's picture

Om jag inte missminner mig så använder du one.com?

enligt många och långa diskussioner på wp-support.se har väldigt många problem med uppladdning och/eller visning av bilder i WP just på one.com. Det är tydligen relaterat till att de kör php i safe-mode. Kan det vara samma orsak till problemet här?

edit: lite rättstavning. borde inte skriva utan glasögon...

/Lena

Safemod = dålig idé

TBarregren's picture

Safemod är en riktig dålig idé av flera skäl:

  • Det gör tillvaron väldigt krångligt, som framgår av Itangalos bekymmer
  • Varje filaccess kräver 1-2 extra anrop till filsystemet vilket kraftigt försämrar prestandan.
  • Men värst är att Safemod, namnet till trots, inte alls är säkert utan lätt att ta sig förbi.

Rasmus Lerdorf, som är PHP:s upphovsman, har sagt att "the biggest problem with safe mode is that people use it". :-) Läs också Ilia Alshanetskys PHP's safe_mode or how not to implement security.


Thomas BarregrenWebbredaktören

Fortfarande WSoD...

Itangalo's picture

Ska man hurra när man har 777-behörighet på en katalog? Nä, det ska man förstås inte... Men jag är glad att jag fått bilderna att visas, efter att ha joxat fram och tillbaka med dem ett tag, och finns det en anledning att fira tänker jag ta den. =)

Något som däremot inte löste sig är White Screen of Death. =(
När jag redigerar och sparar en nod laddas den snyggt och fint, men när jag laddar om nodsidan får jag WSoD. Samma sak när jag försöker ladda någon annan sida där noden visas - för tillfället endast förstasidan eller en taxonomibaserad lista.

Jag använder inte några fancy moduler, och tycker inte att jag borde ha slut på minne (även om jag använder budgethotell - jepp, one.com). Jag gissar som tidigare att det är ImageField eller CCK som strular. Om någon har tips på hur jag kan gå vidare vore jag mycket tacksam. Är till exempel Image-modulen mindre minneskrävande än ImageField?

Nu blir det sova. Det ser jag fram emot. Hej!
//Johan Falk, nu i Växjö

Video-fältet.

Itangalo's picture

God morgon.
Det är ju skönt när man kan svara på sina egna frågor. Jag slapp WSoD när jag tog bort CCK-fältet "Video". Trodde inte att det drog minne när det inte var något inlagt i fältet, men tydligen hade jag fel.

Så var det i alla fall.

//Johan Falk, nu i Växjö

.htaccess i files katalogen

larpal's picture

Vet inte om det har med ditt problem att göra men eftersom jag också använder mig av one.com så kan jag ju dela med mig av mina erfarenheter.

Ett problem som uppstod var att inga ändringar (vare sig av färger eller bilder) kunde göras i files katalogen och problemet var knutet till .htaccess filen. Då jag tog bort den gick det att göra en förändring varefter en ny .htaccess fil skapades som förhindrade vidare förändringar. Lösningen var helt enkelt att redigera .htaccess filen och kommentera ut samtliga rader i den. Eftersom det då fanns en .htaccess fil (även om den inte gjorde något) skapades ingen ny varje gång jag laddade upp bilder (tex via imageassist) eller ändrade färgerna på webbplatsen.