localhost / phpmyadmin - Error 404 en macOS High Sierra

0

Estoy configurando un proyecto PHP en el hostal de mi máquina. Esta parte funciona bien y está cargando el index.php correctamente cuando visita http://localhost . Sin embargo, visitar http://localhost/phpmyadmin me está dando un error HTTP 404.

Aquí están mis configuraciones:

  • Ruta del proyecto Users/zaina-alyahya/Sites/Meetings

  • ruta phpmyadmin Users/zaina-alyahya/Sites

  • Configuración de DocumentRoot en httpd.conf : /Users/zaina-alyahya/Sites/Meetings/public

  • Configuración de VirtualHost en httpd-vhosts.conf para /Users/zaina-alyahya/Sites/Meetings/public

    • También intenté configurar un VirtualHost para phpmyadmin, pero no funcionó.

    • Sin embargo, seguí los pasos de la segunda respuesta aquí . Eso funcionó, pero no parece correcto acceder a phpmyadmin a través de phpmyadmin.localhost .

¿Qué me falta para que localhost/phpmadmin se cargue sin errores?

Aquí está mi configuración de software:

  • macOS High Sierra 10.13.3

  • Apache 2.4.28

  • PHPMyAdmin 4.8.0.1

pregunta zalyahya 01.05.2018 - 12:18

1 respuesta

1

Phpmyadmin debe estar dentro de tu DocumentRoot. ‘Localhost / phpmyadmin’ significa phpmyadmin dentro de localhost DocumentRoot. Cambie la ruta de acceso de su DocumentRoot dentro de su httpd.conf o mueva la carpeta phpmyadmin dentro de la carpeta que ya ha configurado.

VirtualHost o DNSmasq solo hacen que ciertas carpetas sean accesibles a través de una dirección específica. Si no me equivoco, deberían residir dentro de su DocumentRoot.

También debe editar los permisos para el usuario y el grupo dentro de httpd.conf o establecer los permisos en el DocumentRoot en consecuencia.

Recuerde reiniciar Apache después de cambiar la configuración.

$ sudo apachectl -k restart

Actualización:

Las aplicaciones web se colocan en una carpeta en particular en su máquina. Un servidor web como Apache los sirve en la web o en su navegador. Tendrás que configurar apache y DNS para cada proyecto. Normalmente todos los directorios de aplicación residen en la raíz del documento. En cualquier caso, la conexión entre el directorio de la aplicación (en este caso su phpmyadmin, que es solo una aplicación web) y su servidor web se realiza en un archivo de configuración como httpd.conf para apache. Dependiendo de cómo haya instalado Apache, tendrá que configurar:

  • el puerto donde escuchar
  • establezca DocumentRoot /usr/local/var/www en la raíz de su documento
  • cambia la referencia de etiqueta a continuación y establece AllowOverride All
  • habilitar mod_rewrite
  • dependiendo de cómo quiera administrar los permisos, mantenga _www y aplique el permiso correspondiente a la carpeta de su aplicación web o, mejor, establezca en el archivo de configuración user YourName + Group staff
  • establece el nombre del servidor en ServerName localhost
  • configure la carpeta de su sitio (edite los permisos si es necesario)
  • reinicia apache

Esto servirá todo en tu máquina de desarrollo a partir de localhost, que coincide con la raíz de tu documento.

localhost/phpinfo.php abrirá el archivo phpinfo.php ubicado en la raíz de su documento localhost/phpmyadmin abrirá el índice dentro del directorio phpmyadmin

En caso de que tenga varios proyectos web, estarán disponibles a través del mismo procedimiento: localhost/webapp1 o localhost/webapp1/index.html , etc.

La traducción a otra dirección disponible para su sistema se realiza a través de hosts virtuales, servidor dns, etc. Lo que traduce / conecta una URL a la raíz de su aplicación web.

Para hacer esto:

  • descomentar LoadModule vhost_alias_module lib/httpd/modules/mod_vhost_alias.so en /usr/local/etc/httpd/httpd.conf
  • incluir /usr/local/etc/httpd/extra/httpd-vhosts.conf
  • edita el /usr/local/etc/httpd/extra/httpd-vhosts.conf

Tenga en cuenta que al configurar el host virtual perderá la raíz de su documento, por lo que lo primero es volver a agregarlo o perderá la capacidad de usar 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>

El nombre del servidor para la aplicación web debe ser elegido por usted. Tendrá que agregarlo a su archivo host /etc/hosts , use un servidor DNS, el cual preferiría. Dado que el servidor OSX perderá la funcionalidad de DNS, debería echar un vistazo a dnsmasq (simple) o mejor BIND (funcionalidad completa). Estos programas resuelven una URL para su máquina.

Ciertas áreas podrían crear problemas:

  • en caso de que se use Apache: ¿se usa la versión de Apple? ¿Cúal? ¿Sistema o servidor de macOS? En caso de que tenga instalado el servidor macOS, desactive la parte del servidor web. Lo perderá de todos modos este año en caso de que decida actualizar a la próxima versión de macOS. ¡Es mejor configurar todo manualmente, mucho más educativo de todos modos!
  • configuración de DNS
  • Permisos !!!!!!!! En caso de que no estén configurados correctamente, obtendrás un 404.
  • reinicia el servidor web después de que hayas cambiado su configuración.
respondido por el SEJU 01.05.2018 - 18:20

Lea otras preguntas en las etiquetas