summary: To host websites, Plesk for Linux uses the Apache and/or Nginx webservers. For the websites to work correctly, their configuration files must be in order.

In this topic, you will learn about the structure of Apache and Nginx configuration files in Plesk for Linux.

Note: this topic explains how Plesk works “under the hood”. It is not useful to anyone without Linux system administration experience.

Apache configuration files

All Plesk-specific Apache configuration files are included in the Apache system configuration (/etc/httpd/httpd.conf by default) via file zz010_psa_httpd.conf using the Include directive. The file zz010_psa_httpd.conf can be located in /etc/apache2/conf.d/ or /etc/httpd/conf.d/ depending on the operating system.

The following list represents the hierarchy of Apache configuration files.

  • /etc/httpd/httpd.conf
    • => /etc/httpd/conf.d/zz010_psa_httpd.conf
      • => /etc/httpd/conf/plesk.conf.d/server.conf
        • => /etc/httpd/conf/plesk.conf.d/ip_default/@<domain_name>.conf -> /var/www/vhosts/system/<domain_name>/conf/httpd_ip_default.conf
      • => /httpd/conf/plesk.conf.d/horde.conf
        • => /httpd/conf/plesk.conf.d/webmails/horde/<domain_name>_webmail.conf
      • => /httpd/conf/plesk.conf.d/roundcube.conf
        • => /httpd/conf/plesk.conf.d/webmails/roundcube/<domain_name>_webmail.conf
      • => /httpd/conf/plesk.conf.d/atmail.conf
        • => /httpd/conf/plesk.conf.d/webmails/atmail/<domain_name>_webmail.conf
      • => /httpd/conf/plesk.conf.d/vhosts/@<domain_name>.conf -> /var/www/vhosts/system/<domain_name>/conf/last_httpd.conf
        • => /usr/local/psa/admin/conf/file_sharing.conf*
        • => /var/www/vhosts/system/<domain_name>/conf/siteapp.d/*.conf
        • => /var/www/vhosts/system/<domain_name>/conf/vhost_ssl.conf
        • => /var/www/vhosts/system/<domain_name>/conf/vhost.conf*
      • => /httpd/conf/plesk.conf.d/forwarding/<domain_name>.conf
      • => /httpd/conf/plesk.conf.d/wildcards/@<domain_name>.conf -> /var/www/vhosts/system/_<domain_name>/conf/last_httpd.conf

File file_sharing.conf is not generated, but shipped with Plesk.

Files from siteapp.d/*.conf are shipped with corresponding APS packages.

The placeholder <domain_name> is the domain name of the website for which the configuration is generated.

nginx configuration files

All Plesk-specific nginx configuration files are included in the nginx system configuration (/etc/httpd/nginx.conf) via file zz010_psa_nginx.conf using the Include directive. The file zz010_psa_nginx.conf is located in /etc/nginx/conf.d/.

The following list represents the hierarchy of nginx configuration files.

  • /etc/nginx/nginx.conf
    • => /etc/nginx/conf.d/zz010_psa_nginx.conf
      • => /etc/nginx/plesk.conf.d/server.conf
      • => /etc/nginx/plesk.conf.d/vhosts/@<domain_name>.conf -> /var/www/vhosts/system/<domain_name>/conf/last_nginx.conf
        • => /var/www/vhosts/system/<domain_name>/conf/vhost_nginx.conf
      • => /etc/nginx/plesk.conf.d/forwarding/ <domain_name> .conf

The placeholder <domain_name> is the domain name of the website for which the configuration is generated.