← Back to team overview

sslug-teknik team mailing list archive

Re: Automatisk opdatering af flere maskiner, uden at skulle downloade for hver maskine.

 

Preben Bille Brahe wrote:
Egon Andersen wrote:
<snip>

Nu har jeg så fået et problem med min Apache-server!

<citat>
Forbidden
You don't have permission to access /mirror on this server.
</citat>

Jeg har placeret mit mirror på en separat partition og vil egentligt sym-linke til dette mirror.


Samme setup her :-) Det gør jeg iøvrigt generelt, så er det nemt at skifte mellem test og produktion, bare ved at flytte symlinks - og det er nemmere ved upgrades af os, efter en nyinstallation skal der blot puttes passende links i /var/www/html.

Jeg har symlinket /var/www/html/mirror til /data/mirror

Jeg har bl.a. følgende

<Directory "/var/www/html">
        Options Indexes Includes FollowSymLinks
        AllowOverride AuthConfig
        Allow from all
        Order allow,deny
</Directory>


Hmm - skal Order ikke være _før_ Allow ? Se http://httpd.apache.org/docs-2.0/mod/mod_access.html#order
Ellers er den magen til min.

Jeg har indført ændringen, dog uden at det har afhjulpet problemet. Æv!


så jeg burde have givet adgang til brug af symlinks. Det virker også hvis jeg symlinker mellem directories der ligger under /var/www/html, men ikke hvis jeg symlinker til /ext1/mirror, som er placeringen af mit mirror.

Alligevel kan jeg i error-loggen læse:
Symbolic link not allowed: /var/www/html/talura/mirror


Hvor kom talura fra - hvad er din DocumentRoot ? Har du husket at restarte Apache _hver_ gang du har ændret i httpd.conf ?

http://www.talura.dk/ virker fint, http://www.talura.dk/talura findes ikke (404) - http://www.talura.dk/mirror giver også mig access denied (403).

Jeg anvender en række virtual hosts, hvor DocumentRoot er sat i forhold til hostnavnet.
Så domænet talura.dk har DocumentRoot /var/www/html/talura
Så er det nemt at huske ;-)

Og ja, jeg har lavet /etc/init.d/httpd restart

Jeg burde vel egentligt kunne lave DocumentRoot som /ext1/mirror, men så får jeg fejl ved restart af serveren!

Starter httpd: Warning: DocumentRoot [/ext1/mirror] does not exist

Der virker altså som om Apache ikke kan lide at bevæge sig over på andre partitioner. Hmmm????

I en shell kan jeg fint skrive
cd /ext1/mirror
og jeg står hvor jeg ønsker.
Spookey!?


Jeg læser på apache.org at:
<citat>
Even though the server follows the symlink it does not change the pathname used to match against <Directory> sections.
</citat>

Men har det noget med mit problem at gøre? Det synes jeg ikke umiddelbart selv at det burde have.

Jeg har givet rettigheder 755 til /ext1/mirror, så jeg er ikke helt med på hvad det er der er årsagen til at det fejler.


Mit bedste bud er, at der er en misforstålse et sted i path (http://httpd.apache.org/docs-2.0/mod/core.html#directory) - check det omhyggeligt, prøv evt. at følge dit symlink fra en prompt, ender du der hvor du vil have Apache til at ende ?

Det virker fint fra en shell - jeg spadserer rundt som jeg forventer.
Fejlmeddelelsen siger jo også indirekte at mirror findes, men at det er access-rettighederne der driller.

Iøvrigt kan du overveje om du vil have separate log-filer til dine opdateringer - så du ikke tilter dine web-stats med dette :-) Jeg har mit mirror på en intern server - men du kan jo evt. lave en vitual host (mirror.talura.dk ?), så er logs nemme at styre.

Nemlig! Men jeg forsøger med så få ændringer som muligt, når jeg laver fejlfinding. Ændres på mere end een ting ad gangen, multipliceres fejlkilderne. Og når bare en simpel almindelig symlink kan drille....

Jeg er efterhånden ved at mistænke Apache for at have en fejl.
Jeg anvender Apache/2.0.52 (Fedora) - er din den samme?

Med venlig hilsen
Egon Andersen


Follow ups

References