Trädvy Permalänk
Medlem
Plats
Solna
Registrerad
Mar 2005

"Directory Root" i Apache

Hej! Har precis dragit igång en server med Debian och håller på och leker runt lite. Nu har jag kommit till ett steg där jag ska dra igång Apache2.
Apache2 fungerar klockrent och jag installerade det genom pakethanteraren.
Problemet är nu att jag inte vill ha Directory Root på /var/www (alltså där filerna placeras för att synas på http://mittip). Jag har försökt söka runt lite, men inte hittat särskilt mycket.

Jag försökte med att redigera /etc/apache2/sites-available/default.
Hittade dessa rader (markerat med fet-text) som verkade lite smått intressanta.

<VirtualHost *>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www>

Jag försökte redigera dessa till /home/shares/allusers/www (där jag vill placera filerna), dock fungerar det inte. Det står att jag inte har access till filerna och lite annat krafts. Kör jag med /var/www fungerar det hur bra som helst.
Någon som har koll på hur jag går till väga, och om jag gör något fel

Tack på förhand.
/daniel

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Aug 2003

Problemet har nog med filrättigheter att göra. Apache körs vanligtvis som användaren apache och den användaren har förmodligen inte rättigheter att läsa filerna i /home/shares/allusers/www. Testa att köra chmod o+r -R /home/shares/allusers/www för att ge alla användare läsrättigheter i den katalogen. Alternativt kan du väl använda den katalogen som redan finns i /var/www.

I don't want to be human! I want to see gamma rays! I want to hear X-rays! And I want to - I want to smell dark matter!

Trädvy Permalänk
Medlem
Plats
Solna
Registrerad
Mar 2005
Citat:

Ursprungligen inskrivet av cable_guy6
Problemet har nog med filrättigheter att göra. Apache körs vanligtvis som användaren apache och den användaren har förmodligen inte rättigheter att läsa filerna i /home/shares/allusers/www. Testa att köra chmod o+r -R /home/shares/allusers/www för att ge alla användare läsrättigheter i den katalogen. Alternativt kan du väl använda den katalogen som redan finns i /var/www.

Tack för ditt svar! Anledningen till att jag vill flytta Directory Root är för att jag kört samba och har allt där. Så det jag är ute efter är egentligen bara att jag slänger över filerna i mappen, så ska det fungera i apache.

Din lösning fungerade dessvärre inte bra. Det står fortfarande att jag saknar access. Problemet är också att alla nyuppladdade filer måste chmodas om dem också. Detta kan bli jobbigt om jag vill upp med t ex ett forum och måste chmoda osv. Jag kör /var/www tills jag hittar någon annan lösning. Tack för ditt svar i alla fall

Trädvy Permalänk
Medlem
Plats
::1
Registrerad
Jun 2005

Kolla så att alla kataloger i katalogträdet från shares och neråt är o+rx, annars kan inte servern läsa/lista innehåll i katalogerna.

Trädvy Permalänk
Medlem
Plats
Laholm
Registrerad
Okt 2005

Har du Options Indexes i din mapp?

ASP.NET programmerare i C#
Twitter: http://www.twitter.com/hagbarddenstore

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Jul 2001
Citat:

Ursprungligen inskrivet av woicer
Problemet är också att alla nyuppladdade filer måste chmodas om dem också. Detta kan bli jobbigt om jag vill upp med t ex ett forum och måste chmoda osv. Jag kör /var/www tills jag hittar någon annan lösning. Tack för ditt svar i alla fall

Du kan sätta chmod-flaggor i smb.conf på nya filer/mappar som sparas.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jul 2004

prova ersätt raderna du pastade högst upp med följande:

<VirtualHost *:80>
ServerAdmin din@email.com
DocumentRoot /home/shares/allusers/www
<Directory "/home/shares/allusers/www">
AllowOverride None
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/httpd-error.log
CustomLog /var/log/httpd-combined.log combined
</VirtualHost>

Det där borde räcka.

Problemet i ditt fall tror jag är att de flesta färdig paketerade apache installationer innehåller någonstans i någon conf (beror på dist) ett direktiv som säger deny all på alla katalog utom den som är default. tex. /var/www

Du behöver därför göra ett undantag för din nya katalog du vill använda vilket du kan se jag gör i mitten av min conf.

Om du inte gjort några större förändringar i din smb.conf efter du installerat det vågar jag nästan lova att den lägger till filerna med rättigheten 755 vilket räcker mer än väl för att apache ska kunna läsa filerna så chmod/chown borde inte vara nödvändigt.

Trädvy Permalänk
Medlem
Plats
Umeå
Registrerad
Jan 2006

Testa också göra en:

chmod -R 755 /home/shares

Gigabyte-P35-DS4 | Intel Core 2 Quad Q6600 [3 GHz] | 2x1GB Corsair XMS-6400@800Mhz | Nvidia Geforce 460 GTX [975/2000 MHz] | Intel 320 Series 80 GB SSD | | SETI@Home Team: Sweclockers.com