localhost / phpmyadmin - errore 404 su macOS High Sierra

0

Sto configurando un progetto PHP sul mio loalhost della mia macchina. Questa parte funziona correttamente e sta caricando correttamente index.php quando si visita http://localhost . Tuttavia, visitando http://localhost/phpmyadmin mi sta dando un errore HTTP 404.

Ecco le mie impostazioni:

  • Percorso del progetto Users/zaina-alyahya/Sites/Meetings

  • phpmyadmin path Users/zaina-alyahya/Sites

  • Impostazioni di DocumentRoot in httpd.conf : /Users/zaina-alyahya/Sites/Meetings/public

  • Configurazione di VirtualHost in httpd-vhosts.conf per /Users/zaina-alyahya/Sites/Meetings/public

    • Ho provato a configurare un VirtualHost anche per phpmyadmin, ma non ha funzionato.

    • Ho seguito comunque i passaggi della seconda risposta qui . Ha funzionato, ma non sembra giusto accedere a phpmyadmin tramite phpmyadmin.localhost .

Cosa mi manca per rendere localhost/phpmadmin caricare senza errori?

Ecco la mia configurazione software:

  • macOS High Sierra 10.13.3

  • Apache 2.4.28

  • PHPMyAdmin 4.8.0.1

posta zalyahya 01.05.2018 - 12:18
fonte

1 risposta

1

Phpmyadmin dovrebbe trovarsi all'interno di DocumentRoot. 'Localhost / phpmyadmin' sta per phpmyadmin all'interno di localhost DocumentRoot. Cambia il percorso per DocumentRoot all'interno di httpd.conf o sposta la cartella phpmyadmin all'interno della cartella che hai già configurato.

VirtualHost o DNSmasq rendono solo certe cartelle accessibili tramite un indirizzo specifico. Se non mi sbaglio, dovrebbero risiedere all'interno del tuo DocumentRoot.

Dovresti anche modificare le autorizzazioni per utente e gruppo all'interno di httpd.conf o impostare le autorizzazioni sul DocumentRoot di conseguenza.

Ricorda di riavviare Apache dopo aver modificato le impostazioni.

$ sudo apachectl -k restart

Aggiornamento:

Le applicazioni Web sono collocate in una particolare cartella sul tuo computer. Un server Web come Apache li serve sul Web o sul browser. Dovrai configurare apache e DNS per ogni progetto. Di solito tutte le directory dell'applicazione risiedono nella root del documento. In ogni caso la connessione tra la directory dell'applicazione (in questo caso il tuo phpmyadmin, che è solo un'app Web) e il tuo server web è fatta in un file di configurazione come httpd.conf per apache. A seconda di come hai installato Apache, dovrai configurare:

  • la porta dove ascoltare
  • imposta DocumentRoot /usr/local/var/www nella root del documento
  • cambia il riferimento del tag qui sotto e imposta AllowOverride All
  • abilita mod_rewrite
  • a seconda di come desideri gestire le autorizzazioni, mantieni _www e applica permissione corrispondente alla cartella della tua app Web o imposta meglio nel file di configurazione user YourName + Group staff
  • imposta il nome del server su ServerName localhost
  • imposta la cartella del sito (modifica le autorizzazioni se necessario)
  • restart apache

Questo servirà tutto sul tuo computer di sviluppo a partire da localhost, che coincide con la root del documento.

localhost/phpinfo.php aprirà il file phpinfo.php inserito nella root del documento localhost/phpmyadmin aprirà l'indice all'interno della directory phpmyadmin

Nel caso in cui tu abbia più progetti web, saranno disponibili con la stessa procedura: localhost/webapp1 o localhost/webapp1/index.html ecc.

La traduzione in un altro indirizzo disponibile per il tuo sistema viene effettuata tramite host virtuali, server DNS, ecc. Che converte / connette un URL alla radice della tua app Web.

Per fare ciò:

  • uncomment LoadModule vhost_alias_module lib/httpd/modules/mod_vhost_alias.so in /usr/local/etc/httpd/httpd.conf
  • include /usr/local/etc/httpd/extra/httpd-vhosts.conf
  • modifica /usr/local/etc/httpd/extra/httpd-vhosts.conf

Ricorda che quando si configura l'host virtuale si perderà la root del documento, quindi la prima cosa è di aggiungerlo o perderai la possibilità di usare localhost / phpinfo:

<VirtualHost *:80>
    DocumentRoot "Users/zaina-alyahya/Sites"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "Users/zaina-alyahya/Sites/webapp"
    ServerName webapp.test
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "Users/zaina-alyahya/Sites/PHPmyadmin"
    ServerName phpmyadmin
</VirtualHost>

Il ServerName per l'app web deve essere scelto da te. Dovrai aggiungerlo al tuo file host /etc/hosts , utilizzare un server DNS, che preferirei. Dal momento che il server OSX perde le funzionalità DNS, dovresti dare un'occhiata a dnsmasq (semplice) o migliore BIND (piena funzionalità). Questi programmi risolvono un URL sul tuo computer.

Alcune aree potrebbero creare problemi:

  • in caso di utilizzo di Apache: viene utilizzata la versione di Apple? Quale? Sistema o server MacOS? Nel caso in cui si abbia installato il server macOS, disattivare la parte del web server. Lo perderai comunque quest'anno nel caso decidessi di passare alla versione successiva di macOS. È meglio configurare tutto manualmente, molto più educativo comunque!
  • Impostazione DNS
  • Permessi !!!!!!!! Nel caso in cui non siano impostati correttamente otterrai un 404.
  • riavvia il server Web dopo averne modificato la configurazione.
risposta data 01.05.2018 - 18:20
fonte

Leggi altre domande sui tag