Step 1)
Stop running tomcat server
1) Find running process number
ps -ef | grep java
2) Kill running server
sudo kill -9 (processor number)
Step 2)
Uninstall Java7
1) Remove all the Java related packages (Sun, Oracle, OpenJDK, IcedTea plugins, GIJ):
dpkg-query -W -f='${binary:Package}\n' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e '^java-common' | xargs sudo apt-get -y remove sudo apt-get -y autoremove
2) Purge config files:
dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
3) Remove Java config and cache directory:
sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
4) Remove manually installed JVMs:
sudo rm -rf /usr/lib/jvm/*
5) Remove Java entries, if there is still any, from the alternatives:
for g in ControlPanel java java_vm javaws jcontrol jexec keytool mozilla-javaplugin.so orbd pack200 policytool rmid rmiregistry servertool tnameserv unpack200 appletviewer apt extcheck HtmlConverter idlj jar jarsigner javac javadoc javah javap jconsole jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic schemagen serialver wsgen wsimport xjc xulrunner-1.9-javaplugin.so; do sudo update-alternatives --remove-all $g; done
6) Search for possible remaining Java directories:
sudo updatedb sudo locate -b '\pack200'
7) Check for java is removed
java -version
Step 3)
Install Java
sudo apt-get update
sudo apt-get install oracle-java8-installer
java license agreement
On prompting for accepting oracle java agreement, accept the agreement by pressing y(yes) key.
On completion of java installation,one could verify the installed version by & should be 1.8v:-
# java -version
2) Check for java is installed
java -version
You should see this below message:-
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
Step 4)
Uninstall existing Tomcat
1) Find all tomcat directories location
sudo find / -name tomcat7
2) Excute below script to uninstall Tomcat services
sudo apt-get remove tomcat7 tomcat7-docs tomcat7-admin tomcat7-examples default-jdk ant git
3) Remove all tomcat directories
sudo rm -r /usr/share/tomcat7
sudo rm -r /var/lib/tomcat7
sudo rm -r /var/log/tomcat7
sudo rm -r /etc/init.d/tomcat7
4) Search for all remaining tomcat directories & remove them too.
sudo find / -name tomcat7
Step 5)
1) Install tomact :
# sudo wget http://mirror.fibergrid.in/apache/tomcat/tomcat-7/v7.0.69/bin/apache-tomcat-7.0.69.tar.gz
# cd /usr/share
# sudo tar xvf /home/ubuntu/apache-tomcat-7.0.69.tar.gz
# sudo mv apache-tomcat-7.0.69 tomcat7
Note
For latest release you can download from or If wget/download fails, this link:-:- https://tomcat.apache.org/download-70.cgi >> core >> tar.gz
2) Install nano - text editor
# sudo apt-get install nano
OPTIONAL (date/time settings)
Check date:
# date
and if needed update with
# dpkg-reconfigure tzdata
Step 6)
Tomcat setup
1) Enabling SSL
To enable tomcat SSL (https), generate and store a key:
# sudo keytool -genkey -keyalg RSA -alias tomcat -keystore /usr/share/tomcat.keystore
set keystore password
set password to: xyz123
(Bad for security, but just to get all installed and instructions on how to change it will be provided later in this guide)
This gets stored in /usr/share/tomcat7 as tomcat.keystore
2) Updating server.xml configuration file
It is located at /usr/share/tomcat7/conf/server.xml path
# sudo nano /usr/share/tomcat7/conf/server.xml
nano shortcut keys
copy and replace below content into it
<?xml version='1.0' encoding='utf-8'?> <GlobalNamingResources> <Service name="Catalina"> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" <Host name="localhost" appBase="webapps" </Host> |
3) Download drizzle jdbc connector
Place it under lib folder
# cd /usr/share/tomcat7/lib
# sudo wget http://central.maven.org/maven2/org/drizzle/jdbc/drizzle-jdbc/1.3/drizzle-jdbc-1.3.jar
4) Edit /etc/init.d/tomcat7
# sudo nano /etc/init.d/tomcat7
copy below red colored content into it & exit by pressing ctrl+x then confirm with y for yes.
# Tomcat auto-start case $1 in |
# sudo chmod 755 /etc/init.d/tomcat7
Link this script to the startup folders with a symbolic link.Execute these two commands.
# sudo ln -s /etc/init.d/tomcat7 /etc/rc1.d/K99tomcat
# sudo ln -s /etc/init.d/tomcat7 /etc/rc2.d/S99tomcat
Step 7)
Download and extract Fineract platform:
# cd /usr/src
# sudo wget https://sourceforge.net/projects/mifos/files/Mifos%20X/fineractplatform-16.03.03.RELEASE.zip
# sudo apt-get install unzip
# sudo unzip fineractplatform-16.03.03.RELEASE.zip
# cd fineractplatform-16.03.03.RELEASE
For latest release you can download from or If wget/download fails, this link:- http://sourceforge.net/projects/mifos/files/Mifos%20X/ )
Step 8)
Droping Mifos into Tomcat
1) Copy fineract-platform and community app into Tomcat's webapps folder:
# cd /usr/src/fineractplatform-16.03.03.RELEASE
# sudo cp fineract-provider.war /usr/share/tomcat7/webapps/
# sudo cp -r apps/community-app/ /usr/share/tomcat7/webapps/
# sudo cp -r api-docs/ /usr/share/tomcat7/webapps/
# cd /usr/share/tomcat7/webapps
# sudo mv ROOT OLDROOT
# sudo mv community-app ROOT
2) Create a directory for reports (pentahoReports):
# sudo -i
# cp -r /usr/src/fineractplatform-16.03.03.RELEASE/pentahoReports /root/.mifosx
pentahoReports & upload directory
Pentaho Reports
If /pentahoReports is not copied into /root/.mifosx, penatoh reports,ex:accounting reports will fail with:
Income Statement.prpt","defaultUserMessage":"Unable to create key: No loader was able to handle the given key data: /usr/share/tomcat7/.mifosx/pentahoReports/Income Statement.prpt","userMessageGlobalisationCode":"error.msg.reporting.error","parameterName":null,"value"
Upload Directory
- .fineract directory gets created automatically, if not created then Clients > Upload Documents will fail with: "Error error.msg.document.save" (firebug, network tab)
- Access to this directory should be restricted to authorized personnel only.
While all accounting related information is stored in a database, submitted documents are simply stored in orginal format as uploaded. Mifos will store user uploaded files/documents relating to clients,loans,etc in .fineract/
3) and finally to start
# sudo /etc/init.d/tomcat7 start
Setup is complete and mifos should be running.
OPTIONAL:
*in separate terminal you may watch your Mifos(logs) come to life like this:
# tail -f /usr/share/tomcat7/logs/catalina.out
(if all is good, after a while of loading, you should see something like: Root WebApplicationContext: initialization completed in 45876 ms)
Important
Note:- You could access Mifos X through any internet browser:-
Note: Since in this instruction page, we have provided port number as 443 in server.xml page so need to provide port number. Since we have renamed community-app as ROOT no need to provide /community-app