Obtención del error interno "Domain Service Web not exists"

Created:

2016-11-16 13:20:00 UTC

Modified:

2017-08-08 13:09:43 UTC

1

Was this article helpful?


Have more questions?

Enviar una solicitud

Obtención del error interno "Domain Service Web not exists"

Applicable to:

  • Plesk for Linux/Unix
  • Plesk for Windows

Síntomas

Una vez he iniciado sesión en Parallels Plesk, obtengo el siguiente error:

Internal error: Domain Service Web not exists: domain=sub.domain.tld, id=41
Domain Service Web not exists: domain=sub.domain.tld, id=41
File     DSWeb.php
Line    76
Type    PleskFatalException

Causa

  1. El subdominio sub.domain.tld ha sido eliminado, pero la base de datos psa aun contiene una entrada para dicho subdominio.
  2. La base de datos de Plesk no se actualizó correctamente. La tabla ' psa.DomainServices ' no presenta ningún registro de tipo "web".

Resolución

Existen dos soluciones posibles:

  1. Eliminar el subdominio sub.domain.tld de la base de datos psa y volverlo a crear:

    mysql> delete from domains where id='41';
    Query OK, 1 row affected (0.04 sec)
    

    NOTA: antes de realizar ningún cambio, compruebe que el dominio existe físicamente. De ser así, cree un backup de todo el contenido del dominio presentes en las carpetas /var/www/vhosts/ y /var/qmail/mailnames/ correspondientes. Asimismo, cree un backup de la base de datos de Plesk.

    /usr/local/psa/admin/bin/php /usr/local/psa/admin/plib/scripts/upgrade_web_domain_services_1010.php
    
  2. Añada las entradas no encontradas a la base de datos psa.

    En primer lugar, compruebe que en 'DomainServices' existe una entrada para este dominio:

    mysql> select * from DomainServices where dom_id = 41;
    +-----+--------+------+--------+---------------+----------------+
    | id  | dom_id | type | status | parameters_id | ipCollectionId |
    +-----+--------+------+--------+---------------+----------------+
    | 322 |    41  | mail |     16 |           585 |            322 |
    +-----+--------+------+--------+---------------+----------------+
    1 row in set (0.00 sec)
    

    A continuación, añada un entrada similar de tipo "web" y añada los registros relacionados a 'IpAddressesCollections' :

    mysql> begin;
    mysql> select @dom_id := <missing_domain_id>;
    mysql> select @ip := (select dr.val from dns_recs dr, domains d where d.id = @dom_id and dr.dns_zone_id = d.dns_zone_id and dr.type = 'A' and dr.host = concat(d.name,'.'));
    mysql> select @ip_id := (select id from IP_Addresses where ip_address = @ip);
    mysql> INSERT INTO IpCollections VALUES (NULL);
    mysql> SELECT @ip_collection_id := LAST_INSERT_ID();
    mysql> insert into IpAddressesCollections (ipCollectionId, ipAddressId) values (@ip_collection_id, @ip_id);
    mysql> insert into DomainServices (dom_id, type, status, parameters_id, ipCollectionId) values (@dom_id, 'web' , 0, 0, @ip_collection_id);
    mysql> commit;
    
¿Tiene más preguntas? Enviar una solicitud
Inicie sesión para dejar un comentario.