Pagina 1 di 1

Apache e virutal host dinamico

Inviato: lun 9 ott 2006, 0:31
da dapuzz
Salve,
Vorrei poter cornfigurare apache in modo tale che ogni utente possa accedere a .http://utente.indirizzo.com e che la directory corrispondente sia proprio /home/utente/public_html ad esempio come accade su altervista che ognuno accede ad utente.altervista.org...
Inoltre ho degli altri virtualhost che sono fissi, quindi non devono subire questo 'redirect', ma credo che mettendoli prima apache dovrebbe fermarsi al primo vhost che soddisfa il match

Non so proprio da dove cominciare, ho iniziato a leggere senza successo http://httpd.apache.org/docs/1.3/mod/mo ... alias.html
aiutatemi voi :D

Edit, forse ho trovato qui http://lists.evolt.org/archive/Week-of- ... 61461.html

Inviato: lun 9 ott 2006, 0:39
da dapuzz
Risolto proprio come spiegato nel link di sopra

Codice: Seleziona tutto

<VirtualHost *:80>
    UseCanonicalName Off
    VirtualDocumentRoot /home/%1/public_html
    ServerName *.indirizzo.com
    ServerAlias *.indirizzo.com
</VirtualHost>

Inviato: lun 9 ott 2006, 15:06
da dapuzz
Adesso mi si presenta un problema di dimensioni bibliche: la variabile del php $_SERVER['DOCUMENT_ROOT'] riporta il document root di apache e non quella definita nel VirtualDocumentRoot.

Anche su altervista succede proprio la stessa cosa :asd:

Inviato: lun 9 ott 2006, 20:38
da chrix
mi sembra una cosa normale visto la variabile $_SERVER['DOCUMENT_ROOT'] si riferisce alla home del server web, cosa ti dice invece la variabile ORIG_SCRIPT_FILENAME ( se scrivi un script phpinfo() dentro la home di un utente)?

Inviato: lun 9 ott 2006, 20:48
da dapuzz
Tutte le altre variabili sono apposto e indicano esattamente il path.
Quello che mi stupiva di più era che $DOCUMENT_ROOT.$PHP_SELF e $SCRIPT_FILENAME non sempre coincidono, proprio come in questo caso, quindi mi dovrò abituare a non usare quella variabile nei miei script ma a prendere il path in maniera diversa.

Dopo un po' di ricerche ho visto che non si può ovviare a questo 'inconveniente', a me sarebbe piaciuto "blindare" l'utente nella sua VirtualDocumentRoot. Ho risolto impostando l'openbasedir e mettendo come DocumentRoot una bella directory vuota così nessuno può fare danni :P