Ferdinand,
systemd has backwards-compatible support for initscripts, but the script you linked to references an ancient geoserver.
Most production deployments I have seen use the -war.zip distribution of GeoServer with the war file deployed in Tomcat behind Apache. On systemd systems, startup configuration (systemd units) are provided for their distributions of Apache and Tomcat. Because you are using the provided system facilities, you never have to worry about systemd. Just deploy your servlet and you are done.
If you want to run the -bin.zip (Jetty) distribution of GeoServer, I recommend writing a systemd unit. It is so easy I wrote one in minutes. In my view this is much easier than hacking an initscript. I am using Debian unstable so you will have to adjust for SuSE.
First make sure you have a suitable system user because geoserver should not run as root for security reasons:
On Debian/Ubuntu:
adduser --system geoserver
On SuSE/RedHat/CentOS:
useradd -r geoserver
I unzipped geoserver-2.7.5-bin.zip in /opt. Again, you can put this wherever you like.
Now give the geoserver user ownership of the modifiable parts of the installation:
chown -R geoserver /opt/geoserver-2.7.5/etc/data_dir /opt/geoserver-2.7.5/etc/logs
You might also need to fix permissions so the geoserver user can read all files:
chmod -R o+rX /opt/geoserver-2.7.5
Here is the systemd unit. You can put it anywhere you like and systemctl will manage symlinks to it. You will need to adjust the paths for your system, and add After items if you have things like network storage that geoserver needs.
*** begin /opt/geoserver-2.7.5/etc/geoserver.service ***
[Unit]
Description=GeoServer
After=network.target
[Service]
User=geoserver
Environment=JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Environment=GEOSERVER_HOME=/opt/geoserver-2.7.5
ExecStart=/opt/geoserver-2.7.5/bin/startup.sh
ExecStop=/opt/geoserver-2.7.5/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
*** end /opt/geoserver-2.7.5/etc/geoserver.service ***
Now enable the unit (you only have to do this once):
systemctl enable /opt/geoserver-2.7.5/etc/geoserver.service
Start the geoserver service (and this will now happen automatically at boot time):
systemctl start geoserver.service
You should be able to see systemd logs with "journalctl -b | less". This should be your first thing to check if geoserver does not start. If you change the unit file you will need to run "systemctl daemon-reload" before trying to start or stop geoserver.
You can also see all running java processes with "ps -fwwC java" and one should be owned by your geoserver user:
UID PID PPID C STIME TTY TIME CMD
geoserv+ 12297 1 18 11:38 ? 00:00:27 /usr/lib/jvm/java-8-openjdk-amd64/bin/java -XX:MaxPermSize=128m -DGEOSERVER_DATA_DIR=/opt/geoserver-2.7.5/data_dir -Djava.awt.headless=true -DSTOP.PORT=8079 -DSTOP.KEY=geoserver -jar start.jar
GeoServer should be waiting for you at:
http://localhost:8080/geoserver/
I did not test a reboot but this service should now be started at boot time and stopped before the system is shut down or rebooted.
Kind regards,
Ben.
On 09/01/16 09:40, Ferdinand Gruber wrote:
Am 08.01.2016 um 21:37 schrieb Ferdinand Gruber:
Hi Christian,
I am using openSuse 13.2 on the server. Suse now uses systemd for
management of services.
I put the init script for suse into /etc/init.d as I mentioned below.
That seems not to be the appropriate action may be because of systemd.
Ferdinand
Am 08.01.2016 um 19:18 schrieb Christian Mueller:
Hi Ferdinand
First we have to know which Linux distribution you are using. The
start scripts differ for different distributions.
Christian
On Sun, Jan 3, 2016 at 4:14 PM, Ferdinand Gruber <fer.grub@anonymised.com>
wrote:
How can I get the geoserver started at boot time (using systemd).
I installed the geoserver binaries in/usr/share/geoserver and it
runs
after starting it manually using the command
usr/share/geoserver/bin/startup.sh
But I want the server should start automatically at boot time.
I tried the init script for suse I found on the geoserver doku
web page:
http://suite.opengeo.org/docs/latest/geoserver/_downloads/geoserver_suse
I saved this file as /etc/init.d/geoserver
After typing
/etc/init.d/geoserver
I get
redirecting to systemctl start geoserver.service
ok, but nothing happens.
I am not familiar with the systemd concept. Please help.
--
Greetings from Austria
Ferdinand Gruber
------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
<mailto:Geoserver-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/geoserver-users
--
DI Christian Mueller MSc (GIS), MSc (IT-Security)
OSS Open Source Solutions GmbH
--
Greetings from Austria
Ferdinand Gruber
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users
--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/>
New Zealand