Please rate how useful you found this document: 
Average: 5 (2 votes)

ProcessMaker Installation

  • Before installing ProcessMaker, make sure the necessary server and database resources required by ProcessMaker are available, taking into account the data to be managed and the expected performance.
  • ProcessMaker has been tested on CentOS and Windows Server. ProcessMaker can be installed on other operating systems, such as Debian and Ubuntu, but they haven't gone under the same level of testing by the ProcessMaker quality assurance team as the supported stacks have.
  • To know which PHP version works with a ProcessMaker version on Windows and Linux, see the supported stacks.
  • The following is the configuration of the pmos.conf file when installing ProcessMaker in Apache:
    #processmaker virtual host <VirtualHost your_ip_address > ServerName "your_processmaker_domain" DocumentRoot /opt/processmaker/workflow/public_html DirectoryIndex index.html index.php <Directory /opt/processmaker/workflow/public_html> Options Indexes FollowSymLinks MultiViews AddDefaultCharset UTF-8 AllowOverride All Require all granted ExpiresActive On <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^.*/(.*)$ app.php [QSA,L,NC] </IfModule> #Deflate filter is optional. It reduces download size, but adds slightly more CPU processing: AddOutputFilterByType DEFLATE text/html </Directory> </VirtualHost>
  • When installing ProcessMaker on Apache, it is possible to define the virtual host directly in the Apache configuration by inserting the above VirtualHost definition into the Apache configuration file found at: /etc/httpd/conf/httpd.conf.
  • ProcessMaker needs to use the expire, rewrite, deflate, and vhost_alias modules on the Apache 2 web server. Check to see whether these modules are enabled by opening the Apache configuration file found at: /etc/httpd/conf/httpd.conf. The following four lines should be found in the list of the Apache modules to load: LoadModule expires_module modules/mod_expires.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule deflate_module modules/mod_deflate.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule filter_module modules/mod_filter.so
  • If Apache is using the default port 80, then configure other programs (like Skype) to not use port 80. Check whether a program is currently listening on port 80 with the command: netstat -tanp To configure Skype to stop listening on port 80, press CTRL+O or go to Tools > Options (in CentOS). Under the Advanced section in the Options dialog box, go to the Connection section and enter an alternative port for Use port [ ] for incoming connections. (read more here).
  • (For REST) On some hosted servers, the get_headers and apache_request_headers functions may be disabled, which prevents ProcessMaker's REST API from working correctly, since the REstler library uses those functions. Make sure to enable these functions.
  • When a license file is imported into the ProcessMaker instance, ensure the original name of the license file provided to the customer from ProcessMaker has not changed. For example, if a duplicate license file already exists in the directory to which another copy of the license file is downloaded, the web browser may change the name of subsequent license files to avoid duplicate file names. If the imported license file does not have the file name provided to the customer from ProcessMaker, the license is invalid.
  • In ProcessMaker 3.4.5 and later, the Admin user expiration date calculates as one year after starting from the ProcessMaker installation or workspace creation. It may become necessary to update when the admin user account expires. In ProcessMaker 3.4.4 and earlier versions, manually modify the date in the database using PhpMyAdmin or the MySQL console. In the wf_<WORKFLOW> MySQL database, locate the USR_DUE_DATE field in the RBAC_USERS table, then enter a valid future date by clicking on the record's Edit link to edit the date:

    Alternatively, use the following query in PHPMyAdmin or in MySQL console, providing the admin:

    UPDATE RBAC_USERS SET USR_DUE_DATE='<NEW_EXPIRATION_DATE>' WHERE USR_UID = '<USR_UID>'

    Example:

    UPDATE RBAC_USERS SET USR_DUE_DATE='2030-12-12' WHERE USR_UID = '00000000000000000000000000000001'

    As a best security practice, adjust the Admin user account password and expiration date every 90 days.