Interner Fehler: /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?

Anfrage einreichen

Interner Fehler: /var/www/vhosts/domain.tld/httpdocs is out of webspace

Applicable to:

  • Plesk
  • Plesk Automation

Kennzeichen

Beim Zugriff auf die Domain-Option in Plesk wird ein Fehler angezeigt:

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

Ursache

Unstimmigkeiten in der Plesk Datenbank.

Lösung

  1. Wählen Sie alle FTP-Benutzer (einschl. des Standardbenutzers) für die Domain aus, bei der das Problem auftritt:

    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. Finden Sie den Standard-"sys_user" heraus, indem Sie den Einträgen in der Tabelle 'hosting' und der Tabelle 'sys_users' folgen:

    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. Es gibt mehrere typische Unstimmigkeiten:

    • "www_root" in der Tabelle 'hosting' stimmt nicht mit dem "home"-Eintrag des Standardsystembenutzers überein:

      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)
      

    Dies kann durch die Aktualisierung von 'www_root' behoben werden:

    mysql> update hosting set www_root='/var/www/vhosts/domain.tld' where dom_id=259;
    
    • "home" eines zusätzlichen FTP-Benutzers befindet sich nicht im Benutzerordner des Hauptsystembenutzers. In diesem Fall wird im Ergebnis der oben stehenden Abfrage mehr als ein Eintrag angezeigt und der " home "-Eintrag ist bei zwei Systembenutzern verschieden:

      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 |
      +-----+-------------+------------+-------------+-----------------------------+--------------------------------------+
      

    Dies kann für den Systembenutzer, bei dem das Problem besteht, behoben werden:

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

    Bitte beachten Sie, dass in diesem Fall '/var/www/vhosts/domain.tld/user_folder' existieren muss.

    • Das "www_root"-Verzeichnis einer Domain in dem Webspace befindet sich nicht im www-Stammordner:

      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 |
      +-----+-------------+------------+-------------+-----------------------------+--------------------------------------+
      

    Hierbei ist der Eintrag mit 'webspace_id=0' die Hauptdomain des Webspace. Alle untergeordneten Domains haben 'webspace_id=259' und müssen sich innerhalb des Ordners '/var/www/vhosts/domain.tld' befinden. Diese Situation kann wieder richtiggestellt werden, indem Sie 'webspace_id=0' für domain2.com festlegen:

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

    Alternativ können Sie "www_root" in der Hosting-Tabelle korrigieren:

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

    Achten Sie außerdem darauf, bei Anwendung der oben genannten Methode sicherzugehen, dass der Ordner '/var/www/vhosts/domain.tld/domain2_fodler' auf dem Dateisystem vorhanden ist.

Haben Sie Fragen? Anfrage einreichen
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.