In this article we will cover the steps needed for installing a fully functional Glassfish server on a Linux VPS, specifically a Debian 8 VPS.
GlassFish is a free open source application server for the Java EE platform. With this application the developers can develop and deploy portable and scalable enterprise Java applications.
This guide should work on other Debian systems as well but was tested and written for a Debian 8 (Jessie) OS.
Login to your server via SSH
ssh root@server_ip
Let’s reassure that we have the proper version of Debian installed on our server :
# lsb_release -a
Distributor ID: Debian Description: Debian GNU/Linux 8.1 (jessie) Release: 8.1 Codename: jessie
REQUIREMENTS
We will be using our SSD 1 Linux VPS Hosting plan for this tutorial.
UPDATE THE SYSTEM
Make sure your server is fully up to date. Also, install wget and unzip:
# apt-get update && apt-get upgrade # apt-get install unzip wget
INSTALL ORACLE JAVA 8
Your first step is to add the webupd8team Java PPA repository in your Debian system. Then you will be able to install Oracle Java 8. Issue the following commands:
# echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list # echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list # apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
Update the package index and install Java 8:
# apt-get update # apt-get install oracle-java8-installer
Check if Java has been properly installed:
# java -version
You should receive the following output:
java version "1.8.0_51" Java(TM) SE Runtime Environment (build 1.8.0_51-b16) Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
INSTALL GLASSFISH
We will now download and install Glassfish into the /opt directory. When this tutorial was written the latest Glassfish version was 4.1. Then we will create a user that will start the service because running Glassfish under root is not recommended.
The below commands will complete the above mentioned procedure:
# cd /opt # wget http://download.java.net/glassfish/4.1/release/glassfish-4.1-web.zip # unzip glassfish-4.1-web.zip # useradd glassfish # chown -R glassfish:glassfish /opt/glassfish4
You would want to ease the starting/stopping/restarting of your Glassfish server. Therefore, let’s create an init script. We will create a ‘glassfish’ file in the ‘/etc/init.d’ directory:
# vim /etc/init.d/glassfish
Paste the following lines:
#!/bin/bash # # description: Startup script for Glassfish Application Server # processname: glassfish GLASSFISH_HOME=/opt/glassfish4/ export GLASSFISH_HOME GLASSFISH_USER=glassfish export GLASSFISH_USER start() { echo -n "Starting Glassfish: " su $GLASSFISH_USER -c "$GLASSFISH_HOME/bin/asadmin start-domain domain1" sleep 2 echo "done" } stop() { echo -n "Stopping Glassfish: " su $GLASSFISH_USER -c "$GLASSFISH_HOME/bin/asadmin stop-domain domain1" echo "done" } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo $"Usage: glassfish {start|stop|restart}" exit esac
Make the script executable:
# chmod a+x /etc/init.d/glassfish
Make the Glassfish server to start on boot up:
# update-rc.d glassfish defaults
You can now start Glassfish:
# /etc/init.d/glassfish start
The default GlassFish port numbers are:
Administration: http://your_server_ip:4848 HTTP listener: http://your_server_ip:8080 HTTPS listener: http://your_server_ip:8181
So, open your favorite web browser and navigate to http://your_server_ip:4848
You will be welcomed by the Glassfish administration window, but there is an ‘Secure Admin must be enabled to access the DAS remotely’ error. You can solve this by following the next steps:
Enter the bin directory:
# cd /opt/glassfish4/bin
Make the asadmin script executable:
# chmod +x asadmin
Enter the following command:
# ./asadmin --host your_server_IP --port 4848 enable-secure-admin
You will receive the below error:
remote failure: At least one admin user has an empty password, which secure admin does not permit. Use the change-admin-password command or the admin console to create non-empty passwords for admin accounts. Command enable-secure-admin failed.
So, to solve this change the admin password:
# ./asadmin --port 15123 change-admin-password Enter admin user name [default: admin]> Press enter Enter the admin password> Press enter Enter the new admin password> Enter your new password Enter the new admin password again> Enter the new password again
Now run this command again:
# ./asadmin --host your_server_IP --port 4848 enable-secure-admin
You will get the following output:
You must restart all running servers for the change in secure admin to take effect. Command enable-secure-admin executed successfully.
As the message says, you should restart Glassfish:
# /etc/init.d/glassfish restart
Refresh your browser or open http://your_server_ip:4848 with a new one and log in using the admin user and password you’ve just configured.
Congratulations, you have successfully installed Glassfish 4.1 on your Debian 8 VPS.
Of course you don’t have to do any of this if you use one of our Linux VPS Hosting services, in which case you can simply ask our expert Linux admins to install Glassfish for you. They are available 24×7 and will take care of your request immediately.
PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.
Excellent material, many thanks!!
Really good & useful post !
Thanks for sharing.
Does this work for Glassfish 5? I haven’t tried it yet, Glassfish 4 is pretty old.
Yes, it should work for Glassfish 5 too. We will create a tutorial on how to install Glassfish 5 soon.
Very helpful, thanks a lot. Works with Glassfish 5 as well.