Logo da MMHospedagem
Carregando...
Não é possível acessar o Plesk: Erro interno: Web de serviço de domínio não existe
imprimir
  • 0

Sintomas

  • Plesk mostra o seguinte erro após o login:

    Erro interno: Web de serviço de domínio não existe: domínio=sub.example.com, id=41
    Web de serviço de domínio não existe: domínio=sub.example.com, id=41
    Arquivo DSWeb.php
    Linha 76
    Tipo PleskFatalException

  • Os seguintes erros podem ser mostrados no /var/log/plesk/panel.log arquivo:

    [2015-11-23 22:23:48] ERR [painel] Falha ao pesquisar instâncias do WordPress na assinatura example.com: Domínio com id = 270 não encontrado
    [2015-11-23 22:23:52] ERR [ painel] Tentativa de alterar o status do serviço de correio não configurado. [domain_id = 270]
    [2015-11-23 22:23:52] ERR [painel] Não é possível carregar o objeto do tipo PhDomain com id = 270: falha ao desligar o domínio: não é possível encontrar o nó de serviço para o serviço da web no domínio com id =270
    [2015-11-23 22:23:52] ERR [painel] Algumas das assinaturas selecionadas não foram suspensas.<br>Não foi possível carregar o objeto do tipo PhDomain com id=270: Falha ao desativar o domínio: Não foi possível encontrar nó de serviço para serviço da web no domínio com id = 270
    [2015-11-23 22:23:59] ERR [painel] Sem dados.
    [2015-11-23 22:24:09] ERR [painel] Falha ao pesquisar instâncias do WordPress na assinatura example.com: Recurso com UID 'bd314c87-865a-46e6-b694-342e71899445' não encontrado.

Causa

O domínio mencionado nas mensagens de erro foi excluído, mas o banco de dados PSA ainda contém uma entrada para este domínio.

O banco de dados Plesk não foi atualizado corretamente. A tabela 'psa.DomainServices' não possui registros do tipo "web".

Resolução

Note: Este artigo pode exigir conhecimentos administrativos adicionais para ser aplicado. Se precisar de ajuda, entre em contato com o administrador do servidor ou com o suporte de hospedagem.

Warning: Please check that the domain physically exists before making changes. If it does, back up all the domain content from the corresponding directories /var/www/vhosts/<domain> and /var/qmail/mailnames/<domain> (in case of Linux) or from C:\Inetpub\vhosts and %plesk_dir\MailEnable\postoffices% (in case of Windows).

Existem vários cenários possíveis:

Cenário 1. O domínio existe fisicamente no Plesk

  1. Conecte-se ao servidor via SSH (Plesk para Linux) ou RDP (Plesk para Windows)

  2. Criar backup do banco de dados Plesk

  3. Remova o domínio com ID psa.domains mencionado na primeira mensagem de erro do banco de dados PSA:

    plesk db "DELETE FROM domains WHERE id='41'"
  4. Encontre registros órfãos nos bancos de dados da seguinte maneira:

    Para Plesk no Linux:

    1. Criar psa apsc backups de banco de dados:

      plesk db dump psa > /root/psa_dump_$(date +'%Y-%m-%d').sql

       

      plesk db dump apsc > /root/apsc_dump_$(date +'%Y-%m-%d').sql
    2. Encontre registros órfãos na tabela psa.domains usando os valores mencionados nas mensagens de erro:

      grep 'bd314c87-865a-46e6-b694-342e71899445' /root/apsc_dump_$(date +'%Y-%m-%d').sql

       

      grep 'bd314c87-865a-46e6-b694-342e71899445' /root/psa_dump_$(date +'%Y-%m-%d').sql

       

      grep 'example' /root/apsc_dump_$(date +'%Y-%m-%d').sql

       

      grep 'example' /root/psa_dump_$(date +'%Y-%m-%d').sql | grep -v -E 'log_components|exp_event'
      INSERT INTO Configurations (id, name, serviceNodeId, file, version, objectType, objectId, status, active,
      description, errorFile) VALUES (115,'nginxDomainWebmail',1,'/etc/nginx/plesk.conf.d/webmails/example.com_webmail.conf',
      '14240541100.61180300','nginxDomain',28,'ok','true',NULL,'');


    Para Plesk no Windows:

    1. Abra uma janela elevada do PowerShell para executar os seguintes comandos

    2. Criar psa apsc backups de banco de dados:

      plesk db dump psa > psa_dump_$(get-date -f aaaa-MM-dd).sql

       

      plesk db dump apsc > apsc_dump_$(get-date -f aaaa-MM-dd).sql
    3. Encontre registros órfãos na tabela psa.domains usando os valores mencionados nas mensagens de erro:

      (Select-String -Path apsc_dump_$(get-date -f yyyy-MM-dd).sql -Pattern "INSERT INTO ``.* bd314c87-865a-46e6-b694-342e71899445 "|Select-String -Pattern "log_components| exp_event" -NotMatch ).Line -split "(?=,()" -split "(?= ()" | Select-String -Pattern "INSERT INTO| bd314c87-865a- 46e6-b694-342e71899445 "

       

      (Select-String -Path psa_dump_$(get-date -f yyyy-MM-dd).sql -Pattern "INSERT INTO ``.* bd314c87-865a-46e6-b694-342e71899445 "|Select-String -Pattern "log_components| exp_event" -NotMatch ).Line -split "(?=,()" -split "(?= ()" | Select-String -Pattern "INSERT INTO| bd314c87-865a- 46e6-b694-342e71899445 "

       

      (Select-String -Path apsc_dump_$(get-date -f yyyy-MM-dd).sql -Pattern "INSERT INTO ``.* exemplo "|Select- String -Pattern "log_components|exp_event" -NotMatch ).Linha - split "(?=,()" -split "(?= ()" | Select-String -Pattern "INSERT INTO| exemplo "

       

      (Select-String -Path psa_dump_$(get-date -f yyyy-MM-dd).sql -Pattern "INSERT INTO ``.* exemplo "|Select- String -Pattern "log_components|exp_event" -NotMatch ).Linha - split "(?=,()" -split "(?= ()" | Select-String -Pattern "INSERT INTO| exemplo "
      INSERT INTO `hosting` VALUES
      ,(41,'false','false','true ','falso','fastcgi-7.4','falso','falso','falso','falso','verdadeiro','4.0','verdadeiro','awstats','falso','hosting_write_template .xml','C:\Inetpub\vhosts\example.com\httpdocs','falso',0,-1,-1,'verdadeiro')
  5. Remova registros órfãos da etapa anterior executando DELETE instruções SQL no psa banco de dados:

