How to install Omada Software Controller on Amazon Linux on AWS (Guide+Script)
This guide is intended for beginners and covers just initialization/installation of Amazon Linux instance and running Omada Software Controller on it.
If you are looking for other guides tested with Amazon AWS free tier:
- Debian 11 "bullseye" (amd64)
- Red Hat Enterprise Linux 8
- SUSE Linux Enterprise server 15
- Ubuntu 22.04 LTS (amd64) | Ubuntu 22.04 LTS (arm64)
- Debian10/Ubuntu20.04/CentOS8 with Docker
Other guides:
If you do not have Amazon's AWS account, you can create one, you will need a credit card for that purpose which will be charged for a test $ 1 and you can start using AWS immediately. The advantage for new users is following ability to use free tier for a year, this is description on AWS about free tier:
Free tier: In your first year includes 750 hours of t2.micro (or t3.micro in the Regions in which t2.micro is unavailable) instance usage on free tier AMIs per month, 30 GiB of EBS storage, 2 million IOs, 1 GB of snapshots, and 100 GB of bandwidth to the internet. These are min. steps for instance installation
This means that for those who are eligable for free tier, they can run for 12 months their controller for free.
-
After Login, navigate to Instances
-
Click on Launch Instance
-
Type name of your instance
-
Select OS which you want, default is Amazon Linux which this guide covers
-
Select/Create Key Pair (SSH key)
-
Under Network settings → Firewall (security groups), allow only SSH access. Open ports for omada
UDP: 29810
TCP: 29814
(for v4.x - v5.0.29 version of software controller, open range of tcp 29811-29814)
You can create Security Group under Network & Security where you can create rules specifically for omada which can be added to any instance at any point. -
Default storage is set to 1x8GB, which is more than sufficient for running only omada on this server.
When finished configuring your instance, launch it by clicking Launch Instance
-
-
Login over SSH to your instance
-
run sudo -s to become root.
-
run /path/to/install-omada-on-amazon-linux.sh
Finished, if you opened ports 8088/8043 like in step 4 explained, then you can open and access your new controller under https://yourawsdomainorip:8043 or http://yourawsdomainorip:8088
Please ensure to make your server more secure, look for best practices as well as vpn which you will want to run because you do not want whole world to access your omada controller. Of course you do not need vpn especially if you got static ip on your location, you can restrict access to your service from very simple to extremely complex with AWS, here again documentation and best practices should be studied.
If you download and install omada package manually, the only difference to the script is that below commands you can paste as non root user where commands requiring root access are run with sudo:
# Set Omada source Tarball url
OMADAURL="https://static.tp-link.com/upload/software/2022/202208/20220822/Omada_SDN_Controller_v5.5.6_Linux_x64.tar.gz" && echo "URL set: ${OMADAURL}"
# Set vars from url
OMADATARGZ=$(echo "${OMADAURL}" | awk '{split($0,a,"/"); print a[9]}') && echo "Omada installer filename set: ${OMADATARGZ}"
MYINSTALLERFOLDER=$(echo "${OMADATARGZ}" | sed 's/\.tar\.gz//') && echo "Omada install folder set: ${MYINSTALLERFOLDER}"
# Add mongodb repo
cat <<"EOF" | sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo
[mongodb-org-4.4]
name=MongoDB 4.4 Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.4/x86_64
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF
# yum update
sudo yum update -y
# install dependencies
sudo yum install -y java-1.8.0-openjdk-headless jsvc mongodb-org
# download and install omada installer
wget -c ${OMADAURL} -O - | tar -xz
# Make scripts and binaries executable
chmod +x ${MYINSTALLERFOLDER}/*.sh
chmod +x ${MYINSTALLERFOLDER}/bin/*
# Install omada controller, by default it is enabled on boot
cd ${MYINSTALLERFOLDER}
sudo ./install.sh