This is the (almost) complete setup script for JAMF Software's JSS server. It will perform the following tasks :-
- Install and configure all the software packages required to run the JSS
- Harden the server via software firewall and optional HTTPS certificates
- Show all currently running JSS on the server
- Create a new JSS and Database
- Delete an existing JSS and Database
- Dump a selected (or ALL) JSS database to a file
- Upload a database file back into MySQL
- Upgrade a single JSS install on the server
- Upgrade ALL JSS installs on the server
- (optional) Refresh Tomcat SSL certificate from LetsEncrypt (The LetsEncrypt certificates are automatically renewed via a cron job. The same code can be invoked manually with this option)
- Will now optimally configure Tomcat and MySQL (locally only) for number of instances, available ram etc etc. (this one was HARD to do)
The only things it doesn't do are:
- Set up anything to do with load balancing. That can be done inside the JSS itself.
- Any remote server configuration with the sole exception of modifying remote databases.
- Clustered server setup.
This assumes you have an either an Ubuntu 14.04 LTS or a RedHat 7.x server installed with openssh. This also assumes the server is properly configured to see the internet and has a properly set up DNS hostname.
Please do NOT use Ubuntu's minimal iso install. This will miss out lots of key software and this script will fail. Use the "server" download instead.
- Download the proper script depending on which Linux distribution you are using.
- Edit the jss-in-a-box.sh script variables in line with your own security policies
- Server admin username
- Use LetsEncrypt (if this is set to FALSE, then the JSS will be set up without HTTPS)
- SSL Domain name for the server
- SSL E-mail address to register with the LetsEncrypt CA
- SSL Keypass password
- MySQL root password
- MySQL server address
- JSS database username
- JSS database password
- Edit the jss-in-a-box.sh script firewall settings.
- scp the ROOT.war file supplied by JAMF to the server
- scp the jss-in-a-box.sh script over to the server
- Run the script with sudo. e.g. sudo ./jss-in-a-box.sh
- Follow the options! (They are all disabled until no.1 is run successfully).
You should, depending on server and internet speed have a fully functioning JSS running inside of an hour. Probably less.
(Optional) Run the script with sudo ./jss-in-a-box.sh -h to get a help prompt.
The instructional video below provides more details of operation. NOTE: This is of an earlier version but the info is still valid.
- JSS
- Git (used purely for installing LetsEncrypt)
- Unzip
- Uncomplicated Firewall (Ubuntu) / FirewallD (Redhat)
- OpenSSL
- OpenVMTools
- Oracle Java 8 (Ubuntu) / openjdk 8 (Redhat)
- Java Cryptography Extensions
- Apache Tomcat 8
- MySQL Server 5.6
- (optional) LetsEncrypt