Come configurare apache2 con collegamenti simbolici in / var / www /?


14

Voglio installare un server web locale sul mio Ubuntu (14.04). Quindi ho installato tutto il software per ottenere un server LAMP.

Il problema è che faccio qualcosa di sbagliato nella creazione dei miei host virtuali. Volevo creare diversi sottodomini sul mio localhost. Ad esempio site1.localhost e site2.localhost.

Nella mia /var/www/directory ho creato un collegamento simbolico "site1" andando a /home/user/Workspaces/site1.

Nel mio file error.log di Apache ho ricevuto il seguente errore.

[core:error] [pid 12679] [client 127.0.0.1:59006] AH00037: Symbolic link not allowed or link target not accessible: /var/www/site1

Nella mia configurazione di Apache ho:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Quindi penso che ci sia qualcosa che non va nelle autorizzazioni delle cartelle. Ho cercato su Google e ho trovato alcune persone con lo stesso problema, ma tutte le risposte fornite lì non hanno funzionato. Ho aggiunto il mio nome utente al gruppo www-data e cose del genere.

Quindi ls -la /var/wwwritorna:

total 12
drwxrwsr-x  3 user www-data 4096 okt 13 19:08 .
drwxr-xr-x 14 root root     4096 okt  1 22:50 ..
drwxr-xr-x  2 root www-data 4096 okt  1 22:50 html
lrwxrwxrwx  1 root www-data   29 okt 13 19:08 site1 -> /home/user/Workspaces/site1/

e ls -la /home/juul/Workspaces/site1ritorna:

total 24
drwxrwxr-x 4 user www-data 4096 okt 13 18:21 .
drwxrwx--- 3 user user     4096 okt 13 17:31 ..
-rw-rw-r-- 1 user user        0 okt 13 18:21 index.html
drwxrwxr-x 4 user www-data 4096 okt 13 16:12 .metadata
drwxrwxr-x 5 user www-data 4096 okt 13 16:53 Project

Spero che qualcuno mi possa aiutare con questo :-)

Risposte:


5

Queste autorizzazioni impediscono apachedi accedervi

drwxrwx--- 3 user user     4096 okt 13 17:31 ..

Devi dare autorizzazioni di esecuzione per gli altri:

chmod o+x /home/juul/Workspaces/

(e forse anche su /home/juul/).


secondo la risposta di @muru, assicurarsi che tutte le directory che contengono abbiano il set di autorizzazioni "x". Se uno non ha, allora non funzionerà mai
dawez,

3

Ho un'installazione standard di Apache il 14.04. Non ci sono file o directory che specificano "www-data". Hai cambiato tutto da solo? Esistono molte informazioni obsolete o semplicemente errate su come configurare i server Web, quindi fai attenzione a chi segui e annulla ciò che non funziona.

Detto questo, "site1" dovrebbe essere nella htmldirectory e di tua proprietà. Non ha davvero bisogno di essere un collegamento simbolico; è possibile specificare una directory diversa nel file di configurazione. Qualcosa come questo:

# Add this to the end of the existing 000-default.conf file (after "</VirtualHost>")
<VirtualHost *:80>
    <Directory  /home/user/Workspaces/site1>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    DocumentRoot /home/user/Workspaces/site1
    ServerName site1
</VirtualHost>

1

Soluzione per: collegamento simbolico non consentito o collegamento target non accessibile: /var/www/html/mySymbolicLink .

Questo è chiaramente un problema con le autorizzazioni. Il problema è che l'html nella directory home è di proprietà dell'utente e il server apache è gestito da un altro utente, quindi non può accedere alla directory home.

La soluzione sarebbe quindi aggiungere l'utente che esegue apache al tuo gruppo, normalmente lo stesso del tuo nome utente. Quindi, nella mia scatola CentOS l'ho fatto come:

sudo usermod -a -G dev apache

Quindi questo aggiunge l'utente apache al gruppo dev. Ora devo dare i permessi di esecuzione.

In /home:

chmod g+x dev -R

Ciò garantirà l'autorizzazione all'esecuzione nella mia cartella solo per i membri del gruppo. E questo è tutto. Dovrai modificare l'utente Apache per qualunque cosa stia eseguendo il tuo server web, credo che per Ubuntu l'utente sia www-data.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.