Skip to Content
Author's profile photo Former Member

Checking out the Apache Split Deployment

Hello Everyone,

these days I went ahead and added an Apache Web Server to a test BI4.1 Installation as per the proposal made by James Rapp. I was particularly eager in seeing how much effort would it take to do this for a standard 1-box BI4 installation. Here I am sharing screenshots of that process in order to give you a highlevel overview. This blog is not intended to give you instructions on how to split deploy with Apache. For the correspondent instructions please visit following Documents:

I am on Windows Server 2012, BI4.1 SP02 Installation with Tomcat7, Downloading Apache 2.4.7 and mod_jk 1.2.37. Furthermore I am also using the httpd-bi41.conf and file shared in the documents by James and Ian in the articles above.

After Downloading the Apache files, I extracted it to the root folder (in this case Z) just to make less changes to paths later on in the configuration files (C:\->Z:\):


From the module mod_jk, which comes as a separate .zip file, copy the file file from to \Apache24\Modules:


In the httpd.conf file, adjust the corresponding lines for the ServerAdmin and ServerName. Because my Apache root is not C\Apache24, I also need to adjust ServerRoot and DocumentRoot in this file:


Before starting with the installation of Apache Web Server, make sure that no one else is listening on port 80, this is the port that Apache will listen to in standard. With following command you can check which process is currently listening to which port:


In case you would see another program listening to port 80, you could identify it by the process ID being shown to the right of the last screen. This Process ID can be useful in the task manager to get to the corresponding program.

Open a command window in \Apache24\bin. Now we are ready to install Apache Web Server in form of a windows Service with the name BOEXI40Apache. Services starting with the name BOEXI40 will automatically appear in the CCM:


Ok, the installation says there is something wrong, but no explanation and no logs, so I go ahead and try to start Apache from the CCM, Seems I can start it without any issue:


Test to kindly ask Apache if it really works?


Note that the port number is missing, that is because the standard port is 80

To make things fancy, I keep following James’ proposal and change the display name of the service from BOXI40Apache to Apache HTTPD 2.4.7:


The CCM looks more organized now with the new name for Apache:


As we are still going to be using tomcat for the dynamic content, I add tomcat as a dependency to Apache in the CCM, this way tomcat will be automatically started when we start apache. Similarly, tomcat cannot be stopped while Apache is running:


Adjusting now the config.apache file of WDeploy with the ws_dir and connector_type:


Also adjusting the config.tomcat7 file with as_dir, as_instance and as_service_name:


Copying the downloaded httpd-bi41.conf  file to \Apache24\conf\extra and copying the file to Apache24\Conf:


After making a backup of the server.xml file, adjusting it now and uncomment the AJP connector line by deleting the <!–  characters at start and –> at the end of the line:


Restarting Apache now by using CCM or windows services. Looks good as the service can be started. Afterwards, update the CacheRoot and CacheLockPath in the downloaded httpd-bi41.conf file:


Create the corresponding folders of the last screen if needed.  Creating now a task with the windows task scheduler to clean the cache:


Enter a name for the Task, run whether the user is logged on or not, Do not store password:


Trigger at startup:


Setting a new action with corresponding arguments:


Adding now an Include line to the httpd.conf file in order to load the httpd-bi41.conf file:


Then checking if the Apache server can be restarted. It does correctly, so im stopping it now.

Now its time to start predeploying:

wdeploy tomcat7 -Das_mode=split -Dws_type=apache -Dwork_dir=Z:\temp predeployall

After a successful deployment, I see a corresponding message:


Creating an empty file in the predeployed content:


And now its time to split deploy!

wdeploy tomcat7 -Das_mode=split -Dws_type=apache -Dwork_dir=Z:\temp deployonlyall


Running now post-installation checks. Around 100k files as static content in the BOE directory? -> Check!


Were some extra Include conf/bobj* added to the httpd.conf file? -> Check!


bobj* Files were added to Apache24/conf? -> Check!


Is public,max-age=315360000 (or whatever value you configured in mod_headers) being inserted by mod_headers from the httpd-bi41.conf file? -> Check!



Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Manikandan Elumalai
      Manikandan Elumalai

      Interesting Article victor!

      Author's profile photo Former Member
      Former Member

      Great Article, which will explain how to integrate an HTTP server.

      Thank you James Rapp and Victor Gabriel Saiz Castillo for your extraordinary efforts to share your IDEAS and documents in SCN.

      Thank you SCN for sharing the valuable information.

      One thing i would like to request, it will be great if someone creates detailed document to configure Apache as LB.

      Author's profile photo James Rapp
      James Rapp

      Hi Prasad,

      Just ran across this ... check out the BI Pattern Books for this info on load balancing:

      The Linux pattern book does load balancing with mod_jk and the Windows pattern book does it with mod_proxy_http. This should cover both use cases.