Salve,
Pochi giorni fa mi sono interessato, navigando nel web, a impostare un server virtuale con Apache2.2.
Da quello che ho capito, se non sbaglio, servono a creare due diverse direcory root sul proprio sito, ora mi chiedo, ma la root, normalmente, non ne è solo una?
In ogni casa, su internet ho visto, che puoi farlo mettendo in ascolto due porte invece di mettere in ascolto solo una porta, sulla guida che ho seguito, c'era scritto che per impostarlo bisognava modificare questa riga al file di configurazione di apache, ( http.conf )
Codice:
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
In questo modo:
Codice:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
Ovvero de-commentando il comando che include il file conf/extra/httpd-vhosts.conf che come si vede nella guida, viene modificato in questo modo:
Codice:
#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
listen 8080
NameVirtualHost *:8080
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:8080>
ServerAdmin webmaster@dummy-host.localhost
DocumentRoot "C:/Programmi/Apache Software Foundation/Apache2.2/htdocs2"
ServerName dummy-host.localhost
ServerAlias www.dummy-host.localhost
ErrorLog "logs/dummy-host.localhost-error.log"
CustomLog "logs/dummy-host.localhost-access.log" common
</VirtualHost>
#<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host2.localhost
# DocumentRoot "C:/Programmi/Apache Software Foundation/Apache2.2/docs/dummy-host2.localhost"
# ServerName dummy-host2.localhost
# ErrorLog "logs/dummy-host2.localhost-error.log"
# CustomLog "logs/dummy-host2.localhost-access.log" common
#</VirtualHost>
Ora, premetto che, nella guida la porta non era 8080, e non mi chiedete com'era perché purtroppo la guida non c'è lo più a portata di mano.
Cmq, fatto il tutto, secondo quello che dice la guida, digitando nel browsel http://localhost/ ( o http://localhost:80 ) mi dovrebbe andare nella directory di default impostata da apache, mentre se scrivo http://localhost:8080 mi dovrebbe andare nella directory C:/Programmi/Apache Software Foundation/Apache2.2/htdocs2.
Dopo aver fatto tutto questo, e aver ovviamente riavviato il web server, volendo vedere se funziona tutto bene, ho digitato, sul mio browser, l'url http:/localhost:8080, ma il server mi restituisce questo errore:
Codice:
Forbidden
You don't have permission to access / on this server.
Da quello che ho capito, c'è scritto che non ho i permessi per accedere alla cartella, ma come è possibile?
Ne sapete qualcosa voi?
Edit:
Da quello che ho notato la macchina virtuale esiste all'interno della cartella impostata da me, visto che nel file di log che gli ho precedentemente impostato mi restituisce questo errore:
Codice:
[Mon Sep 06 09:33:29 2010] [error] [client ***] client denied by server configuration: C:/Programmi/Apache Software Foundation/Apache2.2/docs
Ho provato a vedere nel percorso indicato, ovvero C:/Programmi/Apache Software Foundation/Apache2.2/docs, ma la cartella docs in quel percorso non esiste.
Sapete come mai apache restituisce questo errore nel file di log, e come potrei risolvere?