Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Mifos X Ubuntu Server 12.04 Installation GuideInstallation guide: Linux Server for Fineract Platform using Ubuntu Server 12.04, Java-JDK (v.1.8.0_65 & above),Tomcat server (v.7.0.6468.0 & above) and mysql server (v.5.5 or 5.6). |
---|
Step 1 - Installing System Updates and Prerequisites:
# sudo -i
# apt-get update
# apt-get upgrade
# sudo apt-get install software-properties-common python-software-properties
# sudo add-apt-repository ppa:openjdk-r/ppa
# apt-get install openjdk-8-jdk 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)
|
Check for java version and it should be 1.8
# java -version
Install tomact :
# sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
# wget http://a.mbbsindia.com/tomcat/tomcat-7/v7.0.68/bin/apache-tomcat-7.0.68.tar.gz
# sudo mkdir /opt/tomcat
# sudo tar xvf apache-tomcat-7.0.68.tar.gz -C /opt/tomcat --strip-components=1
# cd /opt/tomcat
# sudo chgrp -R tomcat conf
# sudo chmod g+rwx conf
# sudo chmod g+r conf/*
# sudo chown -R tomcat work/ temp/ logs/
# sudo update-alternatives --config java
OPTIONAL (nano text editor & date/time settigns)
# apt-get install nano
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:
# keytool -genkey -keyalg RSA -alias tomcat -keystore /etcopt/tomcat7tomcat/keystore.jks
-storepass keystore -validity 360 -keysize 2048
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) |
Update /etcopt/tomcat/tomcat7conf/server.xml configuration file
# sudo nano /opt/etctomcat/tomcat7conf/server.xml xml
<?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="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="8443" maxThreads="200" scheme="https"
secure="true" SSLEnabled="true"
keystoreFile="/opt/tomcat/keystore.jks"
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 "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
Save the file and exit by clicking ctrl+x & yes(y)
Download mysql drizzle jdbc connector and place it under lib folder
# cd /opt/tomcat/lib# wget http://central.maven.org/maven2/org/drizzle/jdbc/drizzle-jdbc/1.3/drizzle-jdbc-1.3.jar
RestartStart and test tomcat:
# sudo $CATALINA_HOME/bin/startup.sh
Info | ||
---|---|---|
| ||
Tomcat should be listening on localhost and your external ip if you have one. 0 0 [::]:8443 [::]:* LISTEN 27217/java You'll need this working to get mifos running. |
Step 3 - Mifos Platform and Database Setup/Population
Download and extract mifos platform:
# cd /usr/src
# wget https://sourceforge.net/projects/mifos/files/Mifos%20X/fineractplatform-16.03.03.RELEASE.zip
# 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/ ) |
Create and populate databases (for more refer at:- https://github.com/openMF/mifosx/blob/master/INSTALL.md )
# mysql -u root -p
Enter mysql root password, and in mysql console type:
create database `mifosplatform-tenants`;
create database `mifostenant-default`;
exit
# mysql -u root -p mifosplatform-tenants < database/mifospltaform-tenants-first-time-install.sqlOptional - 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 and community app to Tomcat's webapps folder:
# cd /usr/src/fineractplatform-16.03.03.RELEASE
# cp fineract-provider.war /opt/tomcat/webapps/
# cp -r api-docs/ /opt/tomcat/webapps/ROOT/
# cp -r apps/community-app/ /opt/tomcat/webapps/ROOT/
# cp -r api-docs/ /opt/tomcat/webapps/ROOT/
Create a directory for mifos uploads (Client Images & Signatures) & reports (pentahoReports):
sudo # sudo -i
# cd /root
# mkdir .mifosx
# cp -r /usr/src/fineractplatform-16.03.03.RELEASE/pentahoReports /root/.mifosx
Info | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
|
and finally
# sudo $CATALINA_HOME/bin/startup.sh
Setup is complete and mifos should be running.
OPTIONAL:
*in separate terminal you may watch your Mifos come to life like this:
# tail -f /opt/tomcat/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 @ https://[server ip address]:8443/community-app?baseApiUrl=https://[server ip address]:8443/mifosng-provider/api/v1/
username: mifos
|
Appendix A - Change mysql username/password
Change Mifos default mysql password:
# apt-get install phpmyadmin
1. Go to http://[yourserverip]/phpmyadmin and login
2. Click on Privileges, then Add a new User
3. Pick a username/password and create it. Assign full privileges globally, or on mifosplatform-tenants & mifostenant-default databases.
4. On the left, select/open mifosplatform-tenants database,
you should see a table with a single column , click "edit" infront of it.
Locate:
schema_username
schema_password
And set user/pass created in step #3.
Finally, edit
/etcopt/tomcat/tomcat7conf/server.xml
username="root"
password="mysql"
And set user/pass created in step #3 here as well.
You can now set new mysql root password, without braking mifos.
Restart tomcat. Finish.
# /etc/init.d/tomcat7 restart# sudo $CATALINA_HOME/bin/shutdown.sh
# sudo $CATALINA_HOME/bin/startup.sh
Info | ||
---|---|---|
| ||
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
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) |
sudo $CATALINA_HOME/bin/startup.sh
Panel | |
---|---|
On this page:
|