Ask questions about your install or get help installing and configuring ProcessMaker 2

Moderator: ArturoRobles

Thanks for the screencast. The recommended way to install ProcessMaker in Windows is using an existing server just like in the screencast, not the Windows installer, since you have much more flexibility this way.

However, I would like to point a few things:
    [*]It's not recommended to add the hostname directly in the hosts file, since that would make ProcessMaker available at that address only for that machine. The best way is to have a DNS entry for all machines. [*]Also, it's better to put ProcessMaker files in a different folder then www, since by default that folder is accessible via the web. The best way is to extract the ProcessMaker files elsewhere (for instance, c:\opt\processmaker) and change the virtual host configuration for this path. It's more secure and easier to administer.
Hi Alexandre,

Thanks for your remarks. The screencast was focused on how to install ProcessMaker locally on Windows. I might make another screencast explaining how to add the DNS ntries and placing the ProcessMaker directory outside the www folder.

Have a nice day
Hi Yamil,

You commented
yamilurbina wrote:I might make another screencast explaining how to add the DNS ntries and placing the ProcessMaker directory outside the www folder.
I was able to get PM to run successfully on an existing IIS 7.5/Server 2008R2 setup after installing URL rewrite (already have PHP ver 5.3.3) via a subdomain.

I'm particularly interested on running ProcessMaker outside the www folder -- that is, instead of running it at, I'd like to run it at

The primary reason for this would be so I don't need a second SSL cert (and also a second public IP).

I'm guessing I need to modify the regex for the URL rewrite, index.html, and/or something in sysGeneric.php... but not sure.

I've tried changing the regex to ^processmaker.*/(.*)$ and the refresh URL in index.html to /processmaker/sys/en/classic/login/login.html but so far all I get are 404's.

Any suggestions?


I've got that added -- in my case, I have the physical path of F:\inetpub\forms\workflow\public_html being the target for the virtual directory of /forms/.

I think part of the problem is that the rewrite rule assumes PM is not installed in a subdirectory, so it always references everything relative to / -- changing the rule (to ^forms.*/(.*)$) kind of helps in conjunction with changing the meta refresh in index.html to URL=/forms/sys/en/classic/login/login.html.

By "kind of helps," I mean at least the IIS error is showing the correct physical path. When I change both of those, I get this:

Requested URL http://www:80/forms/sys/en/classic/login/login.html
Physical Path F:\inetpub\forms\workflow\public_html\sys\en\classic\login\login.html

Instead of this (URL rewrite left alone and index.html left alone):

Requested URL http://www:80/sys/en/classic/login/login.html
Physical Path F:\inetpub\www\sys\en\classic\login\login.html

Now, in sysGeneric.php on about line 41, we see
Code: Select all
$realdocuroot = str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']);
If I echo that server variable in a php file, I end up with F:\inetpub\www instead of F:\inetpub\forms -- that's wrong, and I assume sysGeneric needs to know where it's actually located, so I've manually set $realdocuroot as follows:
Code: Select all
$realdocuroot = str_replace('\\', '/', 'F:\inetpub\forms');
And that doesn't help, either.

I feel like I'm close to the answer, but I'm not sure how much that extra directory (in my case, /forms/) is going to break things.


I just tried installing ProcessMaker in a Virtual Directoy but without success. I'm going to keep investigating on the subject and I'll give you an update when I get it to work. If you find a solution for this, please post it here.

Best regards
I managed to get ProcessMaker 2.0.44 installed and running in my local development server. I am running Zend Server CE 5.6.0 SP4 on a Windows 7 machine.

I set up my configuration as per the install instructions in README.TXT and yamilurbina's helpful video, but I couldn't get the install and configuration to start, until I finally ran it under debug (XDebug in my IDE). I found a potential error early in sysGeneric.php, and was able to correct it so that the install/configure ran to completion. Details of the problem are:

sysGeneric.php line 37 reads:
Code: Select all
$realdocuroot = str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']);
My server did not return a value for $_SERVER['DOCUMENT_ROOT']. Indeed, this value is not guaranteed for all servers, and is also not guaranteed by the CGI 1.1 specification.

So I replaced that line with:
Code: Select all
$realdocuroot = str_replace('\\', '/', dirname(__FILE__));
Full details of my installation are as follows:

ProcessMaker is installed at C:\Zend\Apache2\htdocs\processmaker

Modify C:\Zend\Apache2\htdocs\processmaker\workflow\public_html\sysGeneric.php line 37, as shown above.

ProcessMaker configuration file C:\Zend\Apache2\conf\extra\pmos.conf:
Code: Select all
# Please change the ip address with your server ip address and
# the ServerName with you own subdomains.

Listen 8080
NameVirtualHost *:8080

#processmaker virtual host 
<VirtualHost *:8080 >
  ServerName "processmaker"
  DocumentRoot C:\Zend\Apache2\htdocs/processmaker/workflow/public_html
  DirectoryIndex index.html index.php
  <Directory  "C:\Zend\Apache2\htdocs/processmaker/workflow/public_html">
    AddDefaultCharset UTF-8

    AllowOverRide none
    Options FollowSymlinks
    Order allow,deny
    Allow from all

    RewriteEngine on
    #RewriteBase /processmaker/
    RewriteRule ^.*/(.*)$ sysGeneric.php [NC,L]

    ExpiresActive On    
    ExpiresDefault "access plus 1 day" 
    ExpiresByType image/gif "access plus 1 day"
    ExpiresByType image/png "access plus 1 day"
    ExpiresByType image/jpg "access plus 1 day"
    ExpiresByType text/css "access plus 1 day"
    ExpiresByType text/javascript "access plus 1 day"

    AddOutputFilterByType DEFLATE text/html        
Modified Apache configuration file C:\Zend\Apache2\conf\httpd.conf as follows (thanks, yamilurbina):
    [*]Enable [b]LoadModule deflate_module modules/[/b] [*]Enable [b]LoadModule expires_module modules/[/b] [*]Enable [b]LoadModule rewrite_module modules/[/b], if not already done [*]Enable [b]LoadModule vhost_alias_module modules/[/b] [*]Add this line to the bottom of httpd.conf:
Code: Select all
Include conf/extra/pmos.conf
After restarting the web server, ProcessMaker now runs at http://localhost:8080


Russell Searle

If I create a report table in an existing process […]

I am trying to create a workflow that has to run a[…]

Another observation - if a field is added into the[…]

Hola, tengo el mismo problema pero trabajo con cen[…]