Cenário 2. O domínio não existe fisicamente

  1. Conecte-se ao servidor via SSH (Plesk para Linux) ou RDP (Plesk para Windows)

  2. Criar backup do banco de dados Plesk

  3. Acessar banco de dados Plesk

  4. Alteração htype do domínio removido incorretamente para nenhum:

    mysql> atualizar domínios set htype='none' where id=41 ;
  5. O domínio ficará visível na interface do Plesk com "Sem hospedagem".

  6. Remova o domínio através da interface Plesk em Domínios > selecione exemplo.com > Clique em Remover

Cenário 3. Aplicável quando o domínio existe ou não.

  1. Conecte-se ao servidor via SSH (Plesk para Linux) ou RDP (Plesk para Windows)

  2. Criar backup do banco de dados Plesk

  3. Acessar banco de dados Plesk

  4. Adicione as entradas ausentes ao banco de dados PSA com consulta MySQL.

    Primeiro, verifique se existe uma entrada em ‘DomainServices’ para este domínio:

    mysql> selecione * em DomainServices onde dom_id = 41;
    +-----+--------+------+--------+---------------+-- --------------+
    | identificação | dom_id | tipo | estado | parâmetros_id | ipCollectionId |
    +-----+--------+------+--------+---------------+-- --------------+
    | 322 | 41 | correio | 16 | 585 | 322 |
    +-----+--------+------+--------+---------------+-- --------------+
    1 linha no conjunto (0,00 seg)
    • Adicione uma entrada semelhante do tipo "web" e adicione registros relacionados a 'IpAddressesCollections'

      mysql>início;
      mysql> selecione @dom_id := <missing_domain_id>;
      mysql> select @ip := (selecione dr.val de dns_recs dr, domínios d onde d.id = @dom_id e dr.dns_zone_id = d.dns_zone_id e dr.type = 'A' e dr.host = concat(d. nome,'.'));
      mysql> selecione @ip_id := (selecione o id de IP_Addresses onde ip_address = @ip);
      mysql> INSERT INTO IpCollections VALUES (NULL);
      mysql> SELECT @ip_collection_id := LAST_INSERT_ID();
      mysql> insira em IpAddressesCollections (ipCollectionId, ipAddressId) valores (@ip_collection_id, @ip_id);
      mysql> inserir em DomainServices (dom_id, tipo, status, parâmetros_id, ipCollectionId) valores (@dom_id, 'web', 0, 0, @ip_collection_id);
      mysql>comprometer;

Esta resposta lhe foi útil?

Artigos Relacionados

MMHospedagem