• ModSenior

    Gestione Alias e percorsi siti in locale

    Salve come da titolo vado ad esporvi il mio quesito.
    In locale sto testando/vorrei testare i miei siti...
    Ho installato XAMP che mi fa tutto quello che voglio.
    Scelto la mia cartella dove mettere i documenti, e se accedo via browser, vedo tutte le cartelle della cartella radice all'interno delle quali se clicco vengono riconosciute naturalmente le pagine anche con estensione php.
    Ora il problema che mi pongo è quello di rappresentare una situazione simile a quella di un sito online.

    Vorrei poter raggiungere i diversi siti in locale senza mettere nell'indirizzo le varie sottocartelle, perchè facendo questo devo fare certe operazioni su degli script... come per fckeditor....

    Vengo quindi alla domanda, c'è la possibilità in PHP come c'è in ASP con IIS di gestire i cosidetti ALIAS? Far puntare cioè un indirizzo a una pagina in locale senza scrivere la sottocartella dove si trova?

    Devo per forza andare ad interagire con il file host di windows?


  • ModSenior

    Ciao marcocarrieri,

    Il file hosts dovresti modificarlo per impostare che determinati domini puntino al tuo server locale. Modificando i virtualhost di apache puoi fare puntare ogni dominio ad una cartella diversa.


  • ModSenior

    Hai un idea di come si faccia? 😄
    Ho ragione nel pensare che se lascio i siti nelle relative cartelle senza i virtualhost, si crea una confusione nella gestione dei path?


  • ModSenior

    Si, è normale, mentre utilizzando i virtualhost ogni sito viene visto indipendente.
    Per i virtualhost devi fare una cosa di questo tipo:

    
    <VirtualHost *> 
    DocumentRoot /var/www/dominio1.ext
    ServerName dominio1.ext
    </VirtualHost> 
     
    <VirtualHost *> 
    DocumentRoot /var/www/dominio2.ext
    ServerName dominio2.ext
    </VirtualHost>
    
    

    La documentazione di apache per i virtualhost la trovi qui: httpd.apache.org/docs/2.0/vhosts/examples.html


  • ModSenior

    Grazie. 🙂
    Se ho bisogno so a chi domandare... 😄
    A presto hihi...


  • ModSenior

    Ciao eccomi qua....
    Ho qualche problema senz'altro per colpia mia.
    Allora ho installato XAMP su WINDOWS VISTA.

    La directory dove ho i siti/cms è : E:\Dati\siti php.

    Ho fatto i seguenti passi.

    1. Abilitare in httpd.conf la riga seguente.
      Include "conf/extra/httpd-vhosts.conf"

    2. Inserire le seguenti riche nel file httpd-vhosts.conf.

    <VirtualHost *>
    DocumentRoot "E:\Dati\siti php\sito_test\html"
    ServerName sito.locale
    </VirtualHost>

    <VirtualHost *>
    DocumentRoot "E:\Dati\siti php\drupal-6.16"
    ServerName drupal.locale
    </VirtualHost>

    <VirtualHost *>
    DocumentRoot "E:\Dati\siti php\Joomla_1.5.15_ita-Stable"
    ServerName joomla.locale
    </VirtualHost>

    <VirtualHost *>
    DocumentRoot "E:\Dati\siti php\mybb_1412"
    ServerName mybb.locale
    </VirtualHost>

    <VirtualHost *>
    DocumentRoot "E:\Dati\siti php\phpBB-3.0.6"
    ServerName phpBB.locale
    </VirtualHost>

    <VirtualHost *>
    DocumentRoot "E:\Dati\siti php\wordpress-3.0-beta1"
    ServerName wordpress.locale
    </VirtualHost>Infine nel file hosts di windows inserito le seguenti righe.

    127.0.0.1 sito.locale
    127.0.0.1 drupal.locale
    127.0.0.1 joomla.locale
    127.0.0.1 mybb.locale
    127.0.0.1 phpBB.locale
    127.0.0.1 wordpress.locale Erano gia presenti queste due.

    127.0.0.1 localhost
    ::1 localhostDove sto sbagliando?
    Sembra andare un solo tipo di percorso...


  • ModSenior

    Cosa intendi per sembra andare un solo tipo di percorso?
    Apache lo hai riavviato?


  • ModSenior

    Si riavviato.

    Se scrivo 127.0.0.1 allora va... fa vedere sito.locale


  • ModSenior

    Devi andare su h**p://drupal.locale/ per vedere quello.


  • ModSenior

    Allora ora ho riavviato windows e se scrivo sito.locale va, mentre joomla.locale, wordpress.locale o altri di quelli che ho definito, allora mi rimanda sempre a sito.locale.


  • ModSenior

    In cima al file httpd-vhosts.conf metti:

    
    NameVirtualHost *
    
    

  • ModSenior

    Perfetto... Perfetto.
    Non so come ringraziarti!
    Era propro quello!


  • ModSenior

    Rieccomi qua.
    Ho ripetuto questi passi dopo aver installato Windows 7.
    Solo che ora qualsiasi sito che scrivo dei siti in locale mi da il seguetne errore.

    Accesso negato!

           Non disponi dei permessi necessari per accedere alla    directory richiesta oppure non esiste il documento indice.      
    

    Se pensi che questo sia un errore del server, per favore contatta il webmaster.
    Error 403

    [prove.locale](http://prove.locale/)
     11/07/2010 20:43:18
    

    Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1Funziona solo http://127.0.0.1/phpmyadmin/

    Dove sbaglio?


  • ModSenior

    Ci puoi postare il file di configurazione dei virtualhost?


  • ModSenior

    Questo vero?

    NameVirtualHost *

    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.

    ##NameVirtualHost *:80

    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 *:80>
    ##ServerAdmin [email protected]
    ##DocumentRoot "C:/xampp/htdocs/dummy-host.localhost"
    ##ServerName dummy-host.localhost
    ##ServerAlias www.dummy-host.localhost
    ##ErrorLog "logs/dummy-host.localhost-error.log"
    ##CustomLog "logs/dummy-host.localhost-access.log" combined
    ##</VirtualHost>

    ##<VirtualHost *:80>
    ##ServerAdmin [email protected]
    ##DocumentRoot "C:/xampp/htdocs/dummy-host2.localhost"
    ##ServerName dummy-host2.localhost
    ##ServerAlias www.dummy-host2.localhost
    ##ErrorLog "logs/dummy-host2.localhost-error.log"
    ##CustomLog "logs/dummy-host2.localhost-access.log" combined
    ##</VirtualHost>

    <VirtualHost *>
    DocumentRoot "D:\Miei dati\Dati\siti php\prove\html"
    ServerName sito.locale
    </VirtualHost>

    <VirtualHost *>
    DocumentRoot "D:\Miei dati\Dati\siti php\drupal-7.0-alpha6"
    ServerName drupal.locale
    </VirtualHost>

    <VirtualHost *>
    DocumentRoot "D:\Miei dati\Dati\siti php\Joomla_1.5.18_ita-Stable"
    ServerName joomla.locale
    </VirtualHost>

    <VirtualHost *>
    DocumentRoot "D:\Miei dati\Dati\siti php\mybb_1413"
    ServerName mybb.locale
    </VirtualHost>

    <VirtualHost *>
    DocumentRoot "D:\Miei dati\Dati\siti php\phpBB3.0.7 PL1"
    ServerName phpBB.locale
    </VirtualHost>

    <VirtualHost *>
    DocumentRoot "D:\Miei dati\Dati\siti php\wordpress_it_IT_3_0"
    ServerName wordpress.locale
    </VirtualHost>

    <VirtualHost *>
    DocumentRoot "D:\Miei dati\Dati\siti php\lavezzo\html"
    ServerName lavezzo.locale
    </VirtualHost>E questo il file di Windows host.

    Copyright (c) 1993-2006 Microsoft Corp.

    This is a sample HOSTS file used by Microsoft TCP/IP for Windows.

    This file contains the mappings of IP addresses to host names. Each

    entry should be kept on an individual line. The IP address should

    be placed in the first column followed by the corresponding host name.

    The IP address and the host name should be separated by at least one

    space.

    Additionally, comments (such as these) may be inserted on individual

    lines or following the machine name denoted by a '#' symbol.

    For example:

    102.54.94.97 rhino.acme.com # source server

    38.25.63.10 x.acme.com # x client host

    127.0.0.1 prove.locale
    127.0.0.1 drupal.locale
    127.0.0.1 joomla.locale
    127.0.0.1 mybb.locale
    127.0.0.1 phpBB.locale
    127.0.0.1 wordpress.locale
    127.0.0.1 lavezzo.locale

    127.0.0.1 localhost
    ::1 localhost


  • ModSenior

    Nei file di log di apache all'avvio viene generato qualche errore?


  • ModSenior

    Ho provato ora con Wordpress e mi dice questo.

    [Sun Jul 11 21:46:54 2010] [error] [client 127.0.0.1] client denied by server configuration: D:/Miei dati/Dati/siti php/wordpress_it_IT_3_0/
    [Sun Jul 11 21:46:57 2010] [error] [client 127.0.0.1] client denied by server configuration: D:/Miei dati/Dati/siti php/wordpress_it_IT_3_0/favicon.ico

    Bisogna mettere un allow da qualche parte?


  • ModSenior

    Quello dovrebbe essere il file di log degli accessi, dovresti vedere l'altro che solitamente si chiama error.log che ci sono gli errori di avvio.


  • ModSenior

    Era proprio da error.log che li ho presi, mannaggia.


  • ModSenior

    Ho trovato cos'era.... Era quell'allow... Ma nell'installazione su Vista mica lo avevo mai settato... 😄

    [PHP]<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    </Directory>[/PHP]