Mifos X Installation on Windows

Refer New Document for latest version Installation

To Install/Upgrade to the latest version of Mifos (21.07.01) Refer below document

Mifos X 21.07 Installation Guide (with Pentaho plugin)

For a video guide click on the link below

On this page:

Prerequisite Software   

Note

the software and versions included below are a mandatory prerequisite

  • JAVA DEVELOPMENT KIT >> VERSION 1.8.0_231 & above                                
  • MYSQL SERVER >> Version 5.5 or 5.6 only - Any version above or below is not recommended in a live production environment  unless you have tested it your self
  • TOMCAT >> Version 7.0.109.0 & above (version 7.0.xx.xx)
  • Install Java 

1) Before beginning, uninstall any existing versions of Java currently on your computer. 

2) In your web browser, go to http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html, to download JAVA 1.8.

3) Oracle requires that you read the license agreement, then click the button labeled Accept License Agreement.

4) Click the link to download the version for your system architecture i.e. Windows x86 for 32bit or Windows x64 for 64bit. 

5) Save the Java installation file to your computer

6) Run and install the Java file.

  • Install MySQL  


1) In your web browser, go to http://dev.mysql.com/downloads/mysql/5.5.html#downloads to download MYSQL server v5.5.

Click the link to download the version for your system architecture i.e. Windows x86 for 32bit or Windows x64 for 64bit. 

2) You can skip this option by clicking the link at the bottom of the page that says No thanks, just start my download. 
and click on the Save button to save the file to your system.

                                                                                                                               

 3) Run the MySQL installation file. Click on the Typical button and then click on Next button.

 

4) During MySQL installation, use Advanced Configuration > Show Advanced Options and set the MySQL ROOT Password to mysql. Then click on the Save button. This will set your username to root and your password to mysql.

  • Install Tomcat

1) In your web browser, go to http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.109/bin/apache-tomcat-7.0.109.zip to download Tomcat 7.0.109. This is downloaded as a folder 

 >> Under the section Binary Distributions>>Core, click on the link 32-bit windows zip or 64-bit windows zip (depending on your system architecture) to download.

  

2) Extract the apache-tomcat-7.0.68.zip.

                   

  4) This is the folder once apache-tomcat-7.0.109 gets extracted:    


5) Copy and paste the apache-tomcat-7.0.68 folder to the c:\ drive, then rename it tomcat.

  • Create Environment Variables 

1) Open your Environment Variables:
Start Menu > Control Panel > System and Security > System > Advanced System Settings > Environment Variables.

2) Create the JAVA_HOME variable:
  • Click on the New button, under the User Variables section.
  • For Variable Name, enter JAVA_HOME
  • For Variable Value, provide the Java path (for example: C:\Program Files\Java\jdk1.8.0_66).

    Note

    1. If you are running 32-bit Windows, then the path is: C:\Program Files (x86)\Java\jdk1.8.0_66
    2. Java jdk path "jdk1.8.0_66" may be different on your system as it is dependent on the version you have installed.


  • Click the OK button.
3) Edit the PATH variable:
  • In the System Variables section, scroll down to and select the Path variable.
  • Click the Edit button at the bottom of the window.
  • Use your mouse cursor and click inside the Variable Value box. 
    Using your keyboard's right-arrow or End key, move all the way to the far right of the current text in Variable Value.
  • Add the following text onto the end of the existing Variable Value text: 
    - For Java path example:- ;C:\Program Files\Java\jdk1.8.0_66\bin 
    - For Mysql server path example:- ;C:\Program Files\MySQL\MySQL Server 5.5\bin

    Note

    1. There must be exactly one semi-colon between whatever is already in your PATH variable, and the new C:\Program Files\Java\jdk1.8.0_66\bin – don't add a semi-colon if your previous PATH already ended with a semi-colon.
    2. Java jdk path "jdk1.8.0_66" may be different on your system as it is dependent on the version you have installed.  


  • Click the OK button  

