Install on Oracle VM from war file

I am trying to install Jenkins on my Oracle Virtual Machine running on Linux 7.9. using the WAR file.
I updated the latest java version
---------Output-------------
[root@ohvw8205 ~]# java -version
java version “17.0.7” 2023-04-18 LTS
Java™ SE Runtime Environment (build 17.0.7+8-LTS-224)
Java HotSpot™ 64-Bit Server VM (build 17.0.7+8-LTS-224, mixed mode, sharing)
----------End-------------------------

------------Installation logs--------------------
[root@ohvw8205 ~]# java -jar jenkins.war
Running from: /root/jenkins.war
webroot: /root/.jenkins/war
2023-06-12 22:36:37.772+0000 [id=1] INFO winstone.Logger#logInternal: Beginning extraction from war file
2023-06-12 22:36:38.665+0000 [id=1] WARNING o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath
2023-06-12 22:36:38.718+0000 [id=1] INFO org.eclipse.jetty.server.Server#doStart: jetty-10.0.15; built: 2023-04-11T17:25:14.480Z; git: 68017dbd00236bb7e187330d7585a059610f661d; jvm 17.0.7+8-LTS-224
2023-06-12 22:36:38.915+0000 [id=1] INFO o.e.j.w.StandardDescriptorProcessor#visitServlet: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
2023-06-12 22:36:38.960+0000 [id=1] INFO o.e.j.s.s.DefaultSessionIdManager#doStart: Session workerName=node0
2023-06-12 22:36:39.314+0000 [id=1] INFO hudson.WebAppMain#contextInitialized: Jenkins home directory: /root/.jenkins found at: $user.home/.jenkins
2023-06-12 22:36:39.409+0000 [id=1] INFO o.e.j.s.handler.ContextHandler#doStart: Started w.@4a68135e{Jenkins v2.407,/,file:///root/.jenkins/war/,AVAILABLE}{/root/.jenkins/war}
2023-06-12 22:36:39.420+0000 [id=1] INFO o.e.j.server.AbstractConnector#doStart: Started ServerConnector@79c97cb{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
2023-06-12 22:36:39.427+0000 [id=1] INFO org.eclipse.jetty.server.Server#doStart: Started Server@4b7dc788{STARTING}[10.0.15,sto=0] @2003ms
2023-06-12 22:36:39.428+0000 [id=26] INFO winstone.Logger#logInternal: Winstone Servlet Engine running: controlPort=disabled
2023-06-12 22:36:39.632+0000 [id=33] INFO jenkins.InitReactorRunner$1#onAttained: Started initialization
2023-06-12 22:36:39.647+0000 [id=32] INFO jenkins.InitReactorRunner$1#onAttained: Listed all plugins
2023-06-12 22:36:40.351+0000 [id=32] INFO jenkins.InitReactorRunner$1#onAttained: Prepared all plugins
2023-06-12 22:36:40.354+0000 [id=33] INFO jenkins.InitReactorRunner$1#onAttained: Started all plugins
2023-06-12 22:36:40.361+0000 [id=32] INFO jenkins.InitReactorRunner$1#onAttained: Augmented all extensions
2023-06-12 22:36:40.497+0000 [id=36] INFO jenkins.InitReactorRunner$1#onAttained: System config loaded
2023-06-12 22:36:40.497+0000 [id=36] INFO jenkins.InitReactorRunner$1#onAttained: System config adapted
2023-06-12 22:36:40.498+0000 [id=36] INFO jenkins.InitReactorRunner$1#onAttained: Loaded all jobs
2023-06-12 22:36:40.499+0000 [id=36] INFO jenkins.InitReactorRunner$1#onAttained: Configuration for all jobs updated
2023-06-12 22:36:40.610+0000 [id=51] INFO hudson.util.Retrier#start: Attempt #1 to do the action check updates server
2023-06-12 22:36:40.761+0000 [id=51] INFO hudson.util.Retrier#start: The attempt #1 to do the action check updates server failed with an allowed exception:
java.net.ConnectException: Connection refused
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:549)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
at java.base/java.net.Socket.connect(Socket.java:633)
at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:304)
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:532)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:637)
at java.base/sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:266)
at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:380)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:193)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1242)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1128)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:179)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
at hudson.model.DownloadService.loadJSON(DownloadService.java:122)
at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:218)
at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:213)
at hudson.PluginManager.checkUpdatesServer(PluginManager.java:2111)
at hudson.util.Retrier.start(Retrier.java:62)
at hudson.PluginManager.doCheckUpdatesServer(PluginManager.java:2082)
at jenkins.DailyCheck.execute(DailyCheck.java:93)
at hudson.model.AsyncPeriodicWork.lambda$doRun$0(AsyncPeriodicWork.java:102)
at java.base/java.lang.Thread.run(Thread.java:833)
2023-06-12 22:36:40.761+0000 [id=51] INFO hudson.util.Retrier#start: Calling the listener of the allowed exception ‘Connection refused’ at the attempt #1 to do the action check updates server
2023-06-12 22:36:40.763+0000 [id=51] INFO hudson.util.Retrier#start: Attempted the action check updates server for 1 time(s) with no success
2023-06-12 22:36:40.764+0000 [id=51] SEVERE hudson.PluginManager#doCheckUpdatesServer: Error checking update sites for 1 attempt(s). Last exception was: ConnectException: Connection refused
2023-06-12 22:36:40.776+0000 [id=38] INFO jenkins.install.SetupWizard#init:




Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

