Installation and Setup
Back to Installation and Configuration
- 1 Introduction
- 2 Installation Requirements
- 2.1 Hardware
- 2.2 Software
- 2.2.1 Server Machine- Linux
- 2.2.2 Client Machine
- 3 Installation Steps
- 3.1 Changes you may notice for version 3.8.3
- 3.2 Install MySQL
- 3.3 Configure MySQL
- 3.4 Install NGINX
- 3.5 Install PHP 7.4
- 3.5.1 Start php-fpm
- 3.5.1.1 Start the Service
- 3.5.1 Start php-fpm
- 3.6 Install Microsoft Database Connector
- 3.7 Install Laravel Supervisor
- 3.7.2 Install and Configure OpCache
- 3.7.3 Configure php-fpm File
- 3.7.4 Restart NGINX
- 3.8 Configure SELinux
- 3.9 Install Java Virtual Machine
- 3.10 Configure NGINX
- 3.11 Download and Extract IFS Workflow
- 3.12 Install IFS Workflow
- 3.13 Admin User is Expired
- 3.14 Create an OAuth Token for IFS Workflow
- 3.15 Configure the IFS Workflow Login Screen
- 3.15.1 Configure IFS Workflow Theme
- 3.15.2 Upload IFS Logo
- 3.15.3 Configure Login HTML Screen
- 3.16 Configure Cron
- 3.17 Install IFS Workflow Content
Introduction
IFS Workflow is a complete, market-leading workflow engine that leverages ProcessMaker software to provide oil and gas workflows for IFS and other applications used in the industry.
This guide contains information on how to install IFS Workflow for the first time. IFS Workflow Engine 1.1 is the latest version.
Installation Requirements
Hardware
This section identifies the recommended minimum hardware requirements for each machine. These requirements must be met before installing IFS Workflow.
Smaller sizing for 100 User Peak:
Component | Recommended |
---|---|
CPU | 8 Processor 2.4 GHz or Higher |
RAM | 32GB RAM minimum |
Disk 1 | 500GB (OS, Application, Logging) |
Disk 2 | 500GB (OS, Application, Logging) |
Medium sizing for 295 User Peak:
Component | Recommended | |
---|---|---|
CPU | 12 Processor 2.4 GHz or Higher | |
RAM | 48 GB | |
Disk 1 | 500GB (OS, Application, Logging) | |
Disk 2 | 2TB (Database Storage) |
Large sizing for 400 User Peak:
Component | Recommended | |
---|---|---|
CPU | 16 Processor 2.4 GHz or Higher | |
RAM | 64 GB | |
Disk 1 | 500GB (OS, Application, Logging) | |
Disk 2 | 3TB (Database Storage) |
Software
Server Machine- Linux
Component | Requirement | |
---|---|---|
OS | CentOS 7.2 | |
PHP | 7.4 | |
Web Server | NGINX | |
Database | MySQL 8.0 |
IFS Workflow requires the following software to be installed:
CentOS. A Community Enterprise Operating System that is based on the Linux kernel. It is derived entirely from the Red Hat Enterprise Linux (RHEL) distribution. CentOS exists to provide a free enterprise-class computing platform. https://www.centos.org/
NGINX. This is open-source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers. https://www.nginx.com/resources/glossary/nginx/
MySQL . This is an open-source database that delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software. Enterprise and Standard versions are recommended. https://www.mysql.com/
PHP. This is a general-purpose scripting language that is especially suited to web development. http://php.net/
Client Machine
Component | Requirement | |
---|---|---|
OS | Windows 7 (32 or 64-bit); Windows 10 | |
Browser | Mozilla Firefox, Google Chrome, Microsoft Edge, Internet Explorer 11 |
Installation Steps
IFS Workflow is built on the ProcessMaker workflow engine. Therefore, IFS Workflow and all that it requires must be installed and configured first before you can install subsequent content. There are separate installers for each of these two components, and they are both available in the P2 Store.
Before installing ProcessMaker or IFS Workflow, check the Installation Requirements to ensure your server meets the necessary hardware and software requirements.
Use the following sections to complete the installation of IFS Workflow:
1. Configure and Install MySQL
2. Configure and Install PHP
3. Install Microsoft Database Connector
4. Install Laravel Supervisor
5. Configure and Install NGINX
6. Disable SELinux
7. Install JDK 1.8
8. Download and Extract IFS Workflow
9. Configure NGINX
10. Install IFS Workflow
11. Configure IFS Workflow
12. Install IFS Workflow Content
Changes you may notice for version 3.8.3
The new user dashboard shows the active step, including automated tasks. If you notice a case is showing a script task, please refresh, and you will see the workflow has moved beyond that step.
There are changes to the home screen. The tab in the left panel is now called My Cases and there is a button on the My Case Dashboard that allows a user to create a new case.
Install MySQL
Assuming you already have a CentOS 7.2.x Core or Desktop installed as well as the proper permissions by typing the command sudo su and entering the administrator password, you can execute the following commands in order to have the stack ready to install IFS Workflow.
Remove Maria DB
By default CentOS 7.2 comes with some modules of maria DB installed, so we need to uninstall them.
yum -y remove mariadb*
#Install MySQL 8.0
In order to install MySQL 8.0 use the following steps:
yum install -y yum-utils
yum localinstall -y https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
yum install -y mysql-community-server
Use these command lines to configure the repository and install MySQL 8.0
yum-config-manager --enable mysql80-community
yum-config-manager --disable mysql57-community
Use this command to Update MySQL as needed.
yum update mysql
Configure MySQL
Before using MySQL, use the mysql_secure_installation command to set up a secure database environment.
Then, because IFS Workflow is not compatible with MySQL STRICT mode, which is enabled by default, you must verify that STRICT mode is not being used. STRICT mode controls how MySQL handles invalid or missing values in statements such as INSERT or UPDATE. A value can be invalid for several reasons. For example, it might have the wrong data type for the column, or it might be out of range. STRICT mode also affects DDL statements such as CREATE TABLE.
If STRICT mode is not in effect, MySQL inserts adjusted values for invalid or missing values and produces warnings. For more information, see the MySQL Reference Manual .
Finally, this section provides a few recommendations if you encounter issues when configuring MySQL for IFS Workflow.
To secure your database environment:
1. On the server, log in as the root user.
2. Run the following command:
$ mysql_secure_installation
3. In the script’s instructions, enter the following information:
Setting | Requirements | |
---|---|---|
Root password | 1. If you have just installed MySQL and have not set the password yet, the password is blank by default, so simply press Enter. 2. You will be prompted to set the root password. You must enter Y and set the password. Warning: IFS Workflow does not support special characters (such as: @ # $ % ^ & ( /) in the root password. For more information, please read the section on MySQL Password with Special Characters. | |
Remove anonymous users? | Y | |
Disallow root login remotely? | Y | |
Remove test database and access to it? | Y | |
Reload privilege tables now? | Y |
4. You should see a message similar to the following:
5. To restart the mysql service, run the following command:
$ service mysql restart
To Disable STRICT Mode in MySQL:
1. On the server, log in as the root user.
2. In the base installation directory, locate the following file:
my.cnf
3. To edit the file, open it in a text editor.
4. Find the following line:
sql_mode
5. After sql_mode, remove any values that contain STRICT_ (for example, STRICT_ALL_TABLES, or STRICT_TRANS_TABLES).
6. Save and close the file.
Edit the my.cnf File in the Linux Server
1. On the server, log in as the root user.
2. In the base installation directory, locate the following file:
my.cnf
3. To edit the file, open it in a text editor.
4. add sql-mode="" to the mysqld section
5. add log_bin_trust_function_creators = 1 to mysqld section
6. Save and close the file.
To Troubleshoot MySQL Configuration Issues:
1. Use the following checklist:
Issue | Recommendations |
---|---|
MySQL doesn't have a root password | Set one for better security: 1. On the server, log in as the root user. 2. Run the following command: $ mysqladmin -u root password PASSWORD |
You have forgotten the root password | |
Logging into MySQL produces the following error: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) | MySQL needs to be started as a service: 1. On the server, log in as the root user. 2. Run the following command: $ service mysqld start |
MySQL does not start as a service on bootup | Use chkconfig to add it as a service: 1. On the server, log in as the root user. 2. Run the following command: $ chkconfig --levels 345 mysqld on |
During the IFS Workflow installation, the following error is displayed: Warning: array_pop() expects parameter 1 to be array, boolean given in /srv/processmaker/processmaker/gulliver/thirdparty/creole/Creole.php on line 314 | The MySQL password contains a character that is not a letter or a number. Please change/reset your MySQL password and try to install IFS Workflow again. This is a known issue. |
Install NGINX
Add the Repository File
Use the following command to create a new file:
vi /etc/yum.repos.d/nginx.repo
Within this created file add the following:
[nginx]
name=nginx repo
#####rhel/6 should be changed to rhel/7 for RHEL/CentOS 7
gpgcheck=0
enabled=1
Install NGINX and start the service
yum clean all && yum -y install nginx
service nginx start
chkconfig nginx on
Install PHP 7.4
Add the EPEL(CentOS 7.x) repositories or RedHat ones to install php. In this guide we will use EPEL, use these comments
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
Install PHP and its modules
yum -y install yum-utils
yum-config-manager –enable remi-php74
yum -y install php php-cli php-opcache php-fpm php-gd php-mysqlnd php-soap php-mbstring php-ldap php-mcrypt php-xml php-imap php-zip
Start php-fpm
Start the Service
Use the following commands to start the service:
service php-fpm start
chkconfig php-fpm on
Install Microsoft Database Connector
Run the following commands;
curl https://packages.microsoft .com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
yum -y remove unixODBC*
yum -y update
ACCEPT_EULA=Y yum -y install msodbcsql-13.0.1.0-1 mssql-tools-14.0.2.0-1
yum -y update unixODBC-utf16-devel
ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp
yum -y install gcc-c++ libstdc++ -y
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libedit-devel-3.0-12.20121213cvs.el7.x86_64.rpm
sudo rpm -I libedit-devel-3.0-12.20121213.el7.x86_64.rpm
yum -y install php-pear php_devel
pecl install sqlsvr
pecl install pdo_sqlsvr
grep -xF ‘extension=sqlsrv.so’ /etc/php.ini && grep -xF ‘extension=pdo_sqlsrv.so’ /etc/php.ini || sed -i ‘/\extension=mysqli/a extension=sqlsrv.so\n;extension=pdo_sqlsrv.so’ /etc/php.ini
Restart NGINX and php-fpm using the following;
service nginx restart & service php-fpm restart
Install Laravel Supervisor
Install and configure Laravel Supervisor
Run the following commands
yum -y install supervisor
systemctl start supervisord
systemctl enable supervisord
Use the following command to access the Laravel file
vi /etc/supervisord.d/Laravel-worker-workflow.ini
Insert the following into the file
[program:laravel-worker-workflow]
user = nginx
directory = /opt/processmaker/
command = /opt/processmaker/processmaker artisan queue:work --workspace=workflow
stdout_logfile = /opt/processmaker/worker-workflow.log\
autostart = true
autorestart = true
Exit out of the vi editor and continue with the following commands.
These will enable the Laravel-worker-workflow configurations
supervisorctl reread
supervisorctl update
sudo supervisorctl stop all
sudo supervisorctl start all
sudo supervisorctl status all
These will restart the Supervisor service
sudo systemctl stop supervisord.service
sudo systemctl start supervisord.service
sudo systemctl status supervisord.service
Set the standard IFS Workflow configurations
Use the following commands to adjust the php.ini file:
sed -i '/short_open_tag = Off/c\short_open_tag = On' /etc/php.ini
sed -i '/post_max_size = 8M/c\post_max_size = 24M' /etc/php.ini
sed -i '/upload_max_filesize = 2M/c\upload_max_filesize = 24M' /etc/php.ini
sed -i ‘/;date.timezone =/c\date.timezone = America/New_York’ /etc/php.ini sed -i ‘expose_php = On/c\expose_php = Off’ /etc/php.ini
Install and Configure OpCache
Set OpCache Pre-Configurations with the following command:
sed -i '/expose_php = On/c\expose_php = Off' /etc/php.ini
Set OpCache Configurations with the following commands:
sed -i '/;opcache.enable_cli=0/c\opcache.enable_cli=1' /etc/php.d/opcache.ini
sed -i '/opcache.max_accelerated_files=4000/c\opcache.max_accelerated_files=10000' /etc/php.d/opcache.ini
sed -i '/;opcache.max_wasted_percentage=5/c\opcache.max_wasted_percentage=5' /etc/php.d/opcache.ini
sed -i '/;opcache.use_cwd=1/c\opcache.use_cwd=1' /etc/php.d/opcache.ini
sed -i '/;opcache.validate_timestamps=1/c\opcache.validate_timestamps=1' /etc/php.d/opcache.ini
sed -i '/;opcache.fast_shutdown=0/c\opcache.fast_shutdown=1' /etc/php.d/opcache.ini
Configure php-fpm File
Configure the php-fpm configuration file
Open the php-fpm configuration file
vi /etc/php-fpm.d/processmaker.conf
Add the following to this file:
[processmaker]
user = nginx
group = nginx
listen = /var/run/php-fpm/processmaker.sock
listen.mode = 0664
listen.owner = nginx
listen.group = nginx
pm = dynamic
pm.max_children = 100
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 50
pm.max_requests = 500
php_admin_value[error_log] = /var/log/php-fpm/processmaker-error.log
php_admin_flag[log_errors] = on
Move the config file to work with IFS Workfllow
Execute the following command:
mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bk
Create a New File
vi /etc/nginx/nginx.conf
Insert the following into this created file:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
log_format combined_ssl '$remote_addr - $remote_user [$time_local] '
'$ssl_protocol/$ssl_cipher '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 120;
keepalive_requests 100;
types_hash_max_size 2048;
#Enable Compression
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/css text/plain text/xml text/x-component text/javascript application/x-javascript application/javascript application/json application/xml application/xhtml+xml application/x-font-ttf application/x-font-opentype application/x-font-truetype image/svg+xml image/x-icon image/vnd.microsoft.icon font/ttf font/eot font/otf font/opentype;
include /etc/nginx/conf.d/*.conf;
#Comment out ServerTokens OS
server_tokens off;
#Prevent ClickJacking Attacks
add_header X-Frame-Options SAMEORIGIN;
#Load Balancer/Reverse Proxy Header
real_ip_header X-Forwarded-For;
set_real_ip_from 0.0.0.0/0;
}
Restart NGINX
service nginx restart
Configure SELinux
SELinux needs to be turned off for IFS Workflow to have the proper authority on the server to execute. Enter in the following commands
echo "SELINUX=disabled" > /etc/selinux/config
echo "SELINUXTYPE=targeted" >> /etc/selinux/config
Once entered, the server needs to be rebooted this is done via the reboot command simply:
$ reboot
Install Java Virtual Machine
IFS Workflow Installer requires the use of Java Virtual Machine. Within RHEL run the command:
$ yum install java-1.8.0-openjdk
Use http://openjdk.java.net/install/ for all other types of installations.
Configure NGINX
Create a configuration file inside /etc/nginx/conf.d/ then open and edit that file with
vi /etc/nginx/conf.d/processmaker.conf
In the created file processmaker.conf the configuration file should be as follows:
Also, in the bolded blue line for server_name, this needs to be configured to whatever URL the users will use to connect to IFS Workflow.
After all configurations have taken place, reset the NGINX server with:
service nginx restart
Download and Extract IFS Workflow
To configure MySQL and Apache to work with IFS Workflow, you need to know the location of the IFS Workflow files and set permissions on those files. Setting permissions allows IFS Workflow to access the necessary files when run by the Apache server. Also, in CentOS, the Apache service runs as the user apache by default. Therefore, the ownership of the IFS Workflow directory must belong to Apache, so that Apache can read and write data.
To download and extract IFS Workflows:
1. On the server, log in as the root user.
2. Using a browser, navigate to the following P2 Store URL:
https://p2store.p2energysolutions.com/p2store/main
3. From the Product Files tab, select IFS Workflow.
4. Click the IFS Workflow 1.2 tab.
5. In the row that contains the following Filename, click Download:
WorkflowEngine_Linux_1.4.X.X.bin
6. Deploy this file to the server that will host IFS Workflow, typically this is deployed to the /tmp folder to execute.
7. Open command line and navigate to the location where you saved the bin file.
8. To make the file executable, run the following command:
$ chmod +x WorkflowEngine_Linux_1.4.X.X.bin
9. Run the following command:
$ ./ WorkflowEngine_Linux_1.4.X.X.bin
10. The installation process will prompt for an installation directory, the default and recommended location is /opt, but can be configured to any location.
This will bring up options for the users and you should see:
Press Enter to bring up the next option.
Press Enter again to accept the default path or change the path to whatever target destination is needed. Once the target destination has been designated, press Enter to bring up the pre-installation screen.
Press Enter once more once the preinstallation has been confirmed.
This is the final confirmation. Press Enter if everything is correct.
Finally, upon completion you will see this screen.
$ ls /processmaker
You should see something similar to the following:
11. To set permissions on the IFS Workflow files, run the following commands:
$ chown -R nginx:nginx /opt/processmaker
12. To assign the ownership of the IFS Workflow directory to apache, run the following recursive command:
$ chown -R nginx:nginx /opt/processmaker
13. To verify the permissions and owner of the IFS Workflow directory, run the following command:
$ ls -la
You should see something similar to the following:
Install IFS Workflow
Once all configurations are set up, you can open a web browser and use the IP address where IFS Workflow is extracted to run a wizard and complete the installation of IFS Workflow.
To install and configure IFS Workflow:
1. In a browser, navigate to the server where IFS Workflow was extracted.
2. On the first Pre-Installation Check screen, fix all requirements that are not net and marked as No before continuing with the installation.
3. On the File Permissions screen, fix all permissions on directory paths that are not marked with a green checkmark before continuing with the installation.
4. On the IFS Workflow Open Source License screen, select the option I agree and click Next to continue the installation.
5. To configure the connection to the MySQL database, enter the Username and Password of a MySQL user, such as the root user, who has permission to set up new databases in MySQL.
6. Click Test Connection to see whether that user can log in to MySQL and set up the IFS Workflow databases.
7. When the connection test successfully, click Next.
8. On the Workspace Configuration screen, either enter the client or workspace name you want to use or leave the default of workflow.
9. On the Workspace Configuration screen, enter the information for the user you want to have administrator privileges in the Admin Username, Admin Password, and Confirm Admin Password fields.
10. On the Workspace Configuration screen, click Check Workspace Configuration.
If there is an error in the configuration, the following message will be displayed in the dialog: Not passed
If a database of the same name already exists, you can either mark the option Change database name or use the option to Delete Database if it exists.
11. When the configuration is correct, to create the workspace database, click Finish.
Admin User is Expired
After installation, the admin user will be expired in the database. This will not allow you to log in until the expiration date is updated. There are two places to update the expiration.
Log into MySQL as the root user with mysql -u root -p
1. Once logged into MySQL we will need to select the database. For this example our database name is wf_Amplify
b. mysql> use wf_Amplify
b. We will need to run two queries to update the expiration date of the admin user
i. UPDATE USERS SET USR_DUE_DATE = '2030-01-01' WHERE USR_USERNAME = 'admin’;
ii. UPDATE RBAC_USERS SET USR_DUE_DATE = '2030-01-01' WHERE USR_USERNAME = 'admin';
Create an OAuth Token for IFS Workflow
You will need to get the OAuth token information to secure the information exchanged between IFS Workflow and IFS Workflow. When you install Workflow, in order to register it with IFS Workflow so it can use REST endpoints, you must get a client ID and secret from OAuth, which is the authorization protocol used by IFS Workflow.
To create an OAuth Token for IFS Workflow:
1. In the IFS Workflow browser window, navigate to the following URL: http://{pm-server}/sys{workspace}/en/neoclassic/oauth2/applications
2. Click New, and in Name enter P2 Application.
3. In Web Site, enter http://p2es.com.
4. Click Register Application
5. A screen will open displaying the Application Credentials as a Client ID and Client Secret. For example:
Client ID: HWAYUEGWRMWNVLSTKPXAJDZGUQKAXKSF
Client secret: 28060566356f0b9db4f0429090515303
6. Since the ID and Secret are long, copy the Client ID and Client Secret to a text editor to paste into the IFS Workflow installer. This will be used by IFS Workflow to obtain authorization from IFS Workflow:
Configure the IFS Workflow Login Screen
After installing IFS Workflow, there are a few manual steps you should do to change the look and feel of IFS Workflow. This allows users to understand that they are working with a IFS product and that they are using the IFS Workflow functionality built on top of IFS Workflow.
You should also replace the default login page to a IFS Workflow login page. To do this you just need to download the files located on the installed server at: <installDirectory>/processmaker/P2Logo and move them to a local environment directory.
Configure IFS Workflow Theme
1. In IFS Workflow, on the Get Started screen, enter the username and password of the Administrator user.
2. From the top menu, click Admin, then Skins, then Import.
3. In the Upload window, click Browse and find the following file in the IFS Workflow installation directory:
P2theme.tar
4. In the Upload window, select All Workspaces, and then click Save.
You should see a window similar to the following figure:
5. To set the P2 Theme as the system default, in the P2 Workflow window, from the top menu, click Admin.
6. From the tabbed menu on the left, select the Settings tab, and then click System.
7. In the Preferences section, in Default Skin, select P2Theme.
Upload IFS Logo
1. In IFS Workflow, on the Get Started screen, enter the username and password of the Administrator user.
2. From the top menu, click Admin, then Logo, then Upload.
3. In the Upload window, click Browse and find the following file saved from the <installDirectory>/opt/processmaker/P2Logos directory.
p2_logo.png
4. In the Upload window, select the file.
You should see a window similar to the following figure:
5. Select Apply.
6. Within the server that has IFS Workflow installed- run the following commands:
$ cp /<download_location>/opt/processmaker/P2Logo/p2_logo.png /opt/processmaker/workflow/public_html/images/
Configure Login HTML Screen
1. On the Linux server where IFS Workflow was installed, log in as the root user.
2. Locate the following file within the /opt/processmaker/P2Logo directory:
Loginpm3.html
3. To use the P2 login page and replace the IFS Workflow login page, run the following command:
$ cp /<download_location> /opt/processmaker/P2Logo/loginpm3.html /opt/processmaker/workflow/public_html/images/loginpm3.html
4. Copy the file into the public_html folder with the following commands:
$ cp /<download_location> /opt/processmaker/P2Logo/p2_logo.png /opt/processmaker/workflow/public_html/images/
5. These files get imported by the root user, so to make sure nginx/apache can reach them re-run the command:
chown nginx:nginx /opt/processmaker
or:
chown apache:apache /opt/processmaker
6. To restart the Apache web server, run the following command:
$ service httpd restart
Configure Cron
1. Open up the /etc/crontab file.
The cron file is opened in the default editor of your Linux distribution. Then, add lines to execute the different ProcessMaker cron scripts at different times in the following format:
minute hour day-of-month month day-of-week command
Where:
Field | Description |
---|---|
minute | The minute of the hour when the command is executed. It can be between 0 and 59. |
hour | The hour when the command is executed. It can be between 0 and 23. 0 is midnight. |
day-of-month | Day of the month when the command is executed. For example, 20 would be the 20th day of each month. |
month | The month when the command is executed. It can be a number between 1 and 12 or the first three letters of the month in English, such as Jan, Feb, etc. |
day-of-week | Day of the week when the command is executed. It can be a number between 0 and 7, where 0 and 7 are both Sunday, 1 is Monday, 2 is Tuesday, etc. Alternatively, it can be the first three letters of the day in English such as Sun, Mon, etc. |
Command | Command, script or program to execute. |
An * (asterisk) in the first five columns indicates all possible values. For instance, an asterisk in the minutes column indicates all the minutes in the hour. If an asterisk is divided by a number */#, then it stands for any time unit that can be cleanly divided without any remainder. For instance, in a day with 0-23 hours, */5 would execute on hours 0, 5, 10, 15 and 20.
The following example executes cron.php every 15 minutes and messageeventcron.php every 20 minutes of every even hour.
*/15 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/cron.php
*/20 */2 * * * [web-server-user] php -f opt/processmaker/workflow/engine/bin/messageeventcron.php
Other Examples:
0 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/cron.php
10 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/messageeventcron.php
15 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/timereventcron.php
20 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/ldapcron.php
25 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/sendnotificationscron.php
30 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/cron.php
40 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/messageeventcron.php
45 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/timereventcron.php
50 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/ldapcron.php
55 * * * * [web-server-user] php -f /opt/processmaker/workflow/engine/bin/sendnotificationscron.php
Remember to add the +force option to ensure that a cron script will be processed at a specified time. This option will cut the processing of an existing cron script short, so it is better to space out the cron scripts so they do not overlap.
Install IFS Workflow Content
Once IFS Workflow requirements are met and IFS Workflow is installed, you can install IFS Workflow Content 1.X. This will create workflow, groups, and users that IFS Workflow needed for the successful execution of IFS Workflow processes.
To download and install IFS Workflow:
1. On a Windows server or client, log in as the root user.
2. Using a browser, navigate to the following P2 Store URL: https://p2store.p2energysolutions.com/p2store/main
3. From the Product Files tab, select P2 Workflow.
4. Click the desired IFS Workflow version tab.
5. In the row that contains the following Filename, click Download: P2Workflows_Windows64_1.X.0.0.exe
6. Navigate to the location where you saved the file, right-click on it, and select Run As Administrator.
7. On the Introduction screen, after reading about recommendations, click Next.
8. On the Get Setup Information screen, in Host URL, enter the Web server where you installed IFS Workflow and where you want IFS Workflow installed.
9. On the Get Setup Information screen, in Tenant, enter the name of the workflow you created during the IFS Workflow installation.
10. On the Get Setup Information screen, enter the username and password of the Administrator user, and then click Next.
11. On the Get Client Information screen, paste in the Client ID and Client Secret generated in step 13 of Configure IFS Workflow for IFS Workflow, and then click Next.
12. On the Pre-Installation Summary screen, click Install.
13. When the installation process is complete, return to IFS Workflow and log in.
14. To verify IFS Workflow was installed correctly, click on Admin, and then Groups. You should see multiple new entries such as Business Analyst, Division Order Lead, Drilling Engineer and Land Analyst.
Copyright© 2024 IFS AB. Copying prohibited. All rights reserved.