Install ProcessMaker 3.3 in WAMP Server

From pmusers
Jump to: navigation, search

Follow these instructions to install ProcessMaker in Wamp Server.


Tested with: ProcessMaker 3.3 Community on Wamp Server 3.1.4 64bit (Apache 2.4.35, MySQL 5.7.23, PHP 7.1.22 and PHP 5.6.38) in Windows Server 2016 64bit


Install Wamp Server

Go to https://sourceforge.net/projects/wampserver/ to download and install a recent version of Wamp Server.

Note: PHP 7.2 is not supported by Processmaker, but Wamp Server also includes older versions of PHP. ProcessMaker 3 has not been tested in MySQL 5.7 by the QA Team, but there are no known issues using version 5.7. If wishing to use a configuration tested by the QA Team, then download an older version of Wamp Server that contains MySQL 5.6.

The instructions in the first step of the Wamp Server installation wizard contain links to download and install VC9, VC10, VC11, VC13 and VC15, in order to make sure that they are up-to-date.

InstallWampStep1InstallWizard.png

Wamp Server should be installed in the root directory where there are no spaces in the directory name, such as c:\wamp64.

InstallWampStep2Wizard.png

Then, set the name which by default is "Wampserver64":

InstallWampStep3.png

In the fourth screen, click on Install to begin the installation:

InstallWampStep4.png


When done installing Wamp Server, check the installation by opening a web browser and enter the domain or IP address of the server. If located on the same machine, then enter in the web browser's address bar:

http://localhost

If WAMP was installed correctly, the following screen should be displayed in the web browser:

InstallWampShowInBrowser.png

Configure MySQL

Open a terminal by clicking on the Windows icon InstallWamp-WindowsIcon.png in the left corner of the task bar and then type "cmd" and press ENTER to open a terminal.

Then, change to the directory where MySQL is installed. For example:

cd C:\wamp64\bin\mysql\mysql5.7.23\bin

Then, setup a secure installation of MySQL:

mysql_secure_installation

Set a password for the MySQL root user.

When done, login to MySQL as the "root" user:

mysql -u root -p

When inside MySQL, issue the command SELECT @@sql_mode; to check whether the STRICT_ALL_TABLES and ONLY_FULL_GROUP_BY modes are enabled:

mysql> SELECT @@sql_mode;
+-----------------------------------------------------------------------------------------------+
| @@sql_mode                                                                                    |
+-----------------------------------------------------------------------------------------------+
| STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER |
+-----------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

If STRICT_ALL_TABLES or ONLY_FULL_GROUP_BY appear in the list of sql_mode settings, then they need to removed. Copy all the other modes in the list except those two modes.

Then, exit MySQL:

mysql> EXIT;

Then, open the file C:\wamp64\bin\mysql\mysql5.7.23\my.cnf with a plain text editor such as Notepad or Notepad++.

Edit the sql_mode setting which is found in the [mysqld] section. If it doesn't exist, then add it. Set all the modes that are already being used, except STRICT_ALL_TABLES and ONLY_FULL_GROUP_BY.

For example:

[mysqld]
sql_mode = NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER

Save the file. Then, restart the MySQL service from the command line:

net stop wampmysqld64
net start wampmysqld64

If there are no errors in the my.cnf file, the message should appear that The wampmysqld64 service was started successfully.

Configure Apache

Edit the file C:\wamp64\bin\apache\apache2.4.35\conf\httpd.conf in a plain text editor.

Make sure that the Apache configuration file has the following settings:

EnableMMAP off 
EnableSendfile off 

LoadModule alias_module modules/mod_alias.so 
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so 
LoadModule access_compat_module modules/mod_access_compat.so 
LoadModule deflate_module modules/mod_deflate.so 
LoadModule expires_module modules/mod_expires.so 
LoadModule filter_module modules/mod_filter.so 
LoadModule headers_module modules/mod_headers.so 
LoadModule ldap_module modules/mod_ldap.so 
LoadModule rewrite_module modules/mod_rewrite.so 
LoadModule ssl_module modules/mod_ssl.so 
LoadModule vhost_alias_module modules/mod_vhost_alias.so

