|Note: Take into notice that this platform is not officially supported by ProcessMaker. The Slackware Installation has been included under the experimental section, since this installation has NOT being tested by ProcessMaker QA Department.|
Follow this tutorial to install ProcessMaker 3 in Slackware 14.2 and later. Slackware is a conservative community Linux distribution that aims for design, stability and simplicity.
Before installing ProcessMaker, check the Installation Requirements to see whether your server meets the necessary hardware and software requirements.
- ProcessMaker v 188.8.131.52, v.3.0.2, or v.3.0.4
- Slackware v. 14.2 (latest version)
This guide assumes that a full Slackware installation is ready and that the network has already been configured.
Step 1: Installing Apache, MySQL and PHP
|Warning: ProcessMaker is not compatible with MySQL STRICT mode, which is enabled by default in MySQL 5.7. Read the Turning Off MySQL STRICT Mode section to learn how to disable it. Since MySQL 5.7 is NOT part of any official ProcessMaker stack, the application has not been tested entirely in this version of MySQL. Therefore, ProcessMaker may not run correctly even if STRICT mode is disabled.|
If a full installation was performed, Slackware 14.2 comes with the following versions already installed:
- Apache 2.4.20
- PHP 5.6.23
- MariaDB 10.0.26
To verify this, open a terminal with a user that has root privileges and run the following command to search for the package:
If the Apache package is not installed, write the following command to first download it.
A dialog will be displayed to select an Apache version.
Once downloaded, install the package executing the following command:
To start the httpd server and to be sure it starts each time at boot, set the /etc/rc.d/rc.httpd file as executable and start it with the following command.
MariaDB 10.0.26 is already installed as the default database server along with PHP version 5.6.23 when the Slackware 14.2 installation was performed.
Step 2: Configure PHP Settings
Restrictions about PHP
Please take notice of the following PHP restrictions:
- ProcessMaker does not support PHP 7.
- In some hosted servers the get_headers and apache_request_headers functions may be disabled, this will cause ProcessMaker's API doesn't work properly since REstler library uses those functions. Make sure to have those functions enabled.
To avoid viewing unnecessary warning messages in the
@@__ERROR__ system variable in the debugger, it is recommended to turn off deprecated and strict warnings:
Open the PHP's configuration file php.ini located at /etc/ with your favorite editor.
Search for the following lines and edit them using the following configurations:
Next, uncomment the following extensions (remove the ; symbol at the beginning of each line):
Save the changes and close the file.
Step 3: Download & Extract ProcessMaker
Go to ProcessMaker's SourceForge page and download a recent tarball of ProcessMaker, which should be named processmaker-X.X.X.X-community.tar.gz.
After the download has finished, decompress the tarball in the directory where ProcessMaker will be installed. ProcessMaker can be installed in any directory which is not publicly accessible to the internet (so do NOT install it in /var/www), but it is generally installed in /opt, since it is an optional program which doesn't come from the standard repositories:
Verify that ProcessMaker was correctly decompressed:
The processmaker directory should contain the following content:
Set file permissions
Then, issue the following commands as the "root" user so that ProcessMaker can access the necessary files when run by the Apache server:
By default the Apache service runs as the user apache. Therefore, the ownership of the ProcessMaker directory must belong to apache, so that Apache can read and write data. The -R makes the ownership changes recursive (apply to all files and directories within /opt/processmaker).
After these changes, verify the permissions and owner of the processmaker directory with the command
Step 4: MariaDB Configuration
|Warning: ProcessMaker is not compatible with MySQL STRICT mode which is turned on by default in MySQL 5.7. Please follow the Turning off MySQL STRICT Mode section to disable it.|
As mentioned before, Slackware comes with MariaDB as the default database service. Before starting the MariaDB Service, it is neccesary to disable the "-skip-networking" option by opening the mysqld script located at /etc/rc.d/rc.mysqld.
Search the following line and comment it out of the mysqld script (insert"#" at the beginning of the line).
Then, install the database system tables with the following command to get the right permissions.
Start the MariaDB's service "mysqld" running the following command:
Set a password for the MariaDB root user with the following command.
Finally, use the
mysql_secure_installation command to set up a secure database environment. Login as the "root" user and issue the following command:
Follow the wizard to secure MySQL:
Here it is necessary to enter root password:
In the next part, it is possible to change the root password if wanted.
Then, remove anonymous users by choosing "Y":
In this part, the prompt will ask about disabling root login. Answer No because, ProcessMaker is going to run as a Virtual Host. Therefore, the remoto login should be enabled.
Then, it is possible to remove the default "Test" database:
Finally, reload privileges tables:
MySQL Possible Configuration Issues
Can't connect to server through socket
This error is usually because the database was created first with wrong permissions.
To resolve this, first, try removing the database directory.
Then, recreate it with the right permissions, change directly its permissions and start the mysqld daemon with the dedicated init script.
Setting the root Password
If MariaDB doesn't have a root password, set one for better security with the following command:
Step 5: Apache Configuration
First, remove the apache welcome page with the following command:
Edit the Apache file httpd.conf located at /etc/httpd/httpd.conf
Uncomment the following modules (remove the # symbol at the beginning of each line):
LoadModule deflate_module lib/httpd/modules/mod_deflate.so
LoadModule expires_module lib/httpd/modules/mod_expires.so
LoadModule ldap_module lib/httpd/modules/mod_ldap.so
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
LoadModule ssl_module lib/httpd/modules/mod_ssl.so
LoadModule vhost_alias_module lib/httpd/modules/mod_vhost_alias.so
By default, the httpd.conf file is configured to listens to all addresses on the machine on port 80. However, it may need to be specified to listen on specific ports, or only on selected addresses depending on your server.
To make the server accept connections on both port 80 and port 8000, on all interfaces.
To make the server accept connections on port 80 for one interface, and port 8000 on another, use:
Uncomment the following line (remove the # symbol) to enable Virtual Hosts.
To enable PHP, do not forget to uncomment the following line.
Add index.php next to "index.html" in the following line
Save the changes and close the file.
Now, open the sample ProcessMaker configuration file pmos.conf.example located at /opt/processmaker and copy the content:
Then, search the file httpd-vhosts.conf located at /etc/httpd/extra.
Open it, and paste the content of the pmos.conf file inside the httpd-vhosts.conf file.
The content pasted is similar to the following example, replace
your_processmaker_domain with the IP address or domain name used by your ProcessMaker server:
your_ip_address with the IP number or domain name of the server running ProcessMaker. If only planning on running and accessing ProcessMaker on your local machine, then use the IP address "127.0.0.1". If using ProcessMaker on a machine whose IP address might change (such as a machine whose IP address is assigned with DHCP), then use
*, which represents any IP address. If not using the standard port 80, then it is necessary to also specify the port number.
If your DNS or /etc/hosts has a defined domain for ProcessMaker, then use that domain for
your_processmaker_domain. Otherwise, use the same IP address for
your_processmaker_domain as was used for
your_ip_address. For more information, see the Apache Virtual Hosts Documentation.
Note: It is also possible to define the virtual host for ProcessMaker directly in the Apache configuration by inserting the above
VirtualHost definition in the file /etc/httpd/conf/httpd.conf.
ProcessMaker is installed in the /opt/processmaker directory and is running on a server at the address 192.168.1.100:
ProcessMaker is installed in the /user/fred directory on your local machine at port 8080 with an dynamic IP assigned by DHCP:
ProcessMaker is installed in the /opt/pm184.108.40.206 directory at the IP address 220.127.116.11 and the domains
www.example.com and any variant of
*.example.com need to be defined in the server's DNS or /etc/hosts file for this example to work correctly.
After editing the httpd-vhosts.conf file, it is necessary to restart the Apache web server to use the new configuration:
Step 7: Setting up ProcessMaker
Once all ProcessMaker configurations were set up, open a web browser and enter the IP address (and port number if not using the default port 80) where ProcessMaker is installed. For instance, if ProcessMaker is installed at the address 192.168.10.100, then go to: http://192.168.10.100 or if it is installed locally at port 8080, go to: http://127.0.0.1:8080
Then follow the steps in the Installation Wizard in the web browser to complete the installation of ProcessMaker.
Step 8: Additional Configuration
Additional aspects of ProcessMaker may need to be configured. See Additional Server Configuration and the Administration section of the wiki. Most installations of ProcessMaker need to configure the following:
Setting the Time Zone
The default time zone for the ProcessMaker server can be set by logging into ProcessMaker with the "admin" user and going to Admin > Settings > System and setting the Time Zone. Another way to set the time zone is edit the env.ini configuration file.
Execution of cron.php
Errors during Installation
If an error occurs during the installation, check the installation log file:
Depending on the errors found in the installation log file, check the following files:
The Apache configuration file:
The ProcessMaker web site configuration file for Apache:
The PHP configuration file:
The MySQL configuration file:
The ProcessMaker configuration file where components are installed:
The ProcessMaker configuration file for database connections:
The ProcessMaker redirection to login screen:
If the following error appears at the login screen:
This error indicates that the installer was unable to access the MySQL databases to install the translations. Make sure that the MySQL port (which is 3306 by default) isn't blocked by a firewall and MySQL is configured to accept connections from the server running ProcessMaker.
If having other issues, please ask for help on our ProcessMaker forum.