Running Perl CGI on the Mac OS X Apache Web Server

The Mac OS X operating system includes a pre-configured Apache web server and also includes the libraries needed to run Perl. Thus, Perl CGI scripts can be run without any configuration changes to the Apache configuration as long as the scripts are placed in the correct location and given the correct file permissions.

This guide assumes you are using OS X Leopard, although the steps should be the same or similar for earlier versions of OS X.

The default location to place CGI programs for the OS X apache installation is in the following directory:


Files placed in this directory can be accessed via the following URL:


In order for Apache to be able to execute the CGI script, the permissions on the file must be set correctly. For example, open EditRocket and create a file called with the following contents. Save this file to the /Library/WebServer/CGI-Executables directory.

print "Content-type: text/html; charset=iso-8859-1\n\n";
print "<html>";
print "<body>";
print "Test Page";
print "</body>";
print "</html>";

Open a terminal window (Applications -> Utilities -> Terminal). Execute the following command:

cd /Library/WebServer/CGI-Executables

Then execute the following (if prompted, enter your password)

sudo chmod 755

You now have a Perl script,, saved with the correct permissions in the /Library/WebServer/CGI-Executables directory.

Now, we need to restart the web server to make sure the changes take effect. To restart, do the following:

1. Go to System Preferences -> Sharing View

2. Uncheck the Web Sharing box. Then check the Web Sharing box again. This will start and stop the apache web server.

You can test this page by entering the following in your web browser: