Error interno: /var/www/vhosts/domain.tld/httpdocs is out of webspace

Created:

2016-11-16 12:46:21 UTC

Modified:

2017-08-08 13:09:56 UTC

2

Was this article helpful?


Have more questions?

Enviar una solicitud

Error interno: /var/www/vhosts/domain.tld/httpdocs is out of webspace

Applicable to:

  • Plesk
  • Plesk Automation

Síntomas

Al acceder a la opción de dominios en Parallels Plesk, se obtiene el siguiente error:

Internal error: /var/www/vhosts/domain.tld/httpdocs is out of webspace
Message     /var/www/vhosts/domain.tld/httpdocs is out of webspace
File    Webspace.php
Line    378
Type    PleskFatalException

Go To Previous Page

Search for related Knowledge Base articles

Causa

Incoherencia en la base de datos de Plesk.

Resolución

  1. Seleccione todos los usuarios FTP (incluyendo el usuario predeterminado) para el dominio que experimenta el problema:

    mysql>  select  d.id,d.webspace_id as webspace_id,d.name as domain,su.login,su.home,h.www_root from domains d join hosting h on h.dom_id=d.id left join ftp_users fu on fu.dom_id=d.id join sys_users su on (fu.sys_user_id=su.id or h.sys_user_id=su.id)  where d.name='domain.tld' order by d.name;
        +-----+-------------+------------------+---------------+----------------------------------+-------------------------------------------+
        | id  | webspace_id | domain           | login         | home                             | www_root                                  |
        +-----+-------------+------------------+---------------+----------------------------------+-------------------------------------------+
        | 259 |           0 | domain.tld | user_login | /var/www/vhosts/domain.tld | /var/www/vhosts/domain.tld/httpdocs |
        +-----+-------------+------------------+---------------+----------------------------------+-------------------------------------------+
    1 row in set (0.00 sec)
    
  2. Busque el sys_user predeterminado siguiendo las entradas presentes en las tablas 'hosting' y 'sys_users' :

    mysql>  select dom_id,sys_user_id,www_root from hosting where dom_id=259;
    +--------+-------------+-------------------------------------------+
    | dom_id | sys_user_id | www_root                                  |
    +--------+-------------+-------------------------------------------+
    |    259 |         261 | /var/www/vhosts/domain.tld/httpdocs |
    +--------+-------------+-------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> select id,login,home from sys_users where id=261;
    +-----+---------------+----------------------------------+
    | id  | login         | home                             |
    +-----+---------------+----------------------------------+
    | 261 |   user_login  |    /var/www/vhosts/domain.tld    |
    +-----+---------------+----------------------------------+
    1 row in set (0.00 sec)
    
  3. Existen distintas incoherencias típicas:

    • www_root en la tabla 'hosting' no coincide con la página principal del usuario de sistema predeterminado:

      mysql>  select dom_id,sys_user_id,www_root from hosting where dom_id=259;
      +--------+-------------+-------------------------------------------+
      | dom_id | sys_user_id | www_root                                  |
      +--------+-------------+-------------------------------------------+
      |    259 |         261 | /var/www/vhosts/domain12345.tld/httpdocs |
      +--------+-------------+-------------------------------------------+
      1 row in set (0.00 sec)
      
      mysql> select id,login,home from sys_users where id=261;
      +-----+---------------+----------------------------------+
      | id  | login         | home                             |
      +-----+---------------+----------------------------------+
      | 261 |   user_login  |    /var/www/vhosts/domain.tld    |
      +-----+---------------+----------------------------------+
      1 row in set (0.00 sec)
      

    Esto puede resolverse actualizando 'www_root' :

    mysql> update hosting set www_root='/var/www/vhosts/domain.tld' where dom_id=259;
    
    • La página principal de un usuario FTP adicional está fuera de la carpeta principal de la página principal del usuario de sistema. En este caso, la consulta del punto anterior devolverá más de un resultado y home será distinto para los dos usuarios de sistema:

      mysql>  select  d.id,d.webspace_id as webspace_id,d.name as domain,su.login,su.home,h.www_root from domains d join hosting h on h.dom_id=d.id left join ftp_users fu on fu.dom_id=d.id join sys_users su on (fu.sys_user_id=su.id or h.sys_user_id=su.id)  where d.name='domain.tld' order by d.name;
      
      +-----+-------------+------------+-------------+-----------------------------+--------------------------------------+
      | id  | webspace_id | domain     | login       | home                        | www_root                             |
      +-----+-------------+------------+-------------+-----------------------------+--------------------------------------+
      | 259 |           0 | domain.tld | user_login  | /var/www/vhosts/domain.tld  | /var/www/vhosts/domain.tld/httpdocs  |
      | 260 |           0 | domain.tld | user2_login | /var/www/vhosts/domain2.tld | /var/www/vhosts/domain2.tld/httpdocs |
      +-----+-------------+------------+-------------+-----------------------------+--------------------------------------+
      

    Esto puede resolverse para el usuario de sistema que experimenta el problema:

    mysql>  update sys_users set home='/var/www/vhosts/domain.tld/user_folder' where login='user2_login';
    

    Tenga en cuenta que en este caso debería existir '/var/www/vhosts/domain.tld/user_folder' .

    • Algún dominio en el espacio web tiene el directorio www_root fuera de la carpeta raíz www del espacio web:

      mysql>  select  d.id,d.webspace_id as webspace_id,d.name as domain,su.login,su.home,h.www_root from domains d join hosting h on h.dom_id=d.id left join ftp_users fu on fu.dom_id=d.id join sys_users su on (fu.sys_user_id=su.id or h.sys_user_id=su.id)  where d.name='domain.tld' order by d.name;
      
      +-----+-------------+------------+-------------+-----------------------------+--------------------------------------+
      | id  | webspace_id | domain     | login       | home                        | www_root                             |
      +-----+-------------+------------+-------------+-----------------------------+--------------------------------------+
      | 259 |           0 | domain.tld | user_login  | /var/www/vhosts/domain.tld  | /var/www/vhosts/domain.tld/httpdocs  |
      | 260 |         259 | domain.tld | user2_login | /var/www/vhosts/domain2.com | /var/www/vhosts/domain2.com/httpdocs |
      +-----+-------------+------------+-------------+-----------------------------+--------------------------------------+
      

    Aquí, una entrada 'webspace_id=0' es el dominio principal de un espacio web. Todos los dominios secundarios tienen 'webspace_id=259' y deberían estar presentes en la carpeta '/var/www/vhosts/domain.tld' . Esto puede corregirse estableciendo 'webspace_id=0' para domain2.com:

    mysql> update domains set webspace_id=0 where id=260;
    

    Como alternativa también puede resolverse corrigiendo su www_root en la tabla de hosting:

    mysql> update hosting set www_root='/var/www/vhosts/domain.tld/domain2_folder' where dom_id=260;
    

    Al realizar lo mencionado anteriormente, debería comprobar que la carpeta '/var/www/vhosts/domain.tld/domain2_folder' ya existe en un sistema de archivos.

¿Tiene más preguntas? Enviar una solicitud
Inicie sesión para dejar un comentario.