Here are the steps to install the stand-alone version of RAMADDA on an AWS instance.
- From the EC2 Dashboard (e.g., https://us-west-2.console.aws.amazon.com/ec2/v2/home)
go to the Instances page and select "Launch Instance".
- Choose an Amazon Machine Image (AMI)
Pick a standard Amazon Linux 2 AMI image.
Note: The installer does not work on the Amazon Linux 2023 AMI image
as that image does not support the amazon-linux-extras package manager.
Note: RAMADDA can run on REDHAT Linux but the installer
has not been fully tested.
- Choose an Instance Type
The instance type depends on your expected load. For example
https://ramadda.org runs on a t2.medium but a
t2.micro or t2.small works just fine.
- Key pair
Select "Create new key pair".
This is what you use to SSH to your instance. Do not lose it!
Once downloaded, you will need to change permissions on your pem file, e.g.
chmod 600 ramadda.pem
- Network settings
You should allow SSH, HTTPS and HTTP traffic to your server
- Add Storage
The instance comes with a smallish root volume where /home is mounted.
You should add a new volume.
The model that we follow is to have an additional large size volume that will hold
RAMADDA's home directory, uploaded files and database.
The size depends on the expected size of your RAMADDA use.
For example, for the https://ramadda.org
repository (which has a ton of content) the database size is ~4GB and the files take up ~20GB.
- Review Instance Launch
- Elastic IPS (optional)
By default the IP address associated with your instance can change when the instance is stopped and restarted. You can use the AWS Elastic IP service to create a permanent IP address for your instance. In the AWS console under Network and Security select "Elastic IPs". Next, select "Allocate Elastic IP address" to create a new IP address. Then associate the IP address with your new instance.
Once your instance is running here are the steps to configure and install RAMADDA.
- From the Instances page view the details of your instance to see its IPv4 Public IP
- SSH to your instance using the PEM file:
ssh -i <.pem file> ec2-user@<server IP address>
- It is best to update the instance:
sudo yum update -y
- Fetch then unzip the RAMADDA installer:
wget -O ramaddainstaller.zip https://ramadda.org/repository/release/latest/ramaddainstaller.zip
- Run the installer - make sure to give it the absolute path:
sudo sh /home/ec2-user/ramaddainstaller/installer.sh
The installer will walk you through a number of installation steps to setup the directories, and install and configure
Java, Postgres and the RAMADDA server.
The installer will:
Once running you need to finish the configuration through the RAMADDA web interface:
The install process will display an installation password that you enter through the web interface.
Note: since the SSL certificate is self-signed your browser will display a warning when accessing the site.
The install will result in:
/home/ec2-user/ramaddainstaller - The installer
/home/ec2-user/ramaddainstaller/update.sh - A script to run to update your RAMADDA server. Run it as
sudo sh /home/ec2-user/ramaddainstaller/update.sh
/mnt/ramadda/runtime - The installed server
/mnt/ramadda/runtime/ramadda.log - The log output of the server
/mnt/ramadda/runtime/ramaddaserver - The ramadda executable
The service runs
/mnt/ramadda/repository - The RAMADDA home directory.
/mnt/ramadda/repository/install.properties - Holds the database password
/mnt/ramadda/repository/keystore - The generated keystore. Replace this with a real certificate
/mnt/ramadda/repository/ssl.properties - Holds the keystore passwords
/mnt/ramadda/repository/install.properties - Holds the configuration password
/mnt/ramadda/repository/db.properties - Holds the database password
/mnt/ramadda/pgsql - Postgres database