localhost carica la pagina apache predefinita

0

Sto configurando un localhost e tutto sembra funzionare dovrebbe funzionare, ma ogni volta che vado a site.local carica la pagina di localhost Apache predefinita (funziona!).

Ecco una copia del mio file hosts:

##
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1    localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%1o0 localhost

#####
 DEV
#####
# SITE
127.0.0.1    site.local
::1          www.site.local

e il mio vhost:

<VirtualHost *:8080>
    ServerAdmin [email protected]
    ServerName site.local
    DocumentRoot "/Users/me/site"
    ErrorLog "/Applications/MAMP/logs/site.local-error_log"
    CustomLog "/Applications/MAMP/logs/site.local-access_log" common
    <Directory "/Users/me/site">
        Options Indexes FollowSymLinks
        AllowOverride All
    </Directory>
</VirtualHost>

Cose che ho fatto per assicurarmi che non si tratti di un errore dell'utente:

  • decommenta la riga nel file httpd.conf per includere il mio file vhost
  • usato apachectl configtest per testare il mio file (tornato dicendo la sintassi OK)

Cose da notare:

  • Io uso la porta 8080 e 3307 per Apache e MYSQL
  • Se vado su site.local: 8080 carica ma non esegue il rendering degli elementi come dovrebbe (invece carica gli elementi del file html in un formato elenco)
  • questa è una installazione FRESCA di MAMP
  • SO: OS X Yosemite versione 10.10.5
  • Versione MAMP: 3.5

Non vedo cosa sta andando male ... qualche idea?

Aggiorna

localhost funziona come dovrebbe con la porta 80. 8080 = la pagina apache predefinita, ma 80 carica le pagine del sito ...

    
posta TT12043205 08.03.2016 - 13:17
fonte

3 risposte

2

In base al tuo commento che quando vai su site.local: 8080 ottieni una pagina bianca con le parole "Funziona!" simile alla cattura dello schermo qui sotto

QuellochestaivedendoèlapaginawebbasatasullaconfigurazionedelserverglobaledoveDocumentRootèqualunquesiailMAMPpredefinito.

HaimenzionatoneltuoOPche

IfIgotosite.local:8080itloadsbutdoesn'trendertheelementsasitshould(insteadloadstheelementsofthehtmlinalistformat)

ApachenonrenderàlatuapaginawebcomeunelencoHTML(amenochetunonlodica).Piùcheprobabileciòchestaivedendoèunelencodidirectorysimileaquesto:

OttieniquestoelencoacausadellarigaOptionsIndexesFollowSymLinksneltuofilehttpd.conf.Sevuoidisabilitarequestaopzione,rimuovilaparolaIndicidaquellarigael'elencononverràpiùvisualizzato.

Latuaconfigurazionedihostvirtuale

Perprimacosa,dobbiamocapirecomeApachegestiscelerichiestedihostvirtuali.Dalla documentazione di Apache :

When a request arrives, the server will find the best (most specific) matching argument based on the IP address and port used by the request. If there is more than one virtual host containing this best-match address and port combination, Apache will further compare the ServerName and ServerAlias directives to the server name present in the request.

If you omit the ServerName directive from any name-based virtual host, the server will default to a fully qualified domain name (FQDN) derived from the system hostname. This implicitly set server name can lead to counter-intuitive virtual host matching and is discouraged.

Se noti che il tuo host definito come configurazione del server globale è uguale all'host virtuale.

Questo è probabilmente il tuo errore.

Ora, la mia correzione per questo è un po 'più complicata all'inizio, ma infinitamente più efficiente perché cerco di evitare che la mia macchina entri in un server e un server. Faccio tutto il mio sviluppo su un Mac con una macchina virtuale che esegue il mio server AMP. In questo modo posso rispecchiare il mio ambiente di produzione molto più vicino e non ho servizi non necessari (come Apache e MySQL) in esecuzione su OS X; sono tutti relegati alla VM. La VM ha il proprio IP, il proprio nome del server, tutto così quando indico il mio browser ad esso, so cosa si aspetta.

Ho una descrizione su come installare una VM FreeBSD su VirtualBox in esecuzione su un Mac che ha abilitato l'avvio automatico. Se sei interessato, posso condividerlo con te.

    
risposta data 08.03.2016 - 18:02
fonte
0

Introduzione:

  1. L'esecuzione di apachectl configtest non controlla /Applications/MAMP/conf/apache/httpd.conf per coerenza ma il file di configurazione di Apache OS X predefinito / private / etc / apache2 / httpd.conf .

    Devi usare /Applications/MAMP/Library/bin/apachectl configtest invece per controllare /Applications/MAMP/conf/apache/httpd.conf .

  2. L'uso di un nome di dominio completo nella forma hostname.local è sconsigliato. Questi file fqdns sono riservati per DNS multicast (mDNS). Puoi usare .home, .development o .test.

Impostazioni

Configurazione MAMP / Apache / hosts:

/ etc / hosts :

...
127.0.0.1       site.development
127.0.0.1       www.site.development
::1             site.development
::1             www.site.development

Porta Apache in MAMP: 8080 (WebStart disabilitato!)

Contenuto del file link

NameVirtualHost *:8080
...
<VirtualHost *:8080>
    ServerAdmin [email protected]
    ServerName site.development
    ServerAlias www.site.development
    DocumentRoot "/Users/me/site"
    ErrorLog "/Applications/MAMP/logs/site.development-error_log"
    CustomLog "/Applications/MAMP/logs/site.development-access_log" common
    <Directory "/Users/me/site">
        Options Indexes FollowSymLinks
        AllowOverride All
    </Directory>
</VirtualHost>

Puoi controllare il file degli host virtuali con /Applications/MAMP/Library/bin/apachectl -S .

Se hai configurato correttamente il tuo server MAMP e copiato i file MAMP predefiniti index.php e MAMP-PRO-Logo.png nella cartella / Utenti / me / sito vedrete la seguente pagina "predefinita":

L'inserimentodi link nel browser mostrerà la stessa pagina.

Se non esegui altre istanze di Apache (specialmente l'OS X Apache predefinito) non sarai in grado di connetterti a localhost: 80 o site.development: 80 .

Se esegui un'altra istanza di Apache (ad es. avviata da launchd o invocata da sudo apachectl start puoi connetterti inserendo localhost: 80 , site.development: 80 o link . vedrà la pagina Apache predefinita:

SeOSXServerèinstallato,siapriràunapagina"Benvenuti su OS X Server" dopo aver inserito localhost: 80 anche se < em> I siti web sono disabilitati in Server.app:

    
risposta data 10.03.2016 - 03:39
fonte
0

index.html , info.php , index.py ecc. risiedono sotto /var/www o /var/www/test o qualsiasi cosa tu definisca nella configurazione. Guarda all'interno del server VM se UBUNTU o SUSE o qualsiasi VMWare o VirtualBox e non riesci a trovare /var/www . OS X non gioca con le comunità aperte. Non c'è modo per far sì che i server VM controllino i browser in esecuzione su una macchina Apple.

    
risposta data 06.06.2018 - 18:59
fonte

Leggi altre domande sui tag