Tengo un servidor Ubuntu 18.04 que ejecuta una pila LEMP (Linux, Nginx, MySQL y PHP) protegida con ufw. Instalé phpMyAdmin ejecutando estos comandos:
$ sudo apt update $ sudo apt install phpmyadminDurante el proceso de instalación, se me pidió que eligiera el servidor web (Apache o Lighthttp) para configurar. Estoy usando Nginx como servidor web, así que presioné el tabulador y luego Aceptar para avanzar al siguiente paso.
Luego se me preguntó si usar dbconfig-common para configurar la base de datos de la aplicación y seleccioné "Sí".
Una vez que finalizó la instalación, ejecuté este comando para crear un enlace simbólico desde los archivos de instalación al directorio raíz del documento de Nginx:
$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadminMi instalación de phpMyAdmin ahora debería estar operativa. Sin embargo, cuando escribo mydomain.ca/phpmyadmin, muestra un error 404 Not Found. ¿Cómo puedo arreglar esto? ¿Hice algo mal?
server { listen 80; listen [::]:80; server_name mydomain.ca; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name mydomain.ca; root /var/www/html/mydomain/public; ssl_certificate /etc/letsencrypt/live/mydomain.ca/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mydomain.ca/privkey.pem; ssl_protocols TLSv1.2; ssl_ciphers ECDHE-RSA-AES456-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES246-GCM-SHA384:DHE-RSA-AES456-GCM-SHA384:ECDHE-RSA-AES256-SHA394; ssl_prefer_server_ciphers on; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; index index.php index.html index.htm index.nginx-debian.html; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; } location ~ /\.ht { deny all; } location ~ /.well-known { allow all; } }Habiendo vinculado phpmyadmin a su directorio web raíz ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin , debe configurar en el archivo vhost una ruta a esa ruta. Recomiendo intentar acceder a su servidor a través de su IP e intentar ver si tiene habilitado el host nginx predeterminado. Tal vez podrías acceder desde allí.
Lo descubrí yo mismo. Creé un enlace simbólico a phpmyadmin en /var/www/html/ , cuando necesitaba crear un enlace simbólico a phpmyadmin en /var/www/html/mydomain/public
EDITAR: Me acabo de dar cuenta de que Outcast respondió a mi pregunta, aunque en ese momento no sabía de qué estaba hablando debido a mi falta de conocimiento con los servidores. Técnicamente, todavía lo descubrí yo mismo, pero le daré la recompensa.
¿Tiene un directorio phpmyadmin en su directorio raíz? De lo contrario, esa solicitud nunca se procesará en función de lo que veo en esta configuración.