Domanda VirtualHost Apache Mac

Stato
Discussione chiusa ad ulteriori risposte.

mrrobot993

Utente Iron
30 Ottobre 2020
9
4
2
11
Ciao a tutti vi linko una domanda che ho fatto anche su stackoverflow.

https://stackoverflow.com/q/64750906/10176701


In pratica ho creato un virtual host con apache2 del Mac e fin qui tutto ok... il problema si presenta se ne vado ad inserire un altro, quando vado a scrivere il dominio mi fa sempre il redirect a quello precedente, come se non lo trovasse e backupasse a quello prima. Se invece rimuovo il primo e lascio il secondo riprende a funzionare. Lascio anche qui la conf di https.vhosts.conf:


Bash:
# Virtual Hosts
#
# Required modules: mod_log_config

# 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.4/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.

#
# 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>
    DocumentRoot /var/www/sites/
</VirtualHost>




<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/sites/sito1.local/htdocs
    ServerName sito1.local
    ServerAlias www.sito1.local
    ErrorLog "/private/var/log/apache2/sito1.local-error_log"
    CustomLog "/private/var/log/apache2/sito1.local-access_log" common
        
    <Directory /var/www/sites/sito1.local/htdocs>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>




<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/sites/sito2.local/htdocs
    ServerName sito2.local
    ServerAlias www.sito2.local
    ErrorLog "/private/var/log/apache2/sito2.local-error_log"
    CustomLog "/private/var/log/apache2/sito2.local-access_log" common

    <Directory /var/www/sites/sito2.local/htdocs>
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
 
Ultima modifica:
Stai mettendo entrambi i siti sulla stessa porta. Cosi' facendo quando richiederai una pagina ad apache (esempio /index.html) lui la andra' a cercare prima nella cartella di sito1 e poi in quella di sito2, trovandola in sito1 ti mostrera' sempre quella anche se un'altra esiste in sito2.

Per avere i due siti standalone puoi:
  • Impostare i siti su porte diverse dalla 80 (ricorda di impostare Listen sulle porte che scegli)
  • Impostare un sito principale mentre gli altri su un alias ed accedervi come fosse una sub-directory (/sito2/)
  • Usare sempre l'hostname alias specificato (non potrai usare 127.0.0.1 o qualsivoglia IP diretto senza incappare nel problema)
 
  • Mi piace
Reazioni: 0xbro e mrrobot993
Ah ho capito... Quindi dovrei impostare come sito principale la cartella sites?

No, anche perche' se no dovresti accedere alla home in un modo simile: localhost/sito1.local/htdocs/
Puoi fare un alias cosi':
Codice:
Alias /sito2/ "/var/www/sites/sito2.local/htdocs/"
<Directory "/var/www/sites/sito2.local/htdocs/">
    ...
</Directory>

Altrimenti puoi semplicemente fare un unico sito e organizzarlo bene in sottocartelle, di solito queste tecniche si usano quando lavori in locale a progetti completamente diversi che potrebbero "pestarsi i piedi" a vicenda. Mentre in produzione potresti fregartene ed usare la configurazione iniziale (quella che ti da problemi) perche' nessuno accedera' al server tramite IP ma tramite DNS, quindi avranno tutti l'header Host che dira' ad apache quale sito selezionare (aiuta soprattutto per gestire sottodomini o hosting shared ecc).
 
  • Mi piace
Reazioni: 0xbro e mrrobot993
Ultima modifica:
.
Messaggio unito automaticamente:

No, anche perche' se no dovresti accedere alla home in un modo simile: localhost/sito1.local/htdocs/
Puoi fare un alias cosi':
Codice:
Alias /sito2/ "/var/www/sites/sito2.local/htdocs/"
<Directory "/var/www/sites/sito2.local/htdocs/">
    ...
</Directory>

Altrimenti puoi semplicemente fare un unico sito e organizzarlo bene in sottocartelle, di solito queste tecniche si usano quando lavori in locale a progetti completamente diversi che potrebbero "pestarsi i piedi" a vicenda. Mentre in produzione potresti fregartene ed usare la configurazione iniziale (quella che ti da problemi) perche' nessuno accedera' al server tramite IP ma tramite DNS, quindi avranno tutti l'header Host che dira' ad apache quale sito selezionare (aiuta soprattutto per gestire sottodomini o hosting shared ecc).
Ho creato una cartella vhosts all'interno della cartella apache dove ho inserito le conf una per una e poi richiamato questa cartella nella configurazione principale di apache. Con un sito di test con solamente una index con un titolo funziona invece con i due siti precedenti Wordpress non funziona cioé ne funziona uno solo perché l'altro fa redirect
Messaggio unito automaticamente:

Yeah!! :myeah:

Il fantastico Firefox ormai reindirizzava per cache!!

Funziona. Grazie
 
Stato
Discussione chiusa ad ulteriori risposte.