xxxxxxxxxxxxxxxxxxxxxxx

This may also be found at: /root/.jenkins/secrets/initialAdminPassword




2023-06-12 22:36:40.779+0000 [id=38] WARNING hudson.model.UpdateCenter#updateDefaultSite: Upgrading Jenkins. Failed to update the default Update Site ‘default’. Plugin upgrades may fail.
java.net.ConnectException: Connection refused
at java.base/sun.nio.ch.Net.pollConnect(Native Method)
at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672)
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:549)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:597)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
at java.base/java.net.Socket.connect(Socket.java:633)
at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:304)
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:532)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:637)
at java.base/sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:266)
at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:380)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:193)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1242)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1128)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:179)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
at hudson.model.DownloadService.loadJSON(DownloadService.java:122)
at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:218)
at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:213)
at hudson.model.UpdateCenter.updateDefaultSite(UpdateCenter.java:2697)
at jenkins.install.SetupWizard.init(SetupWizard.java:209)
at jenkins.install.InstallState$InitialSecuritySetup.initializeState(InstallState.java:182)
at jenkins.model.Jenkins.setInstallState(Jenkins.java:1138)
at jenkins.install.InstallUtil.proceedToNextStateFrom(InstallUtil.java:99)
at jenkins.install.InstallState$Unknown.initializeState(InstallState.java:88)
at jenkins.model.Jenkins$15.run(Jenkins.java:3528)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:177)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305)
at jenkins.model.Jenkins$5.runTask(Jenkins.java:1165)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2023-06-12 22:36:40.779+0000 [id=38] INFO jenkins.InitReactorRunner$1#onAttained: Completed initialization
2023-06-12 22:36:40.787+0000 [id=25] INFO hudson.lifecycle.Lifecycle#onReady: Jenkins is fully up and running
----------------------End-----------------------------
I can see jenkins located in
[root@ohvw8205 lib]# locate jenkins
/etc/yum.repos.d/jenkins.repo
/usr/lib/firewalld/services/jenkins.xml
/var/cache/yum/x86_64/7Server/jenkins
/var/cache/yum/x86_64/7Server/jenkins/gen
/var/cache/yum/x86_64/7Server/jenkins/packages
/var/lib/yum/repos/x86_64/7Server/jenkins

[root@ohvw8205 lib]# systemctl status jenkins
Unit jenkins.service could not be found.

There is no firewall running on the server.

Apologies if this issue has already been reported, I did a search and could not find a match.

Rgds

Welcome to the Jenkins community!

You don’t want to use Oracle Linux 7.9. The Jenkins project will stop supporting Oracle Linux 7 in November 2023 as announced in this blog post. Oracle Linux 8.8 or Oracle Linux 9.2 are much better choices if you need to use a version of Oracle Linux.

Launching the WAR file yourself on Linux is rare. Most Linux installations follow the instructions in the Linux installation guide and install from a Linux package (RPM for Red Hat Enterprise Linux and its derivatives, DEB for Debian and its derivatives). The Linux installation process simplifies upgrades and makes the management of the Jenkins package consistent with the rest of the operating system packages.

Don’t run Jenkins as the root user. Running Jenkins as the root user grants too much permission to the Jenkins process. Jenkins needs to be run as a service using an account that is configured for a service. The linux installation packages create that service account for you with the correct configuration.

“Connection refused” likely means that there is some network barrier between the computer running Jenkins and the public internet. For example, there may be a proxy server that is configured on your network and you’ll need to provide Jenkins with the URL, the username and the password of that proxy server.

Installing from the WAR file does not create a systemd unit. The Linux installation instructions will create a systemd unit as part of the installation process, though Oracle Linux 7.9 is not supported by the Linux installation process. See the earlier recommendation to use a different operating system than Oracle Linux 7.9.

Thanks Mark for the detailed explanation. The reason I’m not using the packages is because my VM does not have internet access nor does it use a proxy.

See the offline installation instructions for the details that have been documented.

If you discover additional details, please submit one or more pull requests to update that documentation. Most Jenkins users are not running in an offline installation, so those instructions are not regularly tested or improved. We’d love to have your improvements to those instructions.