Here are the steps to install Eclipse GlassFish 5.1.0 on CentOS 7.
root@CENTOS7 ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@CENTOS7 ~]#
Installation
[root@CENTOS7 ~]# rpm -ivh jdk-8u241-linux-x64.rpm
warning: jdk-8u241-linux-x64.rpm:Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing... ################################# [100%]
Updating/During installation...
1:jdk1.8-2000:1.8.0_241-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
[root@CENTOS7 ~]#
Download glassfish-5.1.0.zip
with the following command. (Or download from Download Site.)
curl -OL http://mirror.kakao.com/eclipse/glassfish/glassfish-5.1.0.zip
Execution result
[root@CENTOS7 ~]# curl -OL http://mirror.kakao.com/eclipse/glassfish/glassfish-5.1.0.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 111M 100 111M 0 0 292k 0 0:06:31 0:06:31 --:--:-- 302k
[root@CENTOS7 ~]#
The hash value of the file downloaded by the following command is the same as the value of Download site Make sure there is.
sha512sum glassfish-5.1.0.zip
Execution result
[root@CENTOS7 ~]# sha512sum glassfish-5.1.0.zip
10d99061319178d65e8f8604f41caaca2ea561cbdc426d0fdf6163ead549e9c63c154c6ff648133a5b37bec14940a48b7c893544fa19f900a8c62273e445ed14 glassfish-5.1.0.zip
[root@CENTOS7 ~]#
Unzip glassfish-5.1.0.zip
under / opt
with the following command.
unzip -d /opt glassfish-5.1.0.zip
Execution result
[root@CENTOS7 ~]# unzip -d /opt glassfish-5.1.0.zip
Archive: glassfish-5.1.0.zip
creating: /opt/glassfish5/
creating: /opt/glassfish5/glassfish/
creating: /opt/glassfish5/glassfish/domains/
creating: /opt/glassfish5/glassfish/domains/domain1/
creating: /opt/glassfish5/glassfish/domains/domain1/config/
inflating: /opt/glassfish5/glassfish/domains/domain1/config/admin-keyfile
~~~ Omitted ~~~
inflating: /opt/glassfish5/mq/lib/props/broker/default.properties
inflating: /opt/glassfish5/mq/lib/props/broker/install.properties
inflating: /opt/glassfish5/mq/lib/tyrus-standalone-client.jar
[root@CENTOS7 ~]# cd /opt
[root@CENTOS7 opt]# ls -l
Total 0
drwxr-xr-x.7 root root 92 January 28 2019 glassfish5
[root@CENTOS7 opt]#
Create a "glassfish" user with the following command. (Password is also "glassfish")
useradd -p $(perl -e 'print crypt("glassfish", "\$6\$salt03")') glassfish
Execution result
[root@CENTOS7 opt]# useradd -p $(perl -e 'print crypt("glassfish", "\$6\$salt03")') glassfish
[root@CENTOS7 opt]#
Change the owner and group of the glassfish5
directory to glassfish
with the following command.
chown -R glassfish:glassfish glassfish5
Execution result
[root@CENTOS7 opt]# chown -R glassfish:glassfish glassfish5
[root@CENTOS7 opt]# ls -l
Total 0
drwxr-xr-x.7 glassfish glassfish 92 January 28 2019 glassfish5
[root@CENTOS7 opt]#
On the last line of /opt/glassfish5/glassfish/config/asenv.conf
AS_JAVA="/usr/java/jdk1.8.0_241-amd64"
To add.
asenv.conf
#
# Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0, which is available at
# http://www.eclipse.org/legal/epl-2.0.
#
# This Source Code may also be made available under the following Secondary
# Licenses when the conditions for such availability set forth in the
# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
# version 2 with the GNU Classpath Exception, which is available at
# https://www.gnu.org/software/classpath/license.html.
#
# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
#
#
# * * * N O T E * * *
#
# Although the lines in this file are formatted as environment
# variable assignments, this file is NOT typically invoked as a script
# from another script to define these variables. Rather, this file is read
# and processed by a server as it starts up. That scanning code resolves
# the relative paths against the GlassFish installation directory.
#
# Yet, this file is also where users of earlier versions have sometimes added
# a definition of AS_JAVA to control which version of Java GlassFish
# should use. As a result, in order to run a user-specified version of Java,
# the asadmin and appclient scripts do indeed invoke this file as a
# script - but ONLY to define AS_JAVA. Any calling script should not
# rely on the other settings because the relative paths will be resolved
# against the current directory when the calling script is run, not the
# installation directory of GlassFish, and such resolution will not work
# correctly unless the script happens to be run from the GlassFish installation
# directory.
#
AS_IMQ_LIB="../../mq/lib"
AS_IMQ_BIN="../../mq/bin"
AS_CONFIG="../config"
AS_INSTALL=".."
AS_DEF_DOMAINS_PATH="../domains"
AS_DEF_NODES_PATH="../nodes"
AS_DERBY_INSTALL="../../javadb"
AS_JAVA="/usr/java/jdk1.8.0_241-amd64"
Create the following glassfish.xml
under / usr / lib / firewalld / services
.
glassfish.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>glassfish</short>
<description>GlassFish Server</description>
<port protocol="tcp" port="4848"/>
<port protocol="tcp" port="8080"/>
<port protocol="tcp" port="8181"/>
</service>
Set the firewall to pass through the port set in glassfish.xml with the following command.
firewall-cmd --permanent --add-service=glassfish
Execution result
[root@CENTOS7 services]# firewall-cmd --permanent --add-service=glassfish
success
[root@CENTOS7 services]#
Restart firewalld with the following command.
systemctl restart firewalld.service
Execution result
[root@CENTOS7 services]# systemctl restart firewalld.service
[root@CENTOS7 services]#
Confirm that glassfish is added to services with the following command.
firewall-cmd --list-all
Execution result
[root@CENTOS7 services]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: dhcpv6-client glassfish http ssh
ports: 8888/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@CENTOS7 services]#
Switch to the glassfish
user with the following command.
su - glassfish
Execution result
[root@CENTOS7 services]# su - glassfish
Last login: 2020/03/19 (wood) 23:39:44 JST date and time pts/0
[glassfish@CENTOS7 ~]$
The commands to start, stop, and restart glassfish
are as follows.
Start: / opt / glassfish5 / glassfish / bin / asadmin start-domain
Stop: / opt / glassfish5 / glassfish / bin / asadmin stop-domain
Reboot: / opt / glassfish5 / glassfish / bin / asadmin restart-domain
Start glassfish
.
Execution result
[glassfish@CENTOS7 ~]$ /opt/glassfish5/glassfish/bin/asadmin start-domain
Waiting for domain1 to start .......
Successfully started the domain : domain1
domain Location: /opt/glassfish5/glassfish/domains/domain1
Log File: /opt/glassfish5/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.
[glassfish@CENTOS7 ~]$
Connect from your browser with the following URL.
http: // <server IP address>: 8080 /
The connection is OK when the following screen opens.
Connect to the management screen from the browser with the following URL.
http: // <server IP address>: 4848 /
If you get an error, set the following:
Set the password for the admin user.
/opt/glassfish5/glassfish/bin/asadmin change-admin-password
Execution result
[glassfish@CENTOS7 ~]$ /opt/glassfish5/glassfish/bin/asadmin change-admin-password
Enter admin user name [default: admin]>(As is)
Enter the admin password>(As is)
Enter the new admin password>admin
Enter the new admin password again>admin
Command change-admin-password executed successfully.
[glassfish@CENTOS7 ~]$
Enable enable-secure-admin with the following command.
/opt/glassfish5/glassfish/bin/asadmin --host localhost --port 4848 enable-secure-admin
Execution result
[glassfish@CENTOS7 ~]$ /opt/glassfish5/glassfish/bin/asadmin --host localhost --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.
[glassfish@CENTOS7 ~]$
Restart glassfish.
/opt/glassfish5/glassfish/bin/asadmin restart-domain
Execution result
[glassfish@CENTOS7 ~]$ /opt/glassfish5/glassfish/bin/asadmin restart-domain
Successfully restarted the domain
Command restart-domain executed successfully.
[glassfish@CENTOS7 ~]$
Connect to the management screen from the browser again with the following URL.
http: // <server IP address>: 4848 /
Log in with the set administrative user / password (admin / admin).
I was able to log in to the management screen.
Create the following glassfish.service
under / usr / lib / systemd / system
.
/usr/lib/systemd/system/glassfish.service
[Unit]
Description=GlassFish Server v5.1
After=syslog.target network.target remote-fs.target
[Service]
Type=oneshot
RemainAfterExit=yes
PIDFile=/var/run/glassfish.pid
ExecStart=/opt/glassfish5/glassfish/bin/asadmin start-domain
ExecStop=/opt/glassfish5/glassfish/bin/asadmin stop-domain
ExecReload=/opt/glassfish5/glassfish/bin/asadmin restart-domain
TimeoutStartSec=300
TimeoutStopSec=30
User=glassfish
Group=glassfish
[Install]
WantedBy=multi-user.target
The start, stop, and restart with the systemctl
command are as follows.
Start: systemctl start glassfish
Stop: systemctl stop glassfish
Reboot: systemctl restart glassfish
This time I installed and ran jdk-8u241
as java.
However, with jdk14
, the following error occurred and it could not be executed.
Execution result
[glassfish@CENTOS7 ~]$ /opt/glassfish5/glassfish/bin/asadmin start-domain
Exception in thread "main" java.lang.NullPointerException
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.initializeServiceLocator(AbstractModulesRegistryImpl.java:128)
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.newServiceLocator(AbstractModulesRegistryImpl.java:120)
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.createServiceLocator(AbstractModulesRegistryImpl.java:194)
at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.createServiceLocator(AbstractModulesRegistryImpl.java:200)
at com.sun.enterprise.module.single.StaticModulesRegistry.createServiceLocator(StaticModulesRegistry.java:64)
at com.sun.enterprise.admin.cli.CLIContainer.getServiceLocator(CLIContainer.java:193)
at com.sun.enterprise.admin.cli.CLIContainer.getLocalCommand(CLIContainer.java:231)
at com.sun.enterprise.admin.cli.CLICommand.getCommand(CLICommand.java:207)
at com.sun.enterprise.admin.cli.AdminMain.executeCommand(AdminMain.java:347)
at com.sun.enterprise.admin.cli.AdminMain.doMain(AdminMain.java:282)
at org.glassfish.admin.cli.AsadminMain.main(AsadminMain.java:33)
[glassfish@CENTOS7 ~]$
that's all
Recommended Posts