Cobra Forum

Plesk Panel => Webserver => Topic started by: Suhitha on Dec 22, 2025, 12:33 AM

Title: Perl or cgi script cannot be executed: 500 Internal Server Error
Post by: Suhitha on Dec 22, 2025, 12:33 AM
Question: Perl or cgi script cannot be executed: 500 Internal Server Error


Applicable to:


Symptoms

500 Internal Server Error

AH02811: script not found or unable to stat: /var/www/vhosts/example.com/cgi-bin
[client 203.0.113.2:55719] End of script output before headers: script.pl
[client 203.0.113.2:55719] End of script output before headers: script.cgi



uid: (10000/johndoe) gid: (1003/1003) cmd: script.pl
target uid/gid (10000/1003 or 1002) mismatch with directory (10000/1003) or program (0/0)


Cause

Incorrect permissions are set for /var/www/vhosts/example.com/httpdocs/cgi-bin/script.pl file or entire /var/www/vhosts/example.com/httpdocs/cgi-bin/ directory.


Resolution

1.Connect to the server using SSH

2.Find the system user of the subscription example.com:

# plesk db -Ne "select su.login from domains d, hosting h, sys_users su where d.id=h.dom_id and h.sys_user_id=su.id and d.name='example.com';"
johndoe

3.Set correct permissions and ownership for the directory and script with the system user obtained on the previous step:

# chown -R johndoe:psacln /var/www/vhosts/example.com/httpdocs/cgi-bin

# chmod ug+x /var/www/vhosts/example.com/httpdocs/cgi-bin/script.pl

Note:script.pl should be changed to the real cgi or perl script name.

4.Only if issue is not fixed, apply the following to restore default permissions for the domain:

# plesk repair fs example.com

                  As a workaround: Make CGI scripts run out of cgi-bin folder

1.Log into Plesk.

2.Make sure that FastCGI or CGI PHP handler is selected in Domains > example.com > PHP settings.

3.Add the following content both to additional HTTP and HTTPS Apache directives:

SetHandler cgi-script .cgi .pl
4.If the script still does not execute, in addition to the line from step 3, add the following content into additional HTTP and HTTPS Apache directives:

<Directory "/var/www/vhosts/example.com">
Options FollowSymLinks Includes ExecCGI
</Directory>