Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
titlejava 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 
Install mysql-server : 

# sudo apt-get install mysql-server 

Info
titlemysql password

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)

  • You could skip to Appendix A below and setup a custom mifos db user/password right away.
 
On completion of java installation,one could verify the installed version by & should be 5.5v:-
# mysql --version

...

It is located at /usr/share/tomcat7/conf/server.xml path

# sudo nano /usr/share/tomcat7/conf/server.xml 

Info
titlenano shortcut keys
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" />

<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="org.drizzle.jdbc.DrizzleDriver"
url="jdbc:mysql:thin://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="/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 &quot;%r&quot; %s %b" />

</Host>
</Engine>
</Service>
</Server>

...

# 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

...

Info

For latest release you can download from or If wget/download fails, this link:- http://sourceforge.net/projects/mifos/files/Mifos%20X/ )

...

# sudo -i 

# cd /root 

# mkdir .mifosx

# cp -r /usr/src/fineractplatform-16.03.03.RELEASE/pentahoReports /root/.mifosx

 

Info
titlepentahoReports

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"

...

Info
titleTomcat Testing
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 running.

Info
titleVersions at a time of this guide

 

All required software in this guide (with an exception of fineractplatform) comes from Ubuntu Package System.

Ubuntu 12.04.4 LTS  Release:    12.04   Codename:    precise

mysql  Ver 14.14 Distrib 5.5.37, for debian-linux-gnu (i686) using readline 6.2

Apache Tomcat/7.0.68 

OpenJDK Runtime Environment (IcedTea6 1.13.3) (6b31-1.13.3-1ubuntu1~0.12.04.2)

OpenJDK Server VM (build 23.25-b01, mixed mode)