After changing the file, save it.

Configure PHP

Then, cick on the WAMP icon in the Windows' task bar and in the popup menu that appears, go to PHP > Version and select version 7.1.X:

InstallWampSelectPhpVersion.jpg

Then, edit the file C:\wamp64\bin\apache\apache2.4.35\bin\php.ini with a plain text editor to configure PHP.

Make sure that the file has the following settings:

short_open_tag = On 
memory_limit = 512M 
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT 
display_errors = Off 
max_execution_time = 60 
post_max_size = 50M 
upload_max_filesize = 50M 
max_input_vars = 10000

Also, enable the following extensions in PHP (by removing the ; in front of them):

extension=php_bz2.dll
extension=php_curl.dll
extension=php_exif.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_pdo_sqlite.dll
extension=php_shmop.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite3.dll
extension=php_xsl.dll

Save the file when done editing.

Then, restart the Apache service, which will also load the new PHP configuration. From the command line, enter the commands:

net stop wampapache64
net start wampapache64

Note: If there are problems restarting the "wampapache64" service, then the WAMP icon will change from green (meaning that all services are running) to orange (meaning that some of the services aren't running).

To investigate why there are problems in the configuration of a service, right click on the WAMP icon in the Windows' task bar and go to Tools -> Check state of services and Tools -> Check httpd.conf syntax in the popup menu.

When changing from PHP 7.2 to 7.1, I found that the "wampapache64" service couldn't restart. To fix it, I had to change every instance of ${INSTALL_DIR} to C:/wamp64 in the files C:\wamp64\bin\apache\apache2.4.35\conf\httpd.conf and C:\wamp64\bin\apache\apache2.4.35\conf\extra\httpd-vhosts.conf.

In addition, I also had to deactive Apache's ssl module in the httpd.conf file by changing the line from:

LoadModule ssl_module modules/mod_ssl.so

To:

#LoadModule ssl_module modules/mod_ssl.so

Download and Install ProcessMaker

Create a new folder such as C:\opt where ProcessMaker will be installed. Right click in the root directory in the Windows File Explorer and select New > Folder in the popup menu:

InstallWampCreateNewOptFolder.png

Then, go to https://sourceforge.net/projects/processmaker/files and download the processmaker-3.X.X-community.tar.gz file for a recent version of ProcessMaker.

Decompress the processmaker-3.X.X-community.tar.gz file in the C:\opt folder.

Note: If needing a decompression program capable of handling tar.gz files, download and install 7-Zip or WinRAR.

Configure ProcessMaker's virtualhost

After decompressing the ProcessMaker source code, copy the file C:\opt\processmaker\pmos.conf.example to the C:\wamp64\bin\apache\apache2.4.35\conf\extra\ folder and rename it as pmos.conf.

Then, open the pmos.conf file with a plain text editor and edit the virtualhost definition for your server. See Apache Configuration.

Change /example/path/to/processmaker/workflow/public_html to C:\opt\processmaker\workflow\public_html in two places in the file. If wishing to use ProcessMaker with another port number such as 330, add Listen 330:

WampInstall-Edit pmos.conf.png

When done editing the pmos.conf file, then edit the C:\wamp64\bin\apache\apache2.4.35\conf\httpd.conf file and add the following line to the end of it:

#include the ProcessMaker virtualhost:
Include conf/extra/pmos.conf

Then, restart the Apache service from the command line to verify that ProcessMaker's virtualhost definition is correct:

net stop wampapache64
net start wampapache64

Setup ProcessMaker

Open the web browser and enter your server's IP address or domain name (and port number if not using the standard port 80) to be redirected to the Processmaker Installation Wizard to complete the installation. Follow the rest of the instructions for setting up ProcessMaker.

If an empty blue screen appears in the web browser when loading the Installation Wizard, press CTL+SHIFT+r or CTL+F5 to reload the page.