Article ID: 120055, created on Feb 4, 2015, last review on Feb 4, 2015

  • Applies to:
  • Plesk 12.5 for Linux
  • Plesk 12.0 for Linux
  • Plesk 11.0 for Linux
  • Plesk 11.5 for Linux
  • Plesk 10.4 for Linux/Unix
  • Plesk 12.5 for Windows
  • Plesk 12.0 for Windows
  • Plesk 11.5 for Windows
  • Plesk 10.4 for Windows

Síntomas

Cuando se intenta abrir el panel de control de un dominio en Parallels Plesk (Plesk) o cuando se intenta abrir el enlace 'dominios' en el marco de navegación a la izquierda, se obtiene el siguiente error:

Unable to load object of type BsDomain with id=: Domain does not exist.

Causa

La causa del problema es una incoherencia en la base de datos psa. Esto sucede si algún registro presente en las columnas 'domains.webspace_id' o 'domain_aliases.dom_id' apunta al ID de un dominio inexistente.

Resolución

  1. Cree un backup de la base de datos.

  2. Compruebe los enlaces a '<id from error>' en la tabla 'psa.domains':

    mysql -uadmin -p`cat /etc/psa/.psa.shadow ` psa -e"select * from domains where webspace_id=<id from error>"
    

    La consulta que puede ver arriba devolverá una lista de los dominios que pertenecen a un espacio web dañado, de existir.

  3. Compruebe las tablas relacionadas con el dominio y los alias de dominio:

    for table in domain_aliases hosting dom_param DomainServices subdomains;do echo TABLE: $table; mysql -uadmin -p`cat /etc/psa/.psa.shadow ` psa -e"select * from $table where dom_id=<id from error>";done
    

    Esta consulta devolverá una lista de los alias de dominio que pertenecen al 'dom_id' no encontrado, así como entradas en las tablas relacionadas que contienen información acerca del dominio.

  4. Si las tablas 'hosting\DomainServices' devuelven un resultado no vacío en el paso 2, compruebe la existencia de una carpeta que contenga el contenido del dominio actual (el valor 'www_root' de la tabla 'hosting') :

        ls -la /var/www/vhosts/domain.com/htdocs
    

    De ser así, debería volver a crear la entrada del dominio en la base de datos. Puede obtenerla a través de los volcados de la base de datos de Plesk ejecutando el siguiente comando:

    export dom_id=<dom_id that you got from hosting table>
    
    find /var/lib/psa/dumps/ -name mysql.daily.dump.*|sort -n -r|while read dump_file;do zcat $dump_file|sed -n '/^INSERT INTO `domains/,/\;/p'|grep -v ALTER|sed 's/INSERT INTO `domains` VALUES //g'|sed 's/),(/)\n(/g'|grep '"("$dom_id'; if [ $? == 0 ];then echo;echo Dump file $dump_file contains the entry;exit 0;fi;done
    
    (2,'2013-11-21','domain.com','domain.com',3,0,'vrt_hst',760319296,1,0,NULL,NULL,'53238f70-4818-49a3-8d7e-1a5220e0e06e','','false','on',1,0,0,0,0)
    
    Dump file /var/lib/psa/dumps/mysql.daily.dump.8.gz contains the entry
    

    Este comando devolverá la entrada del dominio de los volcados de la base de datos de Plesk, de existir. A continuación, puede volver a insertar la entrada en la tabla de dominios:

    mysql -uadmin -p`cat /etc/psa/.psa.shadow ` psa -e"INSERT INTO domains VALUES(2,'2013-11-21','domain.com','domain.com',3,0,'vrt_hst',760319296,1,0,NULL,NULL,'53238f70-4818-49a3-8d7e-1a5220e0e06e','','false','on',1,0,0,0,0);"
    
  5. Si la entrada del dominio no está presente en los volcados y no existe ninguna carpeta de contenido, debería establecer 'dom_id' a 0 para todos los dominios cuyo 'webspace_id' apunte al dominio ausente. Tenga en cuenta que también debería eliminar las entradas de las siguientes tablas:

    mysql> begin;
    mysql> DELETE FROM hosting WHERE dom_id = <id from error>;  
    mysql> DELETE FROM dom_param WHERE dom_id = <id from error>;
    mysql> DELETE FROM domainServices WHERE dom_id = <id from error>; 
    mysql> DELETE FROM domain_aliases WHERE dom_id = <id from error>;
    mysql> DELETE FROM subdomains WHERE dom_id = <id from error>;
    mysql> commit;
    
  6. Si existe la carpeta de contenido del dominio pero no se encuentra la entrada del dominio, cree una petición de soporte para resolver la incidencia.

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 85a92ca67f2200d36506862eaa6ed6b8 46a8e394d6fa13134808921036a34da8 bd7fc88cf1b01f097749ae6f87272128 29d1e90fd304f01e6420fbe60f66f838 e8756e9388aeca36710ac39e739b2b37 dd0611b6086474193d9bf78e2b293040 e0aff7830fa22f92062ee4db78133079 ff5a00b8ead2e480367b019417a04207 c796c01d6951fa24ed54c7f1111667c6 aea4cd7bfd353ad7a1341a257ad4724a 0a53c5a9ca65a74d37ef5c5eaeb55d7f 01bc4c8cf5b7f01f815a7ada004154a2 caea8340e2d186a540518d08602aa065 ed7be2b984f9c27de1d2dc349dc19c6d a766cea0c28e23e978fa78ef81918ab8 742559b1631652fadd74764ae8be475e e335d9adf7edffca6a8af8039031a4c7 2a5151f57629129e26ff206d171fbb5f 8b661cab116c79dbe6c4ac5bbdf1c8cb

Email subscription for changes to this article
Save as PDF