Virtual Host Structure (Linux)

The table below shows the list of directories that Plesk creates for each virtual host. Note that Plesk does not add all the directories by default. It creates some of the directories only when the website owner needs them. Such directories are marked as created On demand. For example, after a customer adds a website, it does not have the /web_users directory. Plesk will create it only after the customer adds his first web user.

The following table lists subdirectories of a virtual host directory /var/www/vhosts/<vhost>:

  Directories Tree   User Group Permissions Description Created
/<VHOST>     user psaserv 755   Always
  /anon_ftp   user psaserv 750 Anonymous FTP files On demand
  /error_docs   user psacln 755 Error message files Always
    <doc>.html user psacln 644    
  /httpdocs   user psaserv 750 HTTP documents Always
    /cgi-bin user psaserv 755 CGI scripts Always
  /logs   user root 700 Link to ../system/<vhost>/logs Always
  /bin   root root 755 Chroot environment directories On demand
  /dev   root root 755    
  /etc   root root 755    
  /lib   root root 755    
  /tmp   root root 755    
  /usr   root root 755    
  /var   root root 755    
  /web_users   root root 755 Web users’ directory On demand
    /<web_user> user psaserv 750 Web user directory On demand
  /<subdomain>   user psaserv 750 HTTP and HTTPs documents of a subdomain On demand
  /<domain>   user psaserv 750 HTTP and HTTPs documents of an additional domain On demand

Note

The /httpdocs directory and the /cgi-bin directory inside it should have the owner:psaserv ownership. All other files and directories inside the /httpdocs directory should have the owner:psacln ownership.

The following table lists directories created for a virtual host in the /var/www/vhosts/system/<vhost>:

   Directories Tree   User Group Permissions Description Created
/<VHOST>     root psaserv 744   Always
  /conf   root psaserv 750 Configuration files. Always
  /etc   root root 755 Configuration files Always
  /logs   psaadm root 700 Virtual host logs Always
  /pd   root psaserv 710 Passwords to protected directories Always
    d..<dir1>@<dir2> root psaserv 310   Always
  /statistics   root psaserv 550 Statistics directory Always
    /anon_ftpstat root root 755 Anonymous FTP statistics. Always
    /ftpstat root root 755 FTP user statistics Always
    /logs root root 777 Link to /logs Always
    /webstat root root 755 HTTP user statistics Always
    /webstat-ssl root root 755 HTTPS user statistics Always

Differences from Previous Versions

The structure described above was introduced in Plesk 11.5. It has the following differences compared to the structure of earlier Plesk versions:

  • Some directories are created on demand. Previously, all the directories were created by default.
  • The following directories were moved from /var/www/vhosts/<VHOST> to /var/www/vhosts/system/<VHOST>:
Old Location New Location Comment
/<VHOST>/conf /system/<VHOST>/conf Configuration files
/<VHOST>/pd /system/<VHOST>/pd Passwords to protected directories
/<VHOST>/statistics /system/<VHOST>/statistics Statistics directory
/<VHOST>/statistics/logs /system/<VHOST>/logs Virtual host logs
  • The following directories are not included in Plesk virtual hosts:
    • /httpsdocs
    • /subdomains
    • /private