He instalado phpMyAdmin, pero no puedo abrirlo en ningún navegador: obtengo una redirección 301 (*) si busco http://localhost:8080/phpmyadmin
. Si agrego un /
al final de las direcciones, obtengo un estado de error 500 en su lugar .
(*) capturado con Wireshark. Si uso netcat desde la terminal en el mismo host, obtengo una redirección 301 a una dirección diferente .
El entorno es una VM que he construido para fines de desarrollo / prueba, donde instalé un entorno LEMP (Linux / Nginx / MySQL / PHP). Es una instalación limpia de CentOS 6 de 64 bits que se ejecuta como invitado en un host Ubuntu 12.04 de 64 bits. La VM se ejecuta en modo NAT con reenvío de puertos. Puedo abrir http://localhost:8080
en la máquina invitada y ver la página de bienvenida de nginx. También puedo abrir una página phpinfo , así que sé que PHP se está ejecutando.
He instalado los paquetes nginx, MySQM, PHP y phpMyAdmin cada uno por separado. Estoy usando la configuración predeterminada para phpMyAdmin. Después de instalar MySQL, ejecuté el mysql_secure_installation
comando y, entre otras opciones, deshabilité el acceso raíz remoto.
Aquí están mis archivos de configuración:
fuente
Respuestas:
Hubo múltiples causas que me impidieron iniciar sesión en phpMyAdmin:
mbstring
El error 500 genera un mensaje
PHP Fatal error: Call to undefined function mb_detect_encoding() in /usr/share/php/gettext/gettext.inc on line 177
en el archivo/var/log/php-fpm/www-error.log
. Según un comentario en http://www.php.net/manual/en/mbstring.installation.php , intenté instalar elphp-mbstring
paquete pero ya estaba presente.Reiniciar el
php-fpm service
resuelto el error 500.sesiones de php
Después de resolver el error anterior, recibí el siguiente error:
/etc/phpmyadmin/config.inc.php
tenía la líneapero la
session.save_path
variable de PHP está configurada en la/var/lib/php/session
carpeta inexistente .Crear una carpeta con los permisos adecuados resolvió este error, puedo iniciar sesión correctamente.
redirección de barra final
Si intento acceder a cualquier dirección en este servidor sin una barra diagonal final al final de la URL, nginx está agregando una barra diagonal final y eliminando su
:8080
parte. No sucede si dejo la barra diagonal final.(por ejemplo:
http://localhost:8080/example
se redirige ahttp://localhost/example/
. El hecho de que tengo phpMyAdmin ejecutándose tanto en la VM como en la máquina host agregó más confusión ya que vería el cuadro de diálogo de inicio de sesión de phpMyAdmin, pero en el destino incorrecto).Parece ser un error común de nginx . Busqué en Google y probé varias soluciones sin éxito. Si encuentro una solución para mi caso, actualizaré esta respuesta.
fuente
Los inicios de sesión raíz deben estar permitidos en el
/etc/phpmyadmin/config.inc.php
archivo de configuración.Agregue la siguiente línea:
fuente
true
. No lo configuré como falso, y no está presente en el archivo de configuración.Comprueba tu
/var/log/nginx/error.log
para ver qué dice el error 500.Parece que está ejecutando dos configuraciones (una en el puerto 80 y otra en 8080) que pueden entrar en conflicto.
fuente