• Buenas,

    estoy intentando migrar unas webs de un servidor a otro (un VPS con Debian) y…la primera en la frente: lo único que obtengo es un error 500. Tengo activas las opciones de debug en el wp-config, pero sin embargo el fichero de log ni siquiera de crea.

    Sospecho que puede ser alguna configuración (o falta de ella) en Apache, pues lo he instalado yo mismo, pero como no se qué camino sigue el proceso de depurado pues estoy totalmente perdido en cuanto a qué hacer o revisar. Alguien podría orientarme un poco?

    Gracias

Viendo 8 respuestas - de la 1 a la 8 (de un total de 8)
  • Moderador kallookoo

    (@kallookoo)

    Hola,
    Para hacer un debug normal solo deberias cambiar el valor de la constante WP_DEBUG a true. Lo comento porque hablas en plural.
    Has revisado los logs de apache, php-fpm o php, en /var/log/*?
    Ese error es que no tienes configurado algo bien, te aconsejo que busques algun tutorial de como instalar Apache, PHP, etc…
    Si despues de configurar y probarlo aun el WordPress no crea el debug.log comprueba lo siguiente.
    Has comprobado que tienes los permisos correctos,tanto de las carpetas como el usuario de apache?
    Apache por defecto usa www-data como usuario y grupo.
    Asi sin mas es lo primero que creo que deberias comprobar, una manera rapida de comprobar los permisos es por ejemplo instalar un plugin o theme, si no tira ningun error habria que ver como tienes configuradas las constantes en el wp-config.php

    • Esta respuesta fue modificada hace 5 años, 9 meses por kallookoo.
    Iniciador del debate manuelfr

    (@manuelfr)

    Bueno, con el plural de las opciones de depuración me refería a WP_DEBUG_DISPLAY y WP_DEBUG_LOG. Sea como sea, con ellas o sólo con WP_DEBUG, ni crea el fichero de log ni muestra logs por pantalla. No puedo hacer la prueba de instalar plugins ni nada porque no puedo hacer absolutamente nada: pantalla blanca con error 500 con sólo entrar en la web.

    Apache y PHP lo instalé siguiendo algún manual para instalar todo, junto a MariaDB (que es la BD que he instalado). No recuerdo cual fue exactamente, pero no recuerdo mención alguna a nada relativo a logs o permisos.

    Revisando permisos, la carpeta correspondiente dentro de /var/www/ es de www-data, y a ese usuario no le he hecho modificación alguna.

    En cuanto a los logs en si, el de apache no me muestra nada en particular. Y de PHP…no está logando nada. Extraño, iré investigando por aquí y a ver que voy consiguiendo.

    Iniciador del debate manuelfr

    (@manuelfr)

    Vuelvo a esto después de unos días de «vacaciones»…

    He estado tocando algunas cosas sobre permisos y estas son las pruebas…

    #cd /var/www/
    #chown webmaster:www-data CARPETA
    #chown webmaster:www-data-R CARPETA/*
    #find . -type f -exec chmod 774 {} \;
    #find . -type d -exec chmod 755 {} \;

    De esta forma no me deja actualizar plugins y demás, pero sí me deja subir ficheros a la biblioteca.

    Tras hacer

    #chown www-data:www-data -R CARPETA/*

    entonces sí me deja actualizar plugins y demás. Pero en ninguno de los dos casos me escribe sobre el fichero debug.log (la depuración de WordPress está activada), que es el fondo de la cuestión…

    El usuario webmaster es el que pretendo usar para conectarme por FTP:

    #id webmaster
    uid=1001(webmaster) gid=1001(webmaster) grupos=1001(webmaster),33(www-data)

    Me podéis orientar un poco sobre qué puede estar pasando?
    Gracias

    Moderador kallookoo

    (@kallookoo)

    Hola,
    Asi de primeras lo que te pasa es raro con los datos que tengo, cuando hablamos del archivo debug.log.
    Asi que primero intentaremos solucionar el error 500.
    En los logs del sistema tiene que darte info para detectar donde puede estar el problema.
    Yo trabajo con ubuntu server, pero no tiene mucha diferencia.
    Primero en el terminal, comprueba que los servicios se inician bien, el comando es: systemctl status apache2.
    El php esta a pelo o usas php-fpm?
    Si usas php-fpm, comprueba el servicio, systemctl status php?-fpm, cambia el interrogante por la version que tengas instalada, es decir systemctl status php7.2-fpm por ejemplo.
    Tienes configurado el error_log de php?
    Estaria bien para futuras comprobaciones, asi no usas el syslog.
    En el terminal, vamos ha crear el phpinfo.
    Es una manera rapida de comprobar que el php funciona y de paso te da info.
    echo "<?php phpinfo();" > /var/www/html/phpinfo.php
    Si se carga sin problemas pasamos a los pasos basicos:
    Restaura los permisos a los predeterminados, 755 para carpetas y 644 para archivos, usuario y grupo root.
    Desde /var/www en adelante.
    Este paso no es basico pero descartamos problemas, por defecto funciona bien sin tocarlos, o por lo menos a mi.
    Ahora como no puedes entrar en el WordPress, haremos lo siguiente:
    Renombra la carpeta plugins por otro nombre.
    Crea una carpeta llamada plugins
    Dentro de themes deja solo el theme Twenty Fifteen.
    Ahora intenta entrar en url/wp-admin

    Ya diras…

    Iniciador del debate manuelfr

    (@manuelfr)

    Buenas, voy por partes.

    Reiniciando apache no parece suceder nada significativo.
    – syslog:

    Jul 20 11:44:47 manuferVPS systemd[1]: Stopping The Apache HTTP Server…
    Jul 20 11:44:47 manuferVPS apachectl[6413]: AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using manuferVPS.es. Set the ‘ServerName’ directive globally to suppress this message
    Jul 20 11:44:48 manuferVPS systemd[1]: Stopped The Apache HTTP Server.
    Jul 20 11:44:48 manuferVPS systemd[1]: Starting The Apache HTTP Server…
    Jul 20 11:44:48 manuferVPS apachectl[6421]: AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using manuferVPS.es. Set the ‘ServerName’ directive globally to suppress this message
    Jul 20 11:44:48 manuferVPS systemd[1]: Started The Apache HTTP Server.

    – apache error.log:

    [Fri Jul 20 11:44:48.188292 2018] [mpm_prefork:notice] [pid 6395] AH00169: caught SIGTERM, shutting down
    [Fri Jul 20 11:44:48.306274 2018] [mpm_prefork:notice] [pid 6425] AH00163: Apache/2.4.25 (Debian) configured — resuming normal operations
    [Fri Jul 20 11:44:48.306361 2018] [core:notice] [pid 6425] AH00094: Command line: ‘/usr/sbin/apache2’

    Tengo php7.0, pero systemctl status php7.0 me dice que servicio no encontrado. El phpinfo me devuelve lo siguiente relacionado con el log:

    error_log php_errors.log php_errors.log
    log_errors On On
    APACHE_LOG_DIR /var/log/apache2

    Pero el archivo /var/log/apache2/php_error.log no existe

    Realizados los permisos y cambios que me dices sobre themes y plugins, la web funciona. Incluso volviendo a poner los plugins y themes como estaban. Es decir, que por aquí, hay avance, así que bien.

    Sin embargo el debug.log sigue sin crearse (para esta web en particular ya me dará un poco igual, pero lo necesitaré para otra más adelante). Es una mera suposición, pero pudiera tener algo que ver con el PHP tampoco parezca estar logando nada?

    Gracias.

    Moderador kallookoo

    (@kallookoo)

    Es normal que systemctl status php7.0 te diga que no existe, no usas el php7.0-fpm. Tienes instalado el php sin FastCGI.

    Ahora mismo ya no puedo sugerirte muchas cosas…
    Expecto que busques info, de como montar un servidor, apache, php, etc…
    Te lo comento basicamente porque si gestionas tu una vps tienes que tener conocimientos, no basta con instalar, tienes que configurar el firewall, apache, etc… y ajustarlo a tus necesidades o los clientes.
    Un sitio aunque en ingles para tutorias que me gusta es digitalocean, echale un vistazo.
    Me olvidaba, el php_errors.log deberias modificarlo para tenerlo asi:
    error_log = /var/log/php_error.log
    Los logs en la carpeta de logs del sistema para localizarlos rapido.
    La variable APACHE_LOG_DIR la usa apache para definir donde se crean el access.log y error.log, y los virtual hosts *.log

    Iniciador del debate manuelfr

    (@manuelfr)

    Digitalocean es una de las web de donde he ido sacando info, seguiré a ello. Lo del VPS, sin ánimo de quitar importancia a nada, es de uso personal al fin y al cabo. Vamos, que precisamente ando en aprender de todo esto…paso a paso.

    Gracias por tu indicaciones.

    Moderador kallookoo

    (@kallookoo)

    Buenas te sugiero que uses ubuntu (server), sobre todo si estas empezando, no se tus conocimientos de sistemas, pero por suerte o desgracia encuentras mas info para esa distro.
    Cuando tengas los conceptos basicos mas por la mano, ya podras probar debian, centoos, etc…

    Si tu proveedor de vps tiene snapshots te sugiero que antes de hacer cambios importantes te hagas un snapshot.

    Una cosa que hago yo es usar las carpetas conf.d para modificar el php.ini,apache o nginx asi siempre puedo volver a la configuracion original, moviendo o renombrando mi archivo.
    Ejemplo yo uso un archivo para php llamado 99-php.ini que uso para todas las versiones de php, lo copio en /etc/php/*/fpm/conf.d y reinicio los servicios y como el archivo empieza por 99 se carga el ultimo con lo que cualquier opcion definida con anterioridad la puedo cambiar sin modificar el archivo original.
    Y con apache, nginx, mysql, mariadb, phpmyadmin, etc… hago lo mismo. Yo trasteo mucho y si cada vez que creo una imagen tengo que modificarlo seria un coñazo, de esta manera es mas rapida y sencilla al tener los archivos de configuracion separados. Pero es mi opinion…

    • Esta respuesta fue modificada hace 5 años, 9 meses por kallookoo.
Viendo 8 respuestas - de la 1 a la 8 (de un total de 8)
  • El debate ‘WordPress no crea el fichero debug.log’ está cerrado a nuevas respuestas.