Question: CGI scripts in Plesk do not work on domain with application installed from Application Catalog: script not found or unable to stat
Applicable to:Symptoms- CGI scripts do not work on a domain if there is an application (e.g. WordPress) installed via the Plesk Application Catalog (either through Tools & Settings > Application Vault or Domains > example.com > Applications) to the Document Root of the domain.
- CGI support is enabled in Domains > example.com > Hosting Settings.
- CGI directory location it automatically detected as /usr/lib/cgi-bin/. The following error might be found in /var/www/vhosts/system/example.com/logs/error.log:
[cgi:error] [pid 6315] [client 203.0.113.2:36203] script not found or unable to stat: /usr/lib/cgi-bin/CausePlesk does not add the ScriptAlias directive for /cgi-bin/ if the application from Application Catalog is installed in the Document Root directory. This behavior is the requirement of https://www.apsstandard.org/ that was made in order to prevent corrupting /cgi-bin/ of already existing applications on a domain. That is why when an application is installed from the Application Catalog, ScriptAlias is removed from domain's configuration file.
ResolutionDefine ScriptAlias directive manually:
1.Log in to Plesk.
2.Navigate to
Subscriptions > example.com > Apache & Nginx settings > Additional Apache directives.3.Add the desired location for /cgi-bin/ to
Additional directives for HTTP and
Additional directives for HTTPS:ScriptAlias "/cgi-bin/" "/var/www/vhosts/example.com/httpdocs/cgi-bin/"