What is suEXEC?
SuEXEC is a feature of Apache that allows CGI scripts to run under your pair Networks username and not as the default user "nobody." suEXEC can protect your scripts and any files they create from other customers on your server when used properly.
suEXEC performs a function similar to CGIwrap but with two main differences:
- It uses shorter, less complex URLs which do not reveal your account username.
- It is enabled on a per-domain name basis and affects every CGI script running under that domain name.
suEXEC can lead to greater security from other customers on your server. However, if one of your scripts under your domain name that uses suEXEC is compromised, then the attacker could have access to all of your files, including your email files.
We recommend against using suEXEC if you are not familiar with it or if you are running third-party scripts where you have not examined the scripts' source code.
Enabling suEXEC on domains that have CGI scripts already in use can cause problems if those scripts have data files that they created.
Enabling suEXEC for a Domain Name
- Log into the Account Control Center (ACC)
- Click Domain Hosting Management
- Click Manage
- Click on the domain name for which you want to enable suEXEC
- Click Enable suEXEC
- On the confirmation page, confirm that you wish to enable suEXEC
Using suEXEC with PHP
By default, any PHP scripts under the domain will continue to be run under the default user "nobody."
In order to execute PHP scripts under your pair Networks username using suEXEC, you must first switch from the default of using the PHP Apache module, to executing PHP through CGI.
To do this, you must first connect to your account via SSH and copy the CGI version of PHP into your own cgi-bin directory. For more information about connecting to your account via SSH, see our How to Connect to Your Account with SSH article.
Use the following command in the command line after you have established an SSH connection:
cp /usr/www/cgi-bin/php5.cgi ~/public_html/cgi-bin
Then you must create a .htaccess file in the directory where your PHP files reside and add these lines:
Action application/x-pair-sphp /cgi-bin/php5.cgi AddType application/x-pair-sphp .php
Once these items are in place, and suEXEC is enabled, your PHP files will be executed under your pair Networks username.
Alternatives to suEXEC
In addition to suEXEC, we offer CGIwrap, which allows you to run only specific scripts as your pair Networks username.
You can also use php-cgiwrap to run your PHP scripts under your own username.