Premessa
Questo tutorial non intende in nessun modo sostituire la reference ufficiale di Apache, per cui descrizioni dettagliate delle singole parti dei files di configurazione possono essere trovate nel sito ufficiale di Apache.
Introduzione
Nella guida precedente abbiamo parlato dell’installazione e la configurazione di un server LAMP con Debian, Apache2, MySQL e PHP, passiamo adesso alla configurazione dei singoli virtual hosts (ovvero degli hosts virtuali).
Il VirtualHosting consente la gestione di più domini basandosi sul loro nome ma non sul loro IP ed è una pratica ampiamente utilizzata in quanto è facile immaginare il gap di guadagno semplicemente immaginando il costo di una farm costituita da una serie di server che ospitano ciascuno un dominio diverso ed un solo server che ospita diversi domini diversi. L’unico appunto che può essere fatto a questa metodologia di gestione è che effettivamente se si ha un dominio molto attivo esso potrebbe monopolizzare le risorse di sistema lasciando solo la rimanenza delle risorse agli altri domini hostati difatti questo tipo di configurazione abitualmente è utilizzata per ospitare domini che non generano traffico eccessivo.
Se avete seguito la guida sull’installazione e la configurazione di un server LAMP con Debian non è necessario altro infatti l’intento di questo tutorial è dare le basi per la configurazione dei virtual hosts.
Azioni preliminari per configurare Apache
Per prima cosa prendiamo nota della DocumentRoot impostata nel file di configurazione di Apache2 digitando:
cat /etc/apache2/apache2.conf | grep DocumentRoot
di default la DocumentRoot è /var/www e utilizzerò questo riferimento nel resto del tutorial, tuttavia può essere facilmente modificata editando /etc/apache2/apache2.conf cercando la riga contenente DocumentRoot (per esempio con vim vi basterà digitare /DocumentRoot ) e modificando il percorso (ricordatevi che dovete creare la directory interessata prima di procedere al riavvio di apache tramite il comando /etc/init.d/apache2 reload ).
Cerchiamo di configurare l’ambiente per un dominio generico che con un po’ di fantasia chiameremo miodominio.com . Adesso che conosciamo la nostra DocumentRoot possiamo creare una directory al suo interno:
mkdir /var/www/miodominio.com
che non renderemo pubblica ed una directory public che invece renderemo pubblica per cui:
mkdir /var/www/miodominio.com/public
creiamo anche una directory che useremo per l’utilizzo degli script CGI e vedremo in seguito come utilizzarla:
mkdir /var/www/miodominio.com/cgi-bin
I file di configurazione di Apache
Procediamo con la creazione del file di configurazione per il dominio che vogliamo configurare, quindi creiamo e cominciamo a compilare il file suddetto col comando
vim /etc/apache2/sites-available/miodominio.com
inserendovi il seguente testo che analizzeremo riga per riga:
<VirtualHost *:80 >
ServerAdmin webmaster@miodominio.com
ServerName www.miodominio.com
DocumentRoot /var/www/miodominio.com/public
Alias /phpmyadmin "/usr/share/phpmyadmin"
<Directory "/var/www/miodominio.com/public">
Order Deny,Allow
Allow from all
Options -Indexes
</Directory>
<Directory "/var/www/miodominio.com/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch -Indexes
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error_miodominio.net.log
LogLevel warn
CustomLog /var/log/apache2/access_miodominio.net.log combined
ServerSignature On
</VirtualHost>
procediamo all’analisi della configurazione di apache riga per riga:
<VirtualHost *:80 >
è il tag che indica che devono essere processate le richieste indirizzate alla porta 80 (che comunque è quella di default) di tutti gli IP configurati nella macchina
ServerAdmin webmaster@miodominio.com
serve per indirizzare correttamente le richieste di supporto in caso di errori (pagine mancanti, richieste con accesso negato, ecc)
ServerName www.miodominio.com
viene utilizzato per configurare il nome di dominio da gestire e che lo distinguerà dagli altri
DocumentRoot /var/www/miodominio.com/public
ci dice in quale directory saranno indirizzate le richieste di connessione per il nome di dominio specificato nella riga precedente ed è anche la directory che quindi dovrebbe contenere l’index
Alias /phpmyadmin "/usr/share/phpmyadmin"
in questo modo impostiamo un alias di dominio ovvero digitando sul browser www.miodominio.com/phpmyadmin verremo indirizzati a quella directory che contiene il software phpmyadmin e quindi potremo amministrare il database
<Directory "/var/www/miodominio.com/public">
con questo tag cominciamo la configurazione dei permessi della directory public
Order Deny,Allow
definisce l’ordine di processamento dei permessi; nella fattispecie prima le negazioni di servizio (nel caso ci dovessero essere) e poi gli accessi
Allow from all
siccome nel nostro esempio non ci preoccupiamo di negare l’accesso in quanto vogliamo che il sito sia perfettamente accessibile dall’esterno consentiamo l’accesso a tutti
Options -Indexes
serve per restituire un messaggio di errore se nella directory nella quale si tenta l’accesso non è presente un file index , ciò serve per evitare di rendere pubblico materiale al quale non sono presenti collegamenti diretti
</Directory>
chiude il tag aperto poco prima
<Directory "/var/www/miodominio.com/cgi-bin">
con questo tag cominciamo a configurare la directory che conterrà gli script cgi
AllowOverride None
con questa opzione diciamo esplicitamente ad apache di non leggere il file .htaccess anche se presente perchè di fatto in questa directory non serve
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch -Indexes
la descrizione di questa direttiva è un po’ più lunga delle altre perchè ci sono un paio di opzioni di cui parlare (rimando al sito ufficiale per la documentazione dettagliata ed in inglese). Con ExecCGI consentiamo l’esecuzione di scripts CGI se è abilitato il modulo mod_cgi; con -MultiViews facciamo in modo che quando viene richiamata tramite browser la directory /var/www/miodominio.net/cgi-bin/qualcosa e questa directory non esistesse apache NON (vedi il – antecedente l’opzione) cerca un qualunque file in /var/www/miodominio.net/cgi-bin/ del tipo qualcosa.* ; con +SymLinksIfOwnerMatch facciamo in modo che Apache segua i links simbolici di sistema contenuti in questa directory solo se il proprietario del file o della directory di destinazione è lo stesso utente proprietario del link ; la -Indexes l’abbiamo vista prima
Order allow,deny
Allow from all
</Directory>
queste tre righe le abbiamo analizzate prima
ErrorLog /var/log/apache2/error_miodominio.net.log
questa riga serve per specificare il file in cui scrivere gli errori di apache che vengono riscontrati dagli utenti in fase di navigazione; è bene impostare un nome di questo file diverso per ogni dominio per facilitarne la lettura
LogLevel warn
con questa opzione dichiariamo il livello “verbosità ” dei log e possiamo scegliere tra debug, info, notice, warn, error, crit, alert, emerg
CustomLog /var/log/apache2/access_miodominio.net.log combined
questa direttiva serve per tenere traccia delle richiesta al server apache
ServerSignature On
indica al server di includere la “firma” nel footer dei messaggi di errore, che include il nome del server ed il tipo di sistema operativo che si sta utilizzando
</VirtualHost>
questa indica la chiusura del tag VirtualHost
Completamento della configurazione di Apache
Per abilitare finalmente il nostro dominio sul server bastano due soli comandi
a2ensite miodominio.com
/etc/init.d/apache2 reload
col primo abilitiamo il nostro dominio creando un symlink a /etc/apache2/sites-available/miodominio.com in /etc/apache2/sites-enabled/miodominio.com e per disabilitarlo possiamo utilizzare i comandi
a2dissite miodominio.com
/etc/init.d/apache2 reload
ricordiamo sempre di ricaricare la cache di configurazione di apache ogni volta che viene modificato un file di configurazione.
Fatto ciò se i DNS sono aggiornati il nuovo sito sarà raggiungibile all’indirizzo www.miodominio.com.
salvo r0x 😀
se trovate errori o imprecisioni commentate che provvederò a correggere quanto prima 🙂
Ottima guida, e mi sembra anche perfettamente corretta 😉
Salve,
complimenti per la tua guida e grazie per averla resa disponibile.
Vista la tua competenza, se non ti dispiace, mi permetto di porti una questione appunto su Apache.
Se non è la sede adatta, perdonami.
Ho un problema con un sito ospitato su un server Apache 2.0 da Aruba.
Non sto ad entrare nei particolari che esulano dall’argomento del tuo tutorial, ma ho notato una cosa strana su vari siti di Aruba che sono tutti su server Apache.
In pratica se digito http://ftp.nomesito.estensione (sì lo so che è scorretto, ma seguimi lo stesso) mi arriva un messaggio del tipo:
http://ftp.nomesito.estensione
sito in costruzione
hosting su piattaforma Apache/2.0
Il fatto è che non sono siti in costruzione.
Dopo una serie di ricerche ho notato che succede su tutti i siti che Aruba ospita su Apache, mentre per quelli che ospita su IIS non succede e viene fuori un altro messaggio:
http://ftp.miosito.it
Server Status:
Server up
Che cosa ne pensi?
Se mi puoi dare un parere ti sarei molto grato.
Grazie, in ogni caso.
Saluti.
@Vincenzo: grazie per i complimenti 🙂
per quanto riguarda la questione di quei domini di terzo livello è possibile che abbiamo configurato solo con Apache di default i domini di terzo livello con nome http://ftp.nomesito.ext e quindi risultano raggiungibili dalla porta 80, in realtà secondo il mio modesto parere (lungi da me mettermi a paragone dei sistemisti di aruba) è un piccolo errore in fase di implementazione del servizio che rimanda alla pagina di default “Sito in costruzione”.
Non dovrebbe accadere, però non è nemmeno una cosa grave…
Grazie della lettura e torna a trovarci!
Ciao,
grazie davero per la risposta immediata.
Buon lavoro e torenerò a trovarvi di sicuro, visto che, tra l’altro, lavoro con GNU/Linux…
A presto.
Ciao a tutti, ho seguito questo tutorial ed il precedente. Tutto è andato liscio, ma alla fine digitando l’URL del dominio, come nell’esempio: http://www.miodominio.com
non succede nulla.
Ho problemi con i DNS? Se si come faccio a risolverli?
@Alessandro:
beh per usare: miodominio.com o comunque un dominio di secondo livello ci sono alcuni passi da compiere…
1) devi avere un IP (statico)
2) devi aver comprato un dominio di secondo livello
3) devi dire a chi ti ha venduto il dominio di secondo livello di puntare i suoi DNS al tuo IP (statico)
io adesso non conosco la tua situazione ma in alternativa se ti interessasse solo raggiungere un server dentro la tua LAN da una macchina anch’essa interna alla rete devi impostare nel router (o in un server DNS interno alla tua rete) un URL che punti al server web opportunamente configurato.
Se non dovessi avere un IP statico e un dominio di secondo livello puoi registrarti presso www . no-ip . com o a www . dyndns . com (ovviamente togliendo gli spazi) e puntare un dominio di terzo livello al tuo IP dinamico, il che è fattibile installando gli appositi tools che questi due siti mettono a disposizione e che periodicamente dicono al server qual’è il tuo attuale IP. Esiste (ed uso) il pacchetto no-ip per debian e lo puoi installare digitando da root:
apt-get install no-ip
e seguendo le istruzioni con un pò di dimestichezza con l’inglese riuscirai sicuramente a destreggiarti.
Spero di essere stato chiaro e soprattutto utile… fammi sapere com’è andata 😉
Proverò a fare come hai detto. Ovviamente io ho un indirizzo IP dinamico. Comunque se non ricordo male comprai un giornale dove c’era un intero articolo che spiegava come crearsi un dominio partendo da un IP dinamico, appunto citando www . dyndns . com
In ogni modo ti farò sapere…Ciao e grazie!
ciao ho letto la configurazione del server che ben hai descritto, ti chiedo una informazione, io ho installato wamp server “integrato” in teoria fa tutto da solo, ma ho inserito 2 siti sotto la directory c:/wamp/www/.. “sito1, sito2 , questi vengono visti da apache , ma se provo a collegarmi da esterno non riesco ad accedere al sito, mi sai dare una informazione grazie vittorio
@vittorio: anche per te è un problema di DNS, quindi ti consiglio di vedere il consiglio che ho dato ad alessandro un paio di commenti fa con la differenza che visto che (ahimè) stai lavorando con windows puoi scaricare direttamente dal sito di no-ip il tool per gestire il DNS per un dominio di terzo livello 🙂
Ciao, ho seguito la guida, molto ben dettagliata, ma continuo ad avere un errore:
sudo /etc/init.d/apache2 reload
* Reloading web server config apache2 [Fri Jun 13 11:34:49 2008] [error] VirtualHost *:80 — mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Fri Jun 13 11:34:49 2008] [error] VirtualHost *:80 — mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Fri Jun 13 11:34:49 2008] [warn] NameVirtualHost *:0 has no VirtualHosts
dove sbaglio? apache è su, vedo la root (It Works!), ma se chiamo i nomi dei siti configurati in virtualhost mi da questo errore..
tra l’altro la voce NameVirtualHost non la vedo in nessun file di configurazione..
mi puoi aiutare?
ciao grazie
Ciao, io non trovo la DocumentRoot ne in /var/www e nemmeno
nel file di configurazione di Apache.
Infine ho ricevuto questo errore:
akira@Amon ~ $ sudo /etc/init.d/apache2 reload
* Reloading web server config apache2 [Tue Jul 01 13:37:12 2008] [error] VirtualHost *:80 — mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[ OK ]
Ciao e grazie…
@devil & marco: DocumentRoot è un’impostazione del file di configurazione di Apache (
/etc/apache2/apache2.conf
) in genere questa impostazione di default è impostata su/var/www
per risolvere il secondo errore dovreste aggiungere allo stesso file di configurazione d i cui sopra la riga:
ServerName localhost
comunque sia vi consiglio di dare un’occhiata su:
http://www.oscene.net/site/sysadmin/web-server/howto-installazione-e-configurazione-di-un-web-server-lamp-linux-apache2-mysql-5-e-php5-su-debian
scusate il ritardo nella risposta…
Ciao,
provavo a configurare un primo VirtualHost sul mio server.
In Debian Etch la direttiva riguardante la DocumentRoot è nel file
/etc/apache2/sites-available/default
Gli errori riportati a luglio sono successi anche a me. Si tratta della contemporanea abilitazione del default con il nuovo sito:
sudo a2dissite default && sudo /etc/init.d/apache2 reload
mette in grado al nuovo sito di funzionare.A questo punto però il server mi risponde solo su http://miodominio.ext e non su www. Nel mio caso devo specificare un record CNAME nel tabella dei DSN con ‘www’ come host e ‘miodominio.ext’ come indirizzo.
ho seguito la guida ma quando faccio a2ensite mi dice che il sito non esiste sono su server virtuale debian etc ho il dominio acquistato e ovviamente ho l’ip pubblico statico dove posso aver sbagliato?
@Joe: hai eseguito il reload della configurazione come specificato da Dario?
/etc/init.d/apache2 reload
ciao a tutti o letto la guida e seguita passo x passo.
non sono pratico di queste cose nel senso che non ho mai avuto a che fare con linux, da poco ci smanetto, e le mie basi di teoria sulle reti si fermano alle superiori…
il mio problema sta che non sapendo che bisognava registrare un dominio del tipo dominiochevoglio.com quindi digitando nella barra del browser mi dava ovviamente errore. io ho un ip statico e un router netgear già configurato per le porte apache 80 e mysql. la mia domanda è : come faccio ora a “comprare” il mio dominio e a farlo funzionare? grazie spero di essere stato abb chiaro
mi sento di consigliare il piano “top name” di tophost che da un pannello decente per la gestione dei records del DNS
Grazie per questa utilissima guida. Bookmark subito!
Ciao e complimenti per la guida…e scusa se riapro dopo un pò..
mi trovo qui per la prima volta, facendo dell ricerche su google.
Spiego un pò il mio dubbio/problema: facccio riferimento alessandro e vittorio:
@Alessandro:
beh per usare: miodominio.com o comunque un dominio di secondo livello ci sono alcuni passi da compiere…
1) devi avere un IP (statico)
2) devi aver comprato un dominio di secondo livello
3) devi dire a chi ti ha venduto il dominio di secondo livello di puntare i suoi DNS al tuo IP (statico).
Premetto che uso Windows (quindi C/wamp/www) con piattaforma WP, il tutto inserito in una Lan/Intranet . spero ok finora!?
il sito è gia funzionante ed è raggiungibile es: http://www.miodominio.com, ma mappato (serverDNS è altrove), attraverso IP (ha detto al DNS che http://www.miodominio.com corrisponde all’ IP 1.1.1.1 ) ok..!?
Adesso ho bisogno di un altro sito, che ho già inserito (C/wamp/www/nuovosito), quindi in realtà è raggiungibile solo:
http://www.miodominio.com/nuovosito
Invece dovrebbe essere normalmente: http://www.nuovosito.it
come faccio..?!
PS: mi basta dire ai gestore del Server DNS che http://www.nuovosito.it, deve essere mappato con l’ IP 1.1.1.1/nuovosito..?! oppure..?!
Grazie davvero..
i
@Antonio: ti basta dire al tuo registrar DNS di puntare http://www.nuovosito.it a 1.1.1.1 senza bisogno di specificare la subdirectory in quanto dopo aver configurato nuovosito.it su apache esso esegue un redirect automaticamente al path del nuovosito 🙂
cerco di spiegare meglio:
Sito 1: miosito.it
DNS forwarda miosito.it -> 1.1.1.1
Sito 2: nuovosito.it
DNS forwarda nuovosito.it -> 1.1.1.1
devi configurare apache in modo da avere distinti files di configurazione per ogni sito che monti in modo da poter mostrare al richiedente il sito corretto anche dispondendo un solo IP
spero di essere stato abbastanza chiaro
ottima guida! mi permetto di chiederti una cosa
facendo un esempio facile, ho questo virtual host
ServerName admin.miosito.it
DocumentRoot “E:/web/admin.miosito.it”
Alias /foto “E:/web/files/foto”
ora, se digito da browser http://admin.miosito.it/foto mi riporta alla directory che ho specificato come alias, e fin qui tutto ok!
solo che non mi funzionano gli upload dei file, forse c’è qualche problema di protezione perchè la cartella è all’esterno?
se nella pagina admin.miosito.it/pages/upload/upload.html scelgo come path ../../foto, non mi carica nulla e va in errore
però il mio discorso è
il primo ../ mi porta in pages il secondo ../mi porta sotto admin.miosito.it, quindi alla “root”
a questo punto faccio /foto e dovrebbe andare ma… nn va
dove sbaglio? grazie
@Raffaele: per fare gli upload bisogna utilizzare un link fisico alla risorsa in cui caricare i files… prova a mettere come percorso di destinazione
E:/web/files/foto
invece di../../foto
e fammi sapere 🙂ciao, e grazie per la risposta
CACCHIO FUNZIONA!!! era così banale? sono senza parole!!!
mi chiedo una cosa: ma che succede quando carico la pagina sul server remoto e faccio l’upload da un altro pc? ora va xkè il webserver di prova e la macchina con cui provo le pagine web sono la stessa
cambia qualcosa?
proverò! grazie ancora
Se il server è correttamente configurato, non cambia nulla tra navigazione remota e in locale. L’unica cosa che potrebbe dare problemi è il timeout per i grossi files (che è comunque configurabile), dal momento che le connessioni remote sono ovviamente più lente.
@Antonio: ti basta dire al tuo registrar DNS di puntare http://www.nuovosito.it a 1.1.1.1 senza bisogno di specificare la subdirectory in quanto dopo aver configurato nuovosito.it su apache esso esegue un redirect automaticamente al path del nuovosito
cerco di spiegare meglio:
Sito 1: miosito.it
DNS forwarda miosito.it -> 1.1.1.1
Sito 2: nuovosito.it
DNS forwarda nuovosito.it -> 1.1.1.1
devi configurare apache in modo da avere distinti files di configurazione per ogni sito che monti in modo da poter mostrare al richiedente il sito corretto anche dispondendo un solo IP
spero di essere stato abbastanza chiaro.
>Ciao scusa il ritardo e grazie per la tua risp.!
Allora provato il tutto in locale e funziona (virtual host).
Quindi leggendo la tua risposta, per il mio prob nella Lan/Intranet, devo fare la stessa cosa che ho fatto in locale con virtual host, (naturalmente al posto di localhost và l’ IP) e dire a che gestisce il DNS che il “Nuovo Sito” deve essere puntato su 1.1.1.1 ( come in realtà già succede per “MioSito”), il resto penserà tutto Apache con la config del Virtual Host..!?!
Giusto..?!!
Grazie sei chiarissimo, e semplice, a differenza di molti che sanno, ma danno molte cose che non sono scontate x neofiti come me/noi!
@Antonio: “dire a che gestisce il DNS che il “Nuovo Sito†deve essere puntato su 1.1.1.1 ( come in realtà già succede per “MioSitoâ€)” ESATTO 🙂
troppi complimenti nuocciono alla salute 🙂
@salvatore barbera: “dire a che gestisce il DNS che il “Nuovo Sito†deve essere puntato su 1.1.1.1 ( come in realtà già succede per “MioSitoâ€)†ESATTO
troppi complimenti nuocciono alla salute
quando ci vogliono e sono sinceri fanno sempre piacere i complimenti! 🙂
Allora: sul mio pc, provato in locale (seguito la guida, modificando 3 files: httpd.conf, httpd-vhosts.conf e il file host di windows) tutto ok!
Poi volevo fare la stessa prova sul web server nella rete Lan, configurato uguale al mio pc, ma niente.
Poi ho pensato, anzichè mettere localhost dovevo mettere l’ IP cioè:
127.0.0.1 localhost
1.1.1.1 nuovo sito
Ma nemmeno non và ..!
Non riesco a capire dov’è l’errore.
se “mio sito” con il forward puntato su 1.1.1.1 è ok nella Lan
il “nuovo sito” in locale nel virtual host mettendo 1.1.1.1 dovrebbe funzionare al meno in locale..!?
Se non riesco a far questa prova in locale, non posso osare e dire a chi gestisce DNS, di puntare il ” nuovo sito” su 1.1.1.1, rischio di non far funzionare nemmeno il “mio sito” che già funziona tramite forward puntato 1.1.1.1!
help me:)
@Antonio: “dire a che gestisce il DNS che il “Nuovo Sito†deve essere puntato su 1.1.1.1 ( come in realtà già succede per “MioSitoâ€)†ESATTO
troppi complimenti nuocciono alla salute
il fatto è che Apache riconosce i nomi di dominio, non gli IP, quindi nel browser se continui a scrivere 1.1.1.1 ti spunterà solo il sito di default…. devi provare a scrivere nuovosito.com
f@ salvatore barbera:
il fatto è che Apache riconosce i nomi di dominio, non gli IP, quindi nel browser se continui a scrivere 1.1.1.1 ti spunterà solo il sito di default…. devi provare a scrivere nuovosito.com.
Scusa, forse non mi sono spiegato bene:
Intendevo nel file da modificare, esempio nel file host di Win:
127.0.0.1 localhost
1.1.1.1 nuovosito
Poi nel browser scrivo “nuovosito” 🙂
La cosa strana che l’ho fatto in locale sul mio pc e tutto OK.
Poi nel server nell’intranet niente!
Un passo alla volta. Allora sul mio pc in locale il httpd-vhosts.conf è:
ServerName localhost
DocumentRoot c:\wamp\www
ServerName http://www.nuovosito.it
DocumentRoot c:\wamp\www\nuovosito
Nel Server LAN con IP 1.1.1.1 sarà :
ServerName localhost (che corrisponde a “miosito” con forwar)
DocumentRoot c:\wamp\www
ServerName http://www.nuovosito.it
DocumentRoot c:\wamp\www\nuovosito
Giusto almeno in locale sul webserver (Lan-Intranet) dovrei visualizzare..?!?
Grazie scusa e help me.
Ciao Salvatore, io ho necessità di installare più domini con un unico ip. Seguendo questa guida passo passo, se scrivo in locale http://localhost:8082 , mi compare la pagina del dominio creato…Se dovessi crearne un altro ? Come si fa ? Che files devo editare ? Che ci scrivo ? …Devo uscirne da sta cosa, sennò mi dò all’alcol 😀
Grazie in anticipo !!
Teo
bhè, devi leggere questa guida 🙂
Ciao, finalmente funziona però…per arrivare al mio sito devo fare: http://www.miosito.it:8082 se non faccio così’, non lo raggiungo…perchè ?
Salve a tutti,
sono nuovo sia per i sistemi linux, che per i web server ma la scorsa settimana ho deciso di recuperare il mio vecchio PC e di utilizzarlo per provare prestashop.
L’intenzione e di avere un server locale sul quale smanettare con debian e preparare un sito.
Ho installato Debian Lenny .e il server seguendo tutte le vs. istruzioni e alla fine ho scaricato prestashop istallandolo e autorizzando le cartelle come dalle loro istruzioni.
Su Pc sembra tutto ok Apache2 – Mysql – l’admin funziona e se vado su localhost vedo miodominio.com
pero l’install di prestashop non parte
http://localhost/miodominio.com/install/
PROBLEMA: mi si apre la pagina di prestashop per l’installazione ma la pagina e vuota fatta eccezione di una riga in alto:
Forum – Prestashop.com- Constattaci – @ 2005-2009
i cui link sono operativi…. e qui e tutto …
L’installazione vera e propria non parte.
Lanciando l’install nella pagina dovrebbe comparire il risultato della verifica dei permessi e delle caratteristiche nel server … per poi procedere ….
Mi dicono essere un problema di config del server …. ma non so più cosa fare.
Ps: ho provato anche installando xampp ma nulla .. stesso problema.
Grazie Mario
@teo: perchè la porta che hai impostato sul tuo server apache è la 8082… sulla 80 c’è una regola di NAT che inoltra le connessioni sul server IIS
@Mario: dovresti chiedere al team di prestashop… credo che sia un problema software, non tanto di apache, anche perchè l’errore è dato proprio dall’installer, non dal server Apache
Saluti
@S.Barbara: Ho provato a chiedere al team di prestashop e la risposta e stata che il problema e legato all’installazione del server.
Ho installato java pensando che potesse risolvere il problema … ma nulla. La community di presta opera su server linux …. quindi dovrebbe essere l’ambiente naturale per presta.
…. e come se mancasse qualcosa che permetta all’installer di presta di partire.
Saluti
@Mario: bhè… devi dare un’occhio ai system requirements per prestashop
Ciao, ho creato ovviamente la regola di Nat sul firewall proprio come quella che già avevo che puntava sulla porta 80, però anche chiamando il sito http://www.miosito.it, prima si ferma all’80 e mi dà errore di iis, e poi mettendo l’8082 và dalla parte giusta, ma non deve fare così. Io volevo inoltre sapere quale file devo modificare per aggiungere più domini con un solo ip !! Ci sono mille guide che dicono “cosa” scrivere, ma non “dove” scrivere…
Grazie, e scusate !! 🙂
Risolto;
il problema stava nel browser che utilizzavo “Konqueror”
…. utilizzandone un’altro tutto funziona regolarmente.
@Mario: ottimo!
@Teo:
e quindi procediamo con la creazione del file di configurazione per il dominio che vogliamo configurare, quindi creiamo e cominciamo a compilare il file suddetto col comando
vim /etc/apache2/sites-available/miodominio.com non l’ho mica scritto a caso… 🙂 non puoi creare un NAT che punti alla stessa porta di due macchine diverse o che alle richieste ricevute su una porta inoltri il traffico su due macchine (a prescindere dalla porta) o a due porte diverse (anche sulal stessa macchina).
Mi hai dato comunque uno spunto interessante… probabilmente uno dei prossimi articoli tratterà il NAT così da chiarire una volta e per tutte come funziona 🙂
Prego per lo spunto 😛 , allora dovrei eliminare il server windows, e lasciare solo linux ? In questo modo, mi tolgo anche il pensiero di dover cambiare la porta di ascolto di apache, lasciarla sulla 80 e procedere senza problemi alla gestione di più virtual host, con un ip !! 🙂 …A questo punto azzero tutte le prove che ho fatto, e che il + delle volte non hanno funzionato, perchè il problema non era il linux ma bensì la presenza di 2 webserver sulla stessa rete, anzi, sullo stesso ip…!! Dovrei mettere il linux in DMZ, in modo da assegnargli un altro ip statico !! 🙂 vi terrò aggiornato !! 🙂 Grazie per ora per tutte le info, e soprattutto per la guida… 🙂
Ciao ragazzi, sono riuscito a fare tutto !! il problema era appunto il webserver win, anzi…la porta 80 sul firewall !! Oggi ho provato a girare l’ip dal ws win a linux, ed è andato tutto perfettamente !! Era proprio una questione di “configurazione sul firewall”. Ho sistemato anche l’accesso ssh !! A gennaio, quando tornerò dalle ferie, guarderò la questione ftp (cosa mi consigliate vsftp o proftpd?), speriamo in bene !! 🙂
Cmq per ora ringrazio tutti, passerò presto !!! Buone feste a tutti !!!
@Teo: usa vsftpd, molto semplice da configurare ed allo stesso tempo estremamente sicuro e buono anche per utilizzi professionali su server pubblici!
Complimenti per la guida dettagliata e completa!!
Scusa la domanda un po ot, ma se creo un virtual host (esempio pippo.com) e lo abilito con e2ensite pippo.com, il site default che fino alla creazione del site pippo.com era l’unico site abilitato in site-enabled, che fine fa? subisce variazioni? Mi spiego meglio:
ho installato zoneminder in un server ubuntu (ho un ip dinamico dyndns girato su un nome a dominio). se digito da una qualsiasi macchina in internet http://www.mionome.net, apache mi risponde con il classico “It Works”; se digito http://www.mionome.net/zm, si apre il pannello di zoneminder con le sue belle telecamere e tutto il resto. Arriviamo alle note dolenti. Ho installato (seguendo la tua ottima guida) un nuovo site, il famoso pippo.com di prima, tutto va bene se nonchè quando digito http://www.mionome.net/zm, si apre il magnifico pannello di zoneminder ma senza le telecamere (Horrore). a questo punto ho fatto e2dissite pippo.com e magicamente le telecamere sono riapparse. Premetto che apaci è sempre reloadato ad ogni modifica… mi sto strappando tutti i capelli dalla disperazione
@Franky: ciao! premetto che è la prima volta che sento parlare di ZoneMinder… che io sappia il file di configurazione non viene intaccato dal “a2ensite”, ho fatto delle prove e te lo confermo… di più non so dirti… ci sarà qualcosa che va in conflitto :\
Salve, ho un problema:
Ho configurato tutto come descritto ma ho un problema, ora quando dal esterno cerco di collegarmi al dominio relativo ad un virtual host mi risponde sempre con la classica “IT WORKS!” invece di caricarmi la cartella “/var/www/miodominio.com/public”
come mai?
Grazie e, attendo notizie
@Nicolò: perchè probabilmente la configurazione non è corretta… Apache 2 da errori quando lo riavvii?
Neanche uno.
In locale va solo in remoto da questo tipo problema.
Sono registrato a no-ip.com per avere un dominio gratuito.
Grazie mille ottima guida!!!