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
[cgi:error] [pid 6315] [client 203.0.113.2:36203] script not found or unable to stat: /usr/lib/cgi-bin/
Plesk 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.
ScriptAlias directive manually:
Navigate to Subscriptions > example.com > Apache & Nginx settings > Additional Apache directives.
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/"