Article ID: 119796, created on Nov 13, 2014, last review on Nov 13, 2014

  • Applies to:
  • Plesk

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.

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c e0aff7830fa22f92062ee4db78133079 caea8340e2d186a540518d08602aa065

Email subscription for changes to this article
Save as PDF