...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Mifos X Ubuntu Server 14.04 Installation Guide:Linux Server for Fineract Platform using Ubuntu Server 14.04,Java-JDK (v.1.8.0_65 & above),Tomcat server (v.7.0.68.0 & above)and mysql server (v.5.5 or 5.6). |
---|
Step 1 - Installing System Updates and Prerequisites:
# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get install python-software-properties
# sudo add-apt-repository ppa:webupd8team/java
# sudo apt-get update
# sudo apt-get install oracle-java8-installer
Info | ||
---|---|---|
| ||
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 |
Install mysql-server :
# sudo apt-get install mysql-server
Info | ||
---|---|---|
| ||
set mysql root password to: mysql (Bad for security, but just to get all installed and instructions on how to change it will be provided later in this guide)
On completion of java installation,one could verify the installed version by & should be 5.5v:- # mysql --version |
Install tomact :
# sudo wget http://a.mbbsindia.com/tomcat/tomcat-7/v7.0.68/bin/apache-tomcat-7.0.68.tar.gz
# cd /usr/share
# sudo tar xvf /home/ubuntu/apache-tomcat-7.0.68.tar.gz
# sudo mv apache-tomcat-7.0.68 tomcat7
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 2 - Enabling SSL
To enable tomcat SSL (https), generate and store a key:
All in one line:
# sudo keytool -genkey -keyalg RSA -alias tomcat -keystore /usr/share/tomcat7/tomcat.keystore
Info | ||
---|---|---|
| ||
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 |
Updating server.xml configuration file
It is located at /usr/share/tomcat7/conf/server.xml path
# sudo nano /usr/share/tomcat7/conf/server.xml
Info | ||
---|---|---|
| ||
Tip: To delete line by line you could use ctrl+k To exit you could use ctrl+x To confirm say yes & you could use y then click on enter button to save |
copy and replace below red colored content into it
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<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" />
...
<Service name="Catalina">
<Connector protocol="org.apache.coyote.http11.Http11Protocol"
port="443" maxThreads="200" scheme="https"
secure="true" SSLEnabled="true"
keystoreFile="/usr/share/tomcat7/tomcat.keystore"
keystorePass="xyz123"
clientAuth="false" sslProtocol="TLS"
URIEncoding="UTF-8"
compression="force"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css"/>
<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"
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=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
Download drizzle jdbc connector and 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
Edit /etc/init.d/tomcat7
# sudo nano /etc/init.d/tomcat7
& copy below content into it
# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pidcase $1 in
start)
sh /usr/share/tomcat7/bin/startup.sh
;;
stop)
sh /usr/share/tomcat7/bin/shutdown.sh
;;
restart)
sh /usr/share/tomcat7/bin/shutdown.sh
sh /usr/share/tomcat7/bin/startup.sh
;;
esac
exit 0
then exit by pressing ctrl+x and confirm with y
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 3 - Mifos Platform and Database Setup/Population
Download and extract mifos 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
...
Mifos X Ubuntu Server 16.04 Installation Guide: Linux Server for Fineract Platform using Ubuntu Server 16.04, Java-JDK (v.1.8.0_231 & above), Tomcat server (v.7.0.109.0 & above) MYSQL server (v5.5 or v5.6 not above or below). and not recommended to use any other version in live production outside of what is provided here |
Step 1 - Installing System Updates and Prerequisites:
Run all below mentioned scripts one by one on the ubuntu console & follow step by step instructions: -
# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get install python-software-properties
# sudo apt-get install software-properties-common
# sudo add-apt-repository ppa:webupd8team/java
# sudo apt-get update
Install Java :
# sudo apt-get install oracle-java8-installer
OR
# sudo -E add-apt-repository ppa:openjdk-r/ppa
# sudo apt-get update
# sudo apt-get install openjdk-8-jdk
Info | ||
---|---|---|
| ||
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 |
Install mysql-server :
# sudo apt-get install mysql-server
Info | ||
---|---|---|
| ||
set mysql root password to: mysql (Bad for security, but just to get all installed and instructions on how to change it will be provided later in this guide)
On completion of java installation,one could verify the installed version by & should be 5.5v:- # mysql --version |
Install tomact :
Info | ||
---|---|---|
| ||
The latest tomcat release will change and the link below may become invalid. If wget fails, get the correct link by going to https://tomcat.apache.org/download-70.cgi and under the core section, selecting the link to the tar.gz file. Use it for wget below:- |
# sudo wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.85/bin/apache-tomcat-7.0.85.tar.gz
# sudo mv apache-tomcat-7.0.109.tar.gz /usr/share
# cd /usr/share
# sudo tar xvf apache-tomcat-7.0.109.tar.gz
# sudo rm -f apache-tomcat-7.0.109.tar.gz
# sudo mv apache-tomcat-7.0.85 tomcat7
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 2 - Tomcat setup
Enabling SSL
To enable tomcat SSL (https), generate and store a key:
# sudo keytool -genkey -keyalg RSA -alias tomcat -keystore /usr/share/tomcat.keystore
Info | ||
---|---|---|
| ||
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 as tomcat.keystore |
Updating server.xml configuration file
It is located at /usr/share/tomcat7/conf/server.xml path
# sudo nano /usr/share/tomcat7/conf/server.xml
Info | ||
---|---|---|
| ||
Tip: To delete line by line you could use ctrl+k To exit you could use ctrl+x To confirm say yes & you could use y then click on enter button to save |
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> |
Info | ||
---|---|---|
| ||
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 here:- port="443" maxThreads="200" scheme="https" to port="8443" maxThreads="200" scheme="https" |
Download drizzle jdbc connector
Place it under lib folder
# cd /usr/share/tomcat7/lib
# sudo wget https://repo1.maven.org/maven2/org/drizzle/jdbc/drizzle-jdbc/1.3/drizzle-jdbc-1.3.jar
Download mysql jdbc connector
Download it from https://dev.mysql.com/downloads/connector/j/,
# wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j_8.0.31-1ubuntu18.04_all.deb
Then unzip it
#tar -xvf mysql-connector-java-5.1.49.tar.gz
#rm -r mysql-connector-java-5.1.49.tar.gz
Then place the .jar in the /usr/share/tomcat7/lib folder.
#sudo mv mysql-connector-java-5.1.49/mysql-connector-java-5.1.49-bin.jar /usr/share/tomcat7/lib/
#sudo mv mysql-connector-java-5.1.49/mysql-connector-java-5.1.49.jar /usr/share/tomcat7/lib/
#rm -r mysql-connector-java-5.1.49
The filename above will vary depending on what the latest version of the connector is
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.
|
Then Execute on Terminal the command below
# 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 3 - Fineract Platform and Database Setup/Population
Download and extract Fineract platform:
Info |
---|
For latest release you can download from or If wget/download fails, this link:- http://sourceforge.net/projects/mifos/files/Mifos%20X/ ) |
...
# cd /usr/src
# sudo wget https://
...
jaist.dl.sourceforge.net/project/mifos/Mifos%20X/mifosplatform-18.03.01.RELEASE.zip
# sudo unzip mifosplatform-18.03.01.RELEASE.zip
# cd fineractplatform-18.03.01.RELEASE
Initialize MySQL data
# mysql -u root -p
Enter mysql root password, and in mysql console type:
create database `mifosplatform-tenants`;
create database `mifostenant-default`;
exitexit
# mysql -u root -p pmysql mifosplatform-tenants < database/mifospltaform-tenants-first-time-install.sql
Optional - If you want to load sample data, otherwise you could skip this par:
# mysql -u root -p mifostenant-default < database/migrations/sample_data/load_sample_data.sql
Step 4 - Activate Mifos
Copy mifos fineract-platform and community app to into Tomcat's webapps folder:
# cd /usr/src/fineractplatform-
...
18.03.
...
01.RELEASE
# sudo cp fineract-provider.war /usr/share/tomcat7/webapps/
# sudo cp -r apps/community-app/ /usr/share/tomcat7/webapps/
...
# sudo mv ROOT OLDROOT
...
# sudo cp -r api-docs/ /usr/share/tomcat7/webapps/
...
# cd /usr/share/tomcat7/webapps
# sudo mv ROOT OLDROOT
# sudo mv community-app ROOT
Create a directory for reports (pentahoReports):
# sudo -i
# cd /root
# mkdir .mifosx
# cp -r /usr/src/fineractplatform-1618.03.0301.RELEASE/pentahoReports /root/.mifosxmifosx
Info | ||
---|---|---|
| ||
Info | ||
title | .fineract/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" |
"value" Upload Directory
|
and finally to start
# sudo /etc/init.d/tomcat7 start
Setup is complete and mifos should be running.
and finally to start
# sudo /etc/init.d/tomcat7 start
Setup is complete and mifos should be running.
In case if it throws error ClassNotFoundException org.apache.catalina.core.JasperListener you need to remove the below line from server.xml
Code Block | ||||
---|---|---|---|---|
| ||||
<Listener className="org.apache.catalina.core.JasperListener" /> |
OPTIONAL:
*in separate terminal you may watch your Mifos(logs) come to life like this:
# tail # 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)
Info | ||
---|---|---|
| ||
Congratulations! Mifos: Platform application should be available @ https://[server ip address]:8443/mifosng-provider/api/v1/offices?tenantIdentifier=default&pretty=true Community application should be available You could access Mifos X through any internet browser:- @ https://[server ip address]:8443/community-app?baseApiUrl= or if you are using server port number as 8443 then you could access it @ https://[server ip address]:8443/mifosng-provider/api/v1/localhost:8443 With these credentials:- username: mifos password: password |
...
Change Mifos default mysql password:
# apt-get install phpmyadmin
...
...
Info | ||
---|---|---|
| ||
Tomcat should be listening on localhost and your external ip if you have one. Visit https://[server ip address]:8080 to confirm tomcat is running Visit https://[server ip address]:8443 to confirm tomcat ssl is working (you'll need to accept cerfificate manually) If pages fail to load, something is probably wrong with tomcat. Tomcat on ubuntu logs to /opt/tomcat/logs/catalina.out Check to see if tomcat7 is listening: # netstat -ltpu On the lsit you should be able to find sometihng like: 0 0 [::]:8443 [::]:* LISTEN 27217/java You'll need this working to get mifos runningAdditional info:-
|
Info | ||
---|---|---|
| ||
Appendix A - To change mysql username/passwordChange Mifos default mysql password:
1. Go to http://[yourserverip]/phpmyadmin and login
|
Info | ||
---|---|---|
| ||
If you need help on the Mifos Installation, you could always reach our partners:- 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, +91-9535891298 We would be happy to help you. |