Please rate how useful you found this document: 
Average: 2.4 (7 votes)


cPanel is a Unix based web hosting control panel that provides a graphical interface and automation tools designed to simplify the process of hosting a web site. cPanel utilizes a 3 tier structure that provides capabilities for administrators, resellers, and end-user website owners to control the various aspects of website and server administration through a standard web browser.

Source: wikipedia

Note: This tutorial will guide you through the installation of ProcessMaker in cPanel. Since this tutorial is a contribution of a member of our community, we don't support this installation.


  • Processmaker version 1.6 - 2.5
  • Any cPanel version


Creating A New User Account

1. The first step is to create the user for the website.

2. Log into WHM, then search for 'Create a New Account'.

3. Enter in all the details, leave defaults for most.

4. Under 'Mail Routing Settings' change it to 'Backup Mail Exchanger' unless u require otherwise.

5. Now you have your account setup. Check if your IP is correct, otherwise you might need to change your IP.

6. You can do so by searching for 'Change Site's IP Address' and clicking on the account and just selecting from the available IP Addresses.

Installing ProcessMaker

Note: The following tutorial is assuming you have root ssh access and also assumes you have fulfilled all the configuration requirements for installing ProcessMaker. The requirements can be found on this page

Download the desired ProcessMaker OS Version to /home/your_account. It can be found on this page. Best to do it with wget command: $ cd /home/your_account $ wget url

Once the file is done downloading, type in the following command:

$ tar -C public_html -xzvf processmaker-X.X.X.tar.gz

The -C option is shorthand for --directory, which specifies in which directory to decompress the file.

Once the file is done decompressing, you can delete the tarball.

Next type the following commands:

$ cd public_html/processmaker/workflow/engine $ chmod 777 config content/languages plugins xmlform js/labels

We change to the engine directory, which is the heart of the ProcessMaker application. Then, we change permissions for specific directories to allow them to be readable & writable so that ProcessMaker can install itself.

If using SuPHP:

Then, type the following:

$ cd ../public_html $ chmod 755 sysGeneric.php $ cd ../ $ chmod 755 public_html $ cd ../ $ chmod 755 workflow $ cd ../ $ chmod 755 processmaker

The above commands are needed because when using SuPHP, the system is a lot stricter about permissions. If the permissions are too flimsy and unsecure it will give a Internal Server Error Code 500.

Next, type this command:

$ chown -R your_account:your_account processmaker

This command is needed so that the server can run the application, since we installed the application with root user, it by default will be chowned to the root.

If you have a different user running apache, for example, nobody, then I would suggest instead doing the following:

$ chown -R your_account:nobody processmaker

Next, create a file named .htaccess and place it in /home/your_account/public_html/processmaker/workflow/public_html and place the following code inside it:

  AddDefaultCharset UTF-8
  Options FollowSymlinks
  RewriteEngine on
  RewriteRule ^.*/(.*)$ sysGeneric.php [NC,L]
  ExpiresActive On    
  ExpiresDefault "access plus 1 day"
  ExpiresByType image/gif "access plus 1 day"
  ExpiresByType image/png "access plus 1 day"
  ExpiresByType image/jpg "access plus 1 day"
  ExpiresByType text/css "access plus 1 day"
  ExpiresByType text/javascript "access plus 1 day"
  AddOutputFilterByType DEFLATE text/html

If running ProcessMaker on the main domain:

See: How To Change The DocumentRoot

If running ProcessMaker on a sub domain:

Go to the cpanel for your_account. Type Control+F on your keyboard and type in the search box 'Subdomains'. Then, type in the sub domain you will be using. Then, make sure the Document Root public_html/processmaker/workflow/public_html. This can change depending on how you are structuring your website and users.

Next, go to the cpanel for your_account. Type Control+F on your keyboard and type in the search box: MySQL® Databases.

Then create 3 databases. Its not really important what you call them, but it is important you be able to identify which is which. I would suggest to make sure at least the end of the databases are each respectively wf, rb and rp. For the purpose of this tutorial we will call them database_wf, database_rb and database_rp. Then, create a database user. Again, you can call it what you like, but for the purpose of this tutorial we will call it database_user. Then assign database_user to each of the 3 databases, and assign all the rights for each one. Don't worry, only the application will have access to this user, and will not be visible to anyone accessing the system, unless you decide to give it out.

If you did all the above correctly, then when you access the url for the site, you should get the ProcessMaker Installation Screen.

The database configuration section will be highlighted red. Don't worry. This is a good sign.

You can leave the host as localhost unless you require otherwise. Type in the username you created, i.e. database_user. Type in the password you gave it.

Then, select the advanced options from the dropdown above the database section. If you followed the naming convention I used, then type in the following:
Workflow database - database_wf
Rbac database - database_rb
Reporting database - database_rp

If you did not follow my naming convention, then you understand now why I insisted on at least leaving the last 2 letters according to the convention.

Click Test. Now everything should light up green, including the previously red database section.

Now click Install.

If your server configuration met the requirements, then you should see a quick ProcessMaker script run and say completed. Then click on the button to go to the application.

By default ProcessMaker makes only 1 user, called admin, and the password is also admin. I would advise changing the password for it immediately.

Report Table - Absolute/Relative Paths issue

When using cPanel in a WHM installation, if one wishes to create a reporting table, because of the relative paths in the classes created in the shared directory, users cannot open a case. To fix this issue, absolute paths must be used. When you have multiple reporting tables in the database, it is difficult to do it manually every time.