4) Create the JAVA_OPTS variable: 

  • a. Under the User Variables section, click the New... button again.
  • b. For Variable Name, enter JAVA_OPTS
  • c. For Variable Value, enter the system's memory size, for example: -Xms512m -Xmx1024m
  • Download Mifos 

1) Go to http://mifos.org/ from your web browser and navigate to Take Action >> Get Mifos 

2) Click on the "DOWNLOAD IT ON YOUR OWN" link

3) Click on "Download MifosX Now 


4) Fill out the Mifos Download Form with your information, then click the Next Page button. The download will start automatically.


Note

You can skip the form by scrolling to the bottom of the page and clicking on:

No thanks. I would just like to download Mifos without providing additional information.

However, we are able to understand and serve you better if you provide details of your organization.


 

5) You will automatically be redirected to a download page for Mifos on the Sourceforge website. Here you will be prompted to download a ZIP file containing the Mifos application.

Note

Or You can also download other versions directly from: https://sourceforge.net/projects/mifos/files/Mifos%20X/


 

6) Once you have download the Mifos ZIP file, extract it to a new folder on your computer.  Remember this location, as you will need to refer to it later. 

  • Initialize MySQL data 

1) Download HEIDISQL from http://www.heidisql.com/download.php and save the installation file to your computer.

2) Run the Heidisql installation file and setup Heidisql: 

i) Click on local and enter the MySQL password (mysql) in the Password field. 

ii) Click on the Save button.

iii) Click on the Open button. 

                                                                                                                           

4) Copy the following database command and paste it into the large white box titled Query
create database `mifosplatform-tenants`; create database `mifostenant-default`; use `mifosplatform-tenants`;



5) Click on the Run button to execute the query. 

 

6) In the heidisql menu bar, click on File>>Load SQL file...

7) In the Load SQL file window:

  • Navigate to the location where you extracted the Mifos application files.
  • Navigate to the database folder inside that location.
  • Select the file mifospltaform-tenants-first-time-install.sql and click Open.

Run the first-time-install script, by clicking Run Query button. Once it's successful close the heidisql application.

  • Tomcat - Setup

1) Setting up the Lib folder

a) Download the mysql jdbc 5.1.49 jar file from https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-5.1.49.zip 

b) Once it's downloaded, copy the file and paste it to the Tomcat>>lib folder. 

Note

If the tomcat-jdbc.jar file is not available in the tomcat>>lib folder it can be downloaded from: http://www.java2s.com/Code/JarDownload/tomcat-jdbc/tomcat-jdbc.jar.zip

2) Generate keystore

 Generate a new keystore using the Java keytool :

i) Open Command Prompt 
ii) Navigate to the path where your JAVA>>bin folder is located. 
iii) Run this command to generate the key: keytool -genkey -alias tomcat -keyalg RSA -keysize 2048
iv) Then provide the password. 
For example: 


Answer the questions and then type y after the last question to confirm. 


Note

Once the keystore is created, it should be placed in your home directory. For Example: C:/Users/john/.keystore

3) Configure server.xml page,

a) Go to tomcat>>conf, then right click on the server.xml file and select Open with>>Notepad:


b) Delete everything currently in the server.xml file. Copy and then paste the code to the right that starts with <?xml version='1.0' encoding='utf-8'?> and ends with </Server>.

c) Once the code is pasted in the server.xml file, the following variables need to be modified to reflect your system and settings:
i) Key store path should be modified with your key store path location (for example: keystoreFile="C:/Users/john/.keystore")
ii) Key store password (which was provided while creating the key) should be modified to include your password (for example: keystorePass="xyz123")
iii) MYSQL credentials should be modified to 
reflect the username and password used in step 4 of the Install MySQL section above (for example: username="root" and password="mysql")                                                                                                     

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml"
/>

<Resource type="javax.sql.DataSource"
name="jdbc/mifosplatform-tenants"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver
url="jdbc:mysql://localhost:3306/mifosplatform-tenants"
username="root"
password="mysql"
initialSize="3"
maxActive="10"
maxIdle="6"
minIdle="3"
validationQuery="SELECT 1"
testOnBorrow="true"
testOnReturn="true"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="30000"
minEvictableIdleTimeMillis="60000"
logAbandoned="true"
suspectTimeout="60"
/>
</GlobalNamingResources>

<Service name="Catalina">

<Connector protocol="org.apache.coyote.http11.Http11Protocol"
port="443" maxThreads="200" scheme="https"
secure="true" SSLEnabled="true"
keystoreFile="C:/Users/john/.keystore"
keystorePass="xyz123"
clientAuth="false" sslProtocol="TLS"
URIEncoding="UTF-8"
compression="force"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css"/>

<Engine name="Catalina" defaultHost="localhost">

<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".log"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>
</Engine>
</Service>
</Server>


4) Save the modified server.xml page

Press Ctrl + S or File>>Save. 

 5) Close Notepad. 

Note

If your any of the server port connections are using port number 443, then you need to change your port number to 8443 in server.xml:

port="443" maxThreads="200" scheme="https" to port="8443" maxThreads="200" scheme="https" 

  • Drop Mifos into Tomcat folder

1) fineract-provider.war to tomcat>>webapps folder

1-a) Copy "fineract-provider.war" file from downloaded fineract-platform folder 

       

  

1-b) Paste it to tomcat\webapps folder

                 

2) Community-app to tomcat>>webapps folder

2-a) Copy "community-app" folder from downloaded Mifos-platform>>apps folder: 

       

2-b) Paste it to tomcat\webapps


2-c) Rename existing ROOT folder to OLDROOT under tomcat\webapps\

2-d) Rename community-app folder to ROOT



3) api-docs to tomcat>>webapps>>ROOT folder

3-a) Copy "api-docs" folder from downloaded Mifos-platform>>api-docs folder: 

                 


3-b) Paste it to tomcat\webapps\ROOT folder

  • Create .mifosx folder

1) Create .mifosx folder in home directory & paste Pentaho folder into it

Use command prompt for creating .Mifos folder(make directory) i.e md .mifosx

                        

2) Copy PentahoReports folder from downloaded Mifos-platform folder


           

3) Paste it to .mifosx folder

                  


  • Start Mifos   

1) Go to "C:\tomcat\bin" folder, Run "startup.bat" by clicking it.

   

Note: You can create a shortcut  of "startup.bat" on your desktop and rename it as start mifosx.  

2) Application gets started

 

3) Once server starts, will display as "Server startup in xxxxx ms"

   

4) You could access through any internet browser:- 

@ https://localhost 

and if you are using server port number as 8443 then you could access it @ https://localhost:8443


 5) For the first time access it will display as shown below, please click on proceed:- 

         

6) Login into Mifos, Provide user name: mifos and password as: password


 


         

Stop Mifos X

You could stop by pressing ctrl+c key on tomcat server window & Mifos X gets stopped.
  • Platform application should be available @ https://[public DNS]/fineract-provider/api/v1/offices?tenantIdentifier=default&pretty=true, and this API should return JSON format text with office details
  • API docs should be available @ https://[public DNS]/api-docs/apiLive.htm

Need Help?

If you need help on the Mifos Installation, you could always reach our partners:-

https://mifos.org/directory/

Ex: https://mifos.org/directory/listing/intelligrow-consultancy-services-private-limited/

Welcome to Mifos community, If you are stuck with the Mifos Installation or need training or customization or need any help with respect to mifos please reach to us at:

Sangamesh Nadagoudar,
sangamesh@intelligrow.co or info@intelligrow.co or sangameshintelligrow@gmail.com

+91-9535891298

www.intelligrow.co

We would be happy to help you.