-
Configurazione Vhost
Mh! ho il seguente problema, macchina installata con debian7, apache2.2, php5.4, volevo iniziare a usare virtualhost, configuro vhost nel seguente modo:
Codice PHP:
<VirtualHost *:80>
ServerName *********
# Indexes + Directory Root.
DirectoryIndex index.html index.htm index.php
DocumentRoot /var/www/default/www/
<Directory /var/www/default/www/>
Options -Indexes -FollowSymLinks MultiViews
AllowOverride FileInfo Indexes
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/www/default/log/error.log
CustomLog /var/www/default/log/access.log combined
</VirtualHost>
Il mio dilemma è questo, se faccio un var_dump(scandir("/")); vedo la root, se provo a leggere un file sempre sotto la root riesco a leggerlo.
Naturalmente non riesco a creare nulla come file se non è sotto /var/www/default/www/ con i relativi permessi.
Che mi si riesca a vedere sotto la root mi preoccupa assai, ho cercato nei forum ma non ho trovato nulla per risolvere, qualcuno ha qualche idea?
Quello che vorrei riuscire a ottenere è che se gli dici var_dump(scandir("/")); ti da lo scandir di /var/www/default/www/ e oltre non può andare.
Thanks!
-
Ok, risolto! Quando cerchi le cose nel posto sbagliato naturale che non si trovano <.< pensavo fosse apache invece il problema era php.
Risoluzione:
in php.ini c'è il valore open_basedir, questa è la path oltre cui php non va di default. Settandola ecco che si restringono già i campi di azione.
Se poi c'è la necessità di avere un open_basedir diversificato per ogni virtualhost allora nel file di configurazione del virtual host si può utilizzare
Codice PHP:
php_admin_value open_basedir "/var/www/default/www/"
Da utilizzare sempre tra <Directory> </Directory>
Bye!