Installing SCM-Manager 2.44.2 on Rocky Linux 9.2

Hi everyone!
My name is Martin, and I I just joined this community.
I am trying to install scm-manager on a Rocky Linux 9.2 virtual machine, but I’m having some problems so I came here to ask for some help, if possible!
This server machine is on a network where other users are expected to access it securely from their respective Windows machines.


Below are the steps I did and their results:
01) Login as root to the server. Let’s say the IP address is 1.2.3.4

02) Install Java with dnf
dnf install java-11-openjdk-devel

03) Prepare a temporary folder to place the file
mkdir -p /usr/_temp

cd /usr/_temp

wget https://packages.scm-manager.org/repository/releases/sonia/scm/packaging/unix/2.44.2/unix-2.44.2.tar.gz

tar xvfz unix-2.44.2.tar.gz -C /opt

04) Configure iptables (firewall) to have the default port open
vi /etc/sysconfig/iptables

-A INPUT -p tcp --dport 8080 -j ACCEPT

systemctl restart iptables

07) Configure the IP address of the server to access from the network
cd /opt/scm-server/conf/

vi server-config.xml

06) Start the application
cd /opt/scm-server/bin/

./scm-server start

But if I verify the status using
./scm-server status

The following Exceptions are printed :sob::

Exception in thread “main” sonia.scm.server.ScmServerException: could not initialize server
at sonia.scm.server.ScmServer.init(ScmServer.java:110)
at sonia.scm.server.ScmServer.run(ScmServer.java:66)
at sonia.scm.server.ScmServerDaemon.main(ScmServerDaemon.java:53)
Caused by: java.io.IOException: Failed to bind to /10.20.10.17:8080
at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:349)
at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:310)
at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:234)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.server.Server.doStart(Server.java:401)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at sonia.scm.server.ScmServer.init(ScmServer.java:105)
… 2 more
Caused by: java.net.BindException: Address already in use
at java.base/sun.nio.ch.Net.bind0(Native Method)
at java.base/sun.nio.ch.Net.bind(Net.java:459)
at java.base/sun.nio.ch.Net.bind(Net.java:448)
at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227)
at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:80)
at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:344)

Any ideas what I might be missing or what needs to be configured differently?
I really appreciate your time and hope you can give me some guidance!
Best regards.

Welcome Martin,

this catched my attention Address already in use. Could you check what other application run on your machine on port 8080?

Regards, Eduard

Hi Eduard.
Thank you for checking it out!

Before executing the script, there is no service using the port 8080.
Actually I tried changing the port before executing /opt/scm-server/bin/scm-server , but the result was the same.

Any chance it has something to do with the IP address specified inside server-config.xml?
I used the following:
< SystemProperty name=“jetty.host” default=“1.2.3.4” />
which is the (example) IP address of the server where I am setting up scm-manager. That way, the goal is that other users’ machines can access it by typing http://1.2.3.4:8080/ on the browser to access this server’s scm-manager.
Is this concept correct? (I’m actually migrating from svn-manager which worked like this, and I am not completely sure up to what point it could be similar to scm-manager or not).

Thank you again for your time!
Kind regards.

Hi!
I found two reasons things were not working properly from my end.

  1. After executing ./scm-server start, I was using ./scm-server status because I thought this would give me the status of the current script, but it actually executes the script again. This was what caused the error saying the address is already being used.
    So I only execute ./scm-server start and this solved that error.
  2. One of the biggest problems I had after figuring out the error from above, is that the firewall (not iptables, but the Fortigate firewall) settings were not properly set.
    After adjusting it, it worked!

So I am happily testing it right now.
Thanks!

1 Like

Hey @martinperucki !

Great to hear this! Feel free to come back to us if any other issue arises.

Happy testing!

René