View Full Version : Apache document root su altro server locale
Tephereth
05-08-2013, 16:27
Salve a tutti,
ho questa problematica e ringrazio in anticipo tutti quelli che vorranno aiutarmi:
in una rete locale ho un server che risponde all'ip 192.168.1.20 dove è installato un server Apache2 (con php5 e mysql5).
nella stessa rete locale ho un NAS che risponde al 192.168.1.6 con una cartella www nella root principale (/mnt/HDD1).
vorrei semplicemente che la document root (home directory) principale del server apache 192.168.1.20 puntasse alla cartella www del NAS 192.168.1.6
è possibile farlo?
ho provato a cercare ovunque soluzioni, ho tentato col virtual host, ho letto qualcosa sul mod_rewrite e mod_proxy ma ci ho capito quasi niente essendo poco pratico di server (faccio il programmatore web).
qualcuno potrebbe aiutarmi nella configurazione?
grazie mille :)
malatodihardware
05-08-2013, 18:05
Puoi installare apache\php sul nas 192.168.1.6 ?
Già con questa risposta ti si può aiutare molto di più..
Tephereth
05-08-2013, 18:24
no purtroppo.
il sistema è più complesso, lo avevo messo giù in maniera semplice perché pensavo ci fosse una soluzione rapida.
in realtà entrambi i sistemi sono già sulla stessa macchina:
la macchina fisica è quella all'indirizzo 192.168.1.6 dove vi è installato FreeNAS 9 (freeBSD).
per installare Apache/MySql/PhP su tale macchina con Freenas 9 è obbligatorio usare Jail.
ho attivato Jail che di suo crea un server virtuale co un indirizzo che ho settato su 192.168.1.20.
il problema è che la root dove si trova attaualmente la documentroot di apache è /usr/local/www/apache22/data
mentre, in realtà, la path completa dove si trova sarebbe /mnt/HDD1/jail/jail1/usr/local/www/apache22/data
ma se imposto quest'ultima come documentroot mi dice chiaramente che non esiste in quanto Apache vede la sua path partire da /usr essendo creato dentro a quel server virtuale.
non so se son riuscito a spiegarmi bene ma in pratica vorrei che la documentroot dell'Apache puntasse ad una cartella fuori dal server virtuale ma dentro il server fisico con Freenas e siccome che i due server (fisico e vortuale) hanno chiaramente due IP diversi pensavo di aggirare la cosa collegandoli via network.
scusatemi in caso mi fossi spiegato male... :muro:
antenore
05-08-2013, 21:40
Prova con il comando:
mount -bind /var/www /mnt/HDD1/jail/jail1/usr/local/www/apache22/data
Hai già provato creando un link simbolico al path?
Tasslehoff
05-08-2013, 23:30
Se per giochi di scatole cinesi o chroot vari non puoi far puntare la DocumentRoot di quel virtualhost fuori dal percorso dove si trova quel server virtuale, imho la soluzione più semplice potrebbe essere quella di esportare via nfs la directory che vuoi usare come DocumentRoot e poi montarla nella virtual machine in un percorso che possa essere usata come DocumentRoot.
Quindi (se ho capito bene la tua architettura)
sull'host con ip 192.168.1.6 esporti una directory (es /www)
sull'host 192.168.1.20 mount via nfs 192.168.1.6:/www in /usr/local/www/apache22/data
Però permettimi una piccola critica costruttiva rivolta non solo a te ma a questa tendenza di affidarsi tanto a distribuzioni dedicate trattandole come factotum, è un approccio che imho non paga e in molti casi complica la vita.
Con un server linux normalissimo quello che intendi fare è semplicissimo, con freenas e questo magheggio di vm, jail (che non conosco ma così a occhio mi ricorda una sorta di chroot) e altro diventa complicato.
Freenas va bene per esportare filesystem di rete (e in molti casi è una enorme complicazione rispetto a un semplice setup di samba o nfs), punto e basta; se lo si vuole forzare per fare da webserver allora imho ci si complica la vita e nient'altro.
Tephereth
06-08-2013, 11:42
Prova con il comando:
mount -bind /var/www /mnt/HDD1/jail/jail1/usr/local/www/apache22/data
fantastico! così posso manovrare e aggiornare tutto dalla cartella sulla root principale di freenas.
grazie mille, ottima idea!
per informazione e se a qualcun altro servisse specifico solo che il comando da usare per freenas non è mount -bind target_dir new_dir ma bensi mount_nullfs target_dir new_dir
ringrazio tutti, come al solito questo forum non fallisce mai.
@Tasslehoff: è chiaro che hai ragione ma in realtà sul sistema è montato FreeNAS proprio perché mi fa da NAS nella mia rete interna, il webserver è un'utilità opzionale e meno importante della principale ma che, anche grazie a voi, finalmente son riuscito a far funzionare con tutte le features che richiedevo. :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.