Step-by-step guide
Step 1 - Installing System Updates and Prerequisites:
Install Brew :
Usually this comes installed with your default Mac OS. You can verify this by typing the following command in the terminal.
~ brew --version
You should expect something similar to the output below - else install and upgrade brew here https://brew.sh/
Homebrew 2.0.4
Homebrew/homebrew-core (git revision c9a5; last commit 2019-03-11)
Homebrew/homebrew-cask (git revision 75af4; last commit 2019-03-12)
Install Java :
Download Java 8 (Java SE Development Kit 8u201) from here - https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Simply running the dmg file and following the instructions should work. Go to System Preferences and ensure you have the Java icon below.
Switching Java versions :
You can switch between java versions if you don't want to downgrade your default Java installed on your Mac. This can be done by following the steps below:
Check how many java versions installed
~ /usr/libexec/java_home -V
Switch between Java X and Java 8 (the latter installed above) by adding this to your .bash_profile and running source ~/.bash_profile afterwards
# Java 8export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home
Installing Java 8 using brew :
Similarly you can install java using brew by typing the following commands into a terminal and switching the default java version as stated above
~ brew cask install java~ brew tap caskroom/versions~ brew cask install java8
Install mysql-server : (Only version 5.5 or version 5.6)
Download and install mysql-server from here - https://dev.mysql.com/downloads/mysql/ NB: Make sure to choose between the 5.5 and 5.6 only as higher version won't work for fineract 1.x
Similarly you should see the mysql icon on the System Preferences as shown in the image above.
You should consider adding alias for running mysql and mysqladmin commands via terminal. See below
~ alias mysql=/usr/local/mysql/bin/mysql~ alias mysqladmin=/usr/local/mysql/bin/mysqladmin
Install tomcat :
- Unzip the file downloaded
- Run the following commands.
~ sudo mkdir -p /Library/Tomcat
~ sudo mv ~/PATH-TO-UNZIPED-TOMCAT/apache-tomcat-7.X.XX /Library/Tomcat
- Make all scripts executable
~ sudo chmod +x /Library/Tomcat/apache-tomcat-7.X.XX/bin/*.sh
Starting Tomcat
~ sudo ./Library/Tomcat/apache-tomcat-7.X.XX/bin/startup.sh
After starting Tomcat server you can visit http://localhost:8080 on a web browser and observe the following screen
Stopping Tomcat
~ sudo ./Library/Tomcat/apache-tomcat-7.X.XX/bin/shutdown.sh
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
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 /Library/Tomcat/apache-tomcat-7.x.xx/conf/server.xml path
~ sudo nano /Library/Tomcat/apache-tomcat-7.x.xx/conf/server.xml
nano 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 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> |
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 here:-
port="443" maxThreads="200" scheme="https" to port="8443" maxThreads="200" scheme="https"
Download drizzle jdbc connector
Place it under lib folder
~ cd /Library/Tomcat/apache-tomcat-7.x.xx/lib~ sudo wget http://central.maven.org/maven2/org/drizzle/jdbc/drizzle-jdbc/1.3/drizzle-jdbc-1.3.jar