Learn how to install GlassFish Server on CentOS 8 with this step-by-step guide. Set up a robust Java EE application server on your CentOS system efficiently. #centlinux #linux #glassfish
GlassFish Server is an open-source application server that is designed for deploying and managing Java EE (Enterprise Edition) applications. It is developed by the Eclipse Foundation and was originally created by Sun Microsystems. GlassFish provides a robust and scalable platform for building enterprise-level applications, offering a variety of features that support the full Java EE specification.
GlassFish Server is widely used in enterprise environments for hosting large-scale, mission-critical applications due to its compliance with Java EE standards, rich feature set, and scalability.
GlassFish Server and Apache Tomcat are both popular choices for Java application deployment, but they serve different purposes and offer distinct features. Here’s a comparison to help you understand their differences and choose the right one for your needs:
Overview:
Key Features:
Use Cases:
Overview:
Key Features:
Use Cases:
Choosing Between GlassFish and Tomcat:
In essence, the choice between GlassFish and Tomcat depends on the specific needs of your application and the level of Java EE support required.
Recommended Books: Jakarta EE Cookbook: (PAID LINK) Practical recipes for enterprise Java developers to deliver large scale applications with Jakarta EE, 2nd Edition by Packt Publishing
Recommended Online Training: Glassfish Server Administration for Beginners (Step-By-Step)
We are using a minimal RHEL 8 virtual machine with following specifications.
Read Also: How to install Payara Server on CentOS 7
By using a SSH client, connect with glassfish-01.centlinux.com as root user.
Build cache of your enabled yum repositories.
# dnf makecache
Execute following dnf command to update installed software packages in you Linux server.
# dnf update -y
If the above command updates your Linux Kernel then you should reboot your Linux operating system with the new Kernel.
# reboot
After installation and reboot, verify the Linux operating system and Linux Kernel versions.
# cat /etc/redhat-release Red Hat Enterprise Linux release 8.5 (Ootpa) # uname -r 4.18.0-348.7.1.el8_5.x86_64
You are required wget and unzip commands to download and extract GlassFish installation files.
Therefore, install wget and unzip now by using dnf command.
# dnf install -y wget unzip
Eclipse GlassFish Server 6.2 requires Java JDK 11.
You can either install Oracle JDK or use OpenJDK instead.
Both works fine for Eclipse GlassFish Server 6.2.
Here, we are installing OpenJDK 11 from default Red Hat repositories.
# dnf install -y java-11-openjdk
After successful installation of Java Development Kit (JDK), verify the version of Java by using following command.
# java -version openjdk version "11.0.13" 2021-10-19 LTS OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
Create a Linux user to own GlassFish software and processes.
# useradd -s /sbin/nologin glassfish
You can download GlassFish Server from their Official website.
Copy the URL from the above download page and then execute following wget command at Linux CLI to download GlassFish software.
# wget https://www.eclipse.org/downloads/download.php?file=/ee4j/glassfish/glassfish-6.2.3.zip -O ~/glassfish-6.2.3.zip --2021-12-21 14:27:40-- https://www.eclipse.org/downloads/download.php?file=/ee4j/glassfish/glassfish-6.2.3.zip Resolving www.eclipse.org (www.eclipse.org)... 198.41.30.198 Connecting to www.eclipse.org (www.eclipse.org)|198.41.30.198|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://download.eclipse.org/ee4j/glassfish/glassfish-6.2.3.zip [following] --2021-12-21 14:27:42-- https://download.eclipse.org/ee4j/glassfish/glassfish-6.2.3.zip Resolving download.eclipse.org (download.eclipse.org)... 198.41.30.199 Connecting to download.eclipse.org (download.eclipse.org)|198.41.30.199|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 118233273 (113M) [application/zip] Saving to: ‘/root/glassfish-6.2.3.zip’ /root/glassfish-6.2 100%[===================>] 112.76M 921KB/s in 1m 49s 2021-12-21 14:29:33 (1.03 MB/s) - ‘/root/glassfish-6.2.3.zip’ saved [118233273/118233273]
After successful download, extract the downloaded file by using unzip command.
# unzip -d /opt/ glassfish-6.2.3.zip
Change the ownership of GlassFish software by executing following Linux command.
# chown -R glassfish:glassfish /opt/glassfish6/
To configure autostart of Eclipse GlassFish server, you need to create a Systemd service unit.
Use vim text editor to create a Systemd service unit as follows.
# vi /usr/lib/systemd/system/glassfish.service
Add following lines in this file.
[Unit] Description = GlassFish Server v6.2 After = syslog.target network.target [Service] User = glassfish ExecStart = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain ExecStop = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar stop-domain ExecReload = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar restart-domain Type = forking [Install] WantedBy = multi-user.target
Enable and start GlassFish service.
# systemctl enable --now glassfish.service Created symlink /etc/systemd/system/multi-user.target.wants/glassfish.service → /usr/lib/systemd/system/glassfish.service.
Verify the status of GlassFish service.
# systemctl status glassfish.service ● glassfish.service - GlassFish Server v6.2 Loaded: loaded (/usr/lib/systemd/system/glassfish.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2021-12-21 14:43:23 EST; 11s ago Process: 3149 ExecStart=/usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain (code=ex> Main PID: 3168 (java) Tasks: 100 (limit: 12267) Memory: 335.3M CGroup: /system.slice/glassfish.service └─3168 /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64/bin/java -cp /opt/glassfish6/glassfish/modules/> Dec 21 14:43:12 glassfish-01.centlinux.com systemd[1]: Starting GlassFish Server v6.2... Dec 21 14:43:22 glassfish-01.centlinux.com java[3149]: Waiting for domain1 to start ......... Dec 21 14:43:22 glassfish-01.centlinux.com java[3149]: Successfully started the domain : domain1 Dec 21 14:43:22 glassfish-01.centlinux.com java[3149]: domain Location: /opt/glassfish6/glassfish/domains/domain1 Dec 21 14:43:22 glassfish-01.centlinux.com java[3149]: Log File: /opt/glassfish6/glassfish/domains/domain1/logs/server.log Dec 21 14:43:22 glassfish-01.centlinux.com java[3149]: Admin Port: 4848 Dec 21 14:43:22 glassfish-01.centlinux.com java[3149]: Command start-domain executed successfully. Dec 21 14:43:23 glassfish-01.centlinux.com systemd[1]: Started GlassFish Server v6.2.
Eclipse GlassFish Server uses following service ports.
Therefore, allow these ports in Linux Firewall to make GlassFish Server accessible across the network.
# firewall-cmd --permanent --add-port={4848,8080,8181}/tcp success # firewall-cmd --reload success
Add GlassFish binaries in PATH environment variable, to make them executable from any path.
# sed -i 's/^PATH=*/PATH=/opt/glassfish6/bin:/g' ~/.bash_profile # source ~/.bash_profile
Note: Default password for admin user is blank.
Use asadmin command and set a password for GlassFish Admin user.
# asadmin --port 4848 change-admin-password Enter admin user name [default: admin]> Enter the admin password> Enter the new admin password> Enter the new admin password again> Command change-admin-password executed successfully.
By default, Glassfish Admin Console is running as a clear text HTTP service. Run following command to enable secure administration console.
# asadmin --host glassfish-01.centlinux.com --port 4848 enable-secure-admin Enter admin user name> admin Enter admin password for user "admin"> You must restart all running servers for the change in secure admin to take effect. Command enable-secure-admin executed successfully.
Restart GlassFish server to apply changes.
# systemctl restart glassfish.service
Browse URL https://glassfish-01.centlinux.com:4848/ from a client’s browser. You have to ignore certificate warning and add exception in your browser.
Login as Admin user with password, that we have set in previous steps.
You have successfully login to Glassfish Admin Console.
Now, Browse URLs http://glassfish-01.centlinux.com/ and https://glassfish-01.centlinux.com/ from a client’s browser.
Both URLs will bring you to the same page. The only difference is that, former will serve you a clear text HTTP version, however the later will serve an encrypted HTTPS version of the same web page.
Installing GlassFish Server on CentOS 8 can be straightforward if you follow the right steps. This guide provides a comprehensive approach to get your server up and running smoothly. However, if you encounter any issues or prefer professional assistance, I’m here to help.
Visit my Fiverr profile to explore my service offerings. I provide expert installation and configuration of GlassFish Server, as well as other server and application setup services tailored to your needs. Let me handle the technical details so you can focus on your project.
Puppy Linux is a fast, lightweight OS designed for speed and simplicity, perfect for old…
Learn how to change Apache document root in Linux by following this step-by-step guide. Adjust…
Discover how to change Apache port in Linux easily. Follow our simple guide to modify…
Learn how to create a virtual host in Apache Server with this comprehensive guide. Set…
Discover 10 practical tasks for the RHCSA exam with step-by-step solutions. Boost your Linux skills…
Discover the ultimate Fail2ban configuration guide. Learn how to set up, customize, and optimize Fail2ban…
This website uses cookies.