Stack 220 provides detailed information about the database and application server configurations needed to correctly install the following versions of ProcessMaker on the platform CentOS/RHEL 7.x under Apache web server.

ProcessMaker 3.2.2

Stack 220 is supported by ProcessMaker, meaning that it has been tested by the Quality Control team.


Platform Database PHP
CentOS/RHEL 7.x (Latest version) MySQL 5.6.x 5.6.x
Web Server Filesystem Architecture
Apache 2.4.x ext4 64-bit


Assuming you already have a CentOS 7.x.x Core or Desktop installed, execute the following commands in order to have the stack ready to install ProcessMaker. Follow the next step in a terminal (if there is installed CentOS Desktop) or in the bash (if there is installed CentOS Core).

Step 1: Remove MariaDB

By default CentOS 7.x comes with some MariaDB modules installed. so we need to uninstall them. Execute the following command to uninstall MariaDB modules.

yum -y remove mariadb*

Step 2: Install Basic Tool

This tool is very useful while configuring the environment, especially if there is installed CentOS Core environment. Execute the following command to install the tool.

yum -y install nano

Step 3: Install Apache 2.4

mod_ssl is an Apache module that provides SSL v2/v3 and TLS v1 support for the Apache HTTP server necessary for ProcessMaker.
Run the following command to install Apache 2.4 and the SSL module:

yum -y install httpd mod_ssl

Then, start the Apache service and set it to start automatically at boot.

service httpd start chkconfig httpd on

Make sure the httpd service is running by checking its status with the following command:

systemctl status httpd

The status of the httpd service should be "active (running)":

Step 4: Install PHP 5.6

CentOS 7 (and its EPEL repository) comes with PHP 5.4 by default. PHP 5.4 is no longer supported by ProcessMaker, so do not forget to add the following repository before installing PHP 5.6.

First, add the corresponding EPEL repository to download PHP.

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Then, install PHP 5.6 along with all the following extensions that ProcessMaker needs to work properly.

yum -y install php56w yum -y install php56w-mysqlnd php56w-gd php56w-soap php56w-ldap php56w-xml php56w-mbstring php56w-cli php56w-curl php56w-mcrypt php56w-devel php56w-pecl-apcu

To check if all the PHP modules were installed, run the following command:

rpm -qa |grep php

The outcome will be similar to the following:

Step 5: Download MySQL Community Server

Go to the MySQL 5.6 Community Server website to download the program: https://dev.mysql.com/downloads/mysql/5.6.html#downloads.

In Select Operating System, select "Red Hat Enterprise Linux / Oracle Linux". Download the "Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit) RPM Bundle" or the client and server rpm's only.

Step 6:Install MySQL 5.6.XX

Warning: ProcessMaker is not compatible with MySQL STRICT mode, which is enabled by default as of MySQL 5.6.6. Read the Turning Off MySQL STRICT Mode section to learn how to disable it.

After downloading the latest MySQL 5.6.xx available version to the local folder, install it. Note that depending on the MySQL version, the installation process can change slightly (i.e. the root password might be not automatically set up).

tar -xvf MySQL-5.6.40-1.el7.x86_64.rpm-bundle.tar

Install the MySQL Server and Client.

rpm -ivh MySQL-server-5.6.40-1.el7.x86_64.rpm rpm -ivh MySQL-client-5.6.40-1.el7.x86_64.rpm

Start the MySQL service and set it to start when the server is started.

service mysql start chkconfig mysql on

Change the password of the .mysql_secret.

cat /root/.mysql_secret mysql_secure_installation

Follow the steps and set up the password that will be used in the ProcessMaker installation.

Step 7: Disable SELINUX

Execute the following command to disable SELINUX:

echo "SELINUX=disabled" > /etc/selinux/config echo "SELINUXTYPE=targeted" >> /etc/selinux/config

Step 8: Install Firewall and Open the Needed Ports

CentOS 7 cannot work without the firewall so we will install an interface to configure it in a friendly way.

yum -y install firewalld

Set it to auto start.

service firewalld start chkconfig firewalld on

Open port 80, which is what ProcessMaker uses by default. In general, if a port needs to be used this process needs to be done with the required port.

firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload

Step 9: Reboot the Server

After all these installations the server needs to be rebooted.

Configuration and ProcessMaker Installation

To learn how to configure Apache, MySQL, PHP and install ProcessMaker, read Configuration and ProcessMaker Installation.