set up and start GeoServer on an Ubuntu Server

 Set Up And Start GeoServer On An Ubuntu Server



To set up and start GeoServer on an Ubuntu Server for deployment, follow this step-by-step guide. This setup assumes you're deploying GeoServer as a service with production-readiness in mind.


✅ 1. Install Java

GeoServer requires Java (Java 8 or 11 preferred).

sudo apt update sudo apt install openjdk-11-jre -y

Verify Java version:

java -version

✅ 2. Create a geoserver User (Optional but Recommended)

sudo useradd -m -d /opt/geoserver -s /bin/bash geoserver

✅ 3. Download and Extract GeoServer

Go to: https://geoserver.org/download/ and get the Platform Independent Binary (.zip or .tar.gz).

Example using wget (replace version with latest):

cd /opt sudo wget https://sourceforge.net/projects/geoserver/files/GeoServer/2.25.0/geoserver-2.25.0-bin.zip sudo apt install unzip -y sudo unzip geoserver-2.25.0-bin.zip sudo mv geoserver-2.25.0 geoserver sudo chown -R geoserver:geoserver /opt/geoserver

To unzip geoserver-2.25.0-bin.zip into another folder, you can use the -d (destination) option of unzip.

✅ Example:

sudo unzip geoserver-2.25.0-bin.zip -d /opt/geoserver

This will extract all contents of the zip into /opt/geoserver/geoserver-2.25.0/.


Then fix the ownership (if you’re using a geoserver user):

sudo chown -R geoserver:geoserver /opt/geoserver


✅ Step 4: Manually try to run GeoServer

Before debugging systemd, test if it starts manually:

cd /opt/geoserver java -Xms512m -Xmx1024m -DGEOSERVER_DATA_DIR=/opt/geoserver/data_dir -jar start.jar

Watch the output carefully. If it fails, you'll get a clear error message, such as:

  • No such file or directory

  • java.lang.UnsupportedClassVersionError

  • Permission denied

  • GEOSERVER_DATA_DIR not found


✅ 5. Create a Systemd Service for GeoServer

Create a systemd service file:

sudo nano /etc/systemd/system/geoserver.service

Replace its content with this working and clean version:

[Unit] Description=GeoServer After=network.target [Service] User=geoserver Group=geoserver WorkingDirectory=/opt/geoserver ExecStart=/usr/bin/java -Xms512m -Xmx1024m -DGEOSERVER_DATA_DIR=/opt/geoserver/data_dir -jar start.jar SuccessExitStatus=143 Restart=on-failure [Install] WantedBy=multi-user.target

Make sure:

  • /opt/geoserver is the folder where start.jar exist

  • GEOSERVER_DATA_DIR=/opt/geoserver/data_dir is valid

  • User=geoserver must be changed to User=root if you're not using a separate geoserver us


✅ 6. Access GeoServer

Default port is 8080. If your server's IP is 192.168.1.100, open:

http://192.168.1.100:8080/geoserver

Comments