【GeoServer】CentOS7.x上GeoServer的安装部署

article/2025/9/14 2:49:39

GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。

GeoServer 主要特性:兼容 WMS 和 WFS 特性;支持 PostgreSQL、 Shapefile 、 ArcSDE 、 Oracle 、 VPF 、 MySQL 、 MapInfo ;支持上百种投影;能够将网络地图输出为 jpeg 、 gif 、 png 、 SVG 、 KML 等格式;能够运行在任何基于 J2EE/Servlet 容器之上;嵌入 MapBuilder 支持 AJAX 的地图客户端OpenLayers;除此之外还包括许多其他的特性。

 

一、实验环境

操作系统: CentOS7.5 Minimal

GeoServer服务器:    192.168.1.103

 

二、安装包下载

Java SE Runtime Environment 8

jre-8u221-linux-x64.tar.gz

https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

geoserver-2.14.2-bin.zip

https://versaweb.dl.sourceforge.net/project/geoserver/GeoServer/2.14.2/geoserver-2.14.2-bin.zip

 

三、安装java运行环境jre

 

GeoServer的运行,依赖于java虚拟机,所以安装nexus前,我们需要先安装jre,JAVA运行环境。

# rpm -e --nodeps $(rpm -qa | grep -i openjdk) 

# tar  zxvf  jre-8u221-linux-x64.tar.gz    -C    /usr/local/

# echo  'JAVA_HOME="/usr/local/jre1.8.0_221"'  > /etc/profile.d/jre.sh

# source  /etc/profile.d/jre.sh

# echo "export PATH=$JAVA_HOME/bin:$PATH" >>  /etc/profile.d/jre.sh

# source  /etc/profile.d/jre.sh

# java -version

 

四、安装GeoServer

 

关闭selinux

# setenforce 0

# sed -i 's/^SELINUX=.*/SELINUX=permissive/g'  /etc/selinux/config

 

解压软件包

#  unzip  geoserver-2.14.2-bin.zip   -d    /opt

#  ll  /opt

 

 

创建服务运行用户

# groupadd  -g 2019  geoserver

# useradd  -u 2019 -g  2019  geoserver

 

更改目录属主属组

# chown  -R  geoserver:geoserver  /opt/geoserver-2.14.2/

 

 

创建服务的unit文件

# vim /etc/systemd/system/geoserver.service

############################################################

[Unit]

Description=GeoServer

After=network.target

[Service]

Type=simple

Environment="GEOSERVER_HOME=/opt/geoserver-2.14.2"

ExecStart=/opt/geoserver-2.14.2/bin/startup.sh

ExecStop=/opt/geoserver-2.14.2/bin/shutdown.sh

User=geoserver

Group=geoserver

RemainAfterExit=yes

[Install]

WantedBy=multi-user.target

#############################################################

 

#  systemctl  daemon-reload

#  systemctl  start  geoserver.service

#  systemctl  enable geoserver.service

# systemctl status geoserver.service

查看服务的端口监听

# ss -tan |grep 8080

 

浏览器访问

http://192.168.1.103:8080/

http://192.168.1.103:8080/geoserver

默认管理员账号密码:admin/geoserver

 

 

五、在 jetty中配置 SSL/TLS 以支持 HTTPS

 

查看jetty版本

# cd /opt/geoserver-2.14.2/

# java -jar start.jar --version

 

下载jetty 的ssl 模块

https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution

https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.2.13.v20150730/jetty-distribution-9.2.13.v20150730.tar.gz

# wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.2.13.v20150730/jetty-distribution-9.2.13.v20150730.tar.gz

#  tar  -zxf  jetty-distribution-9.2.13.v20150730.tar.gz

# cp jetty-distribution-9.2.13.v20150730/modules/ssl.mod /opt/geoserver-2.14.2/modules/

# chown  -R  geoserver:geoserver  /opt/geoserver-2.14.2/

# ll /opt/geoserver-2.14.2/modules/

# vim /opt/geoserver-2.14.2/start.ini

 

增加ssl相关配置

####################################

--module=ssl

jetty.ssl.port=8443

jetty.sslContext.keyStorePath=etc/keystore

jetty.sslContext.trustStorePath=etc/keystore

jetty.sslContext.keyStorePassword=storepwd

jetty.sslContext.keyManagerPassword=keypwd

jetty.sslContext.trustStorePassword=storepwd

--module=https

#####################################

 

#  systemctl  restart  geoserver.service

# systemctl status geoserver.service

 

查看端口监听

# ss -tan | grep 8080

# ss -tan | grep 8443

 

 

http://192.168.1.103:8080/geoserver

https://192.168.1.103:8443/geoserver

 

 

 

现在GeoServer同时提供http和https协议的服务访问,那么将http重定向到https?

 

# vim /opt/geoserver-2.14.2/webapps/geoserver/WEB-INF/web.xml

######################################################

    <security-constraint>

       <web-resource-collection>

        <web-resource-name>Everything</web-resource-name>

        <url-pattern>/*</url-pattern>

      </web-resource-collection>

      <user-data-constraint>

        <transport-guarantee>CONFIDENTIAL</transport-guarantee>

      </user-data-constraint>

    </security-constraint>

#########################################################

浏览器访问

http://192.168.1.103:8080/geosever

https://192.168.1.103:8443/geoserver

 

如何设置,使得jetty只使用https?

 

如果只使用https,那么无需在 /opt/geoserver-2.14.2/webapps/geoserver/WEB-INF/web.xml中配置重定向字段。

当然,/opt/geoserver-2.14.2/modules/ssl.mod 需要添加。

将http module内容注释掉,只开启https、ssl 模块配置

 

# vim /opt/geoserver-2.14.2/start.ini

浏览器访问:

# systemctl restart geoserver.service

# systemctl status  geoserver.service

 

 

 

如何配置jetty的监听IP?

 

# vim /opt/geoserver-2.14.2/start.ini

################################

jetty.host=192.168.1.103

################################

# systemctl restart geoserver.service

# ss  -tan | grep 8443

 

 

六、Geoserver文件、目录的安全加固

安全整改要求,GeoServer服务部署的相关文件权限要求为644,目录文件权限为755。

# systemctl stop geoserver.service

# chmod  640   /etc/systemd/system/geoserver.service

# find /opt/geoserver-2.14.2/  -type d -exec chmod 750 {} \;

# find /opt/geoserver-2.14.2/   -type f  -exec chmod 640 {} \;

# chmod 550  /opt/geoserver-2.14.2/bin/*.sh

 

#  vim /opt/geoserver-2.14.2/bin/startup.sh

增加该服务的 umask设置

####################################

# Set umask

umask 0027

####################################

 

# systemctl restart geoserver.service

# ll /opt/geoserver-2.14.2/data_dir/

 

 

七、参考

 

GeoServer用户手册

https://www.osgeo.cn/geoserver-user-manual/index.html

 

Jetty:配置安全

https://www.cnblogs.com/bhlsheji/p/4293854.html

 

geoserver.service

https://aur.archlinux.org/cgit/aur.git/tree/geoserver.service?h=geoserver-bin

https://docs.geoserver.org/latest/en/user/production/linuxscript.html

https://stackoverflow.com/questions/29508981/systemd-service-startup-issue

 

How to enable GeoSever https with jetty?

https://www.jianshu.com/p/db0d28189449

 

How to secure Jetty to only allow access from the specified IP?

https://stackoverflow.com/questions/1955455/how-to-secure-jetty-to-only-allow-access-from-loopbacklocalhost

https://serverfault.com/questions/475692/configuring-jetty-to-accept-connections-from-only-certain-ip-addresses

http://jetty.4.x6.nabble.com/How-to-make-Jetty-bind-to-specific-IP-address-td12206.html

 

How to set umask for Docker container?

https://codeyarns.com/2017/07/21/how-to-set-umask-for-docker-container

http://widerin.net/blog/change-umask-in-docker-containers

https://stackoverflow.com/questions/46891571/fix-umask-for-future-run-commands-in-dockerfile


http://chatgpt.dhexx.cn/article/Rlj4qdik.shtml

相关文章

部署GeoServer

部署GeoServer 部署方式很多总&#xff0c;这里介绍两种 安装包安装 默认已经安装了Tomcat&#xff1a; Tomcat9.0安装教程 下载war包 使用geoserver的war包在tomcat中部署&#xff0c;从官网中下载对应版本的war GeoServer官网地址 安装 解压软件 将war包复制到tomcat…

GeoServer安装部署

介绍&#xff1a; Geoserver 是一个开源的地理空间数据服务器,它可以发布和编辑地理数据。这里简单介绍 Geoserver 的部署安装和后台运行。 它的主要功能包括: 管理空间数据&#xff1a;GeoServer可以连接各种空间数据源,包括文件(SHP、CSV等)、数据库(PostGIS,Oracle,SQL Ser…

geoserver 创建只读用户

目录 一、创建只读角色 一、创建新账号&#xff0c;将新账号添加到只读角色中 三、配置权限 四、校验 一、创建只读角色 1、选择Security->Users,Groups,Roles->Roles->Add new role 2、输入名称&#xff0c;parent role 不选&#xff08;防止获取到父级角色的权限…

GeoServer学习笔记-01GeoSever运行编译

一、运行 1. 下载GeoServer GitHub仓库地址&#xff1a;https://github.com/geoserver/geoserver 2.本地代码工具打开项目 在idea里&#xff0c;文件->新建->来自现有的源代码项目&#xff0c;选择项目的pom文件加载项目。 3.idea编译环境设置 &#xff08;1&#xff09;…

java geoserver_本机搭建GeoServer

最近尝试试本机搭建GeoSrver的服务&#xff0c;分享一下搭建安装教程&#xff0c;总共分为以下几步&#xff1a; 下载Java的GDK&#xff0c;添加环境变量 GeoServer 依赖于Java的环境&#xff0c;劝告一定要下载 1.8(8)的版本&#xff0c;虽然现在已经更新到 14&#xff0c;但是…

Geoserver中跨域问题解决

场景 GeoServer简介、下载、配置启动、发布shapefile全流程(图文实践)&#xff1a; GeoServer简介、下载、配置启动、发布shapefile全流程(图文实践)_霸道流氓气质的博客-CSDN博客 上面安装Geoserver的基础下。 使用ajax请求GeoJson时提示跨域 注&#xff1a; 博客&#x…

GeoServer发布服务,中文标注乱码

1.问题&#xff1a; 发布的矢量数据源 shapefiles&#xff0c;中文标注显示乱码问题&#xff0c;如下图所示&#xff1a; 2.解决办法 编辑矢量数据源&#xff0c;DBF文件的字符集&#xff0c;改为GB2312。 显示正常&#xff1a;

geoserver热图

1.参考 GeoServer发布Heatmap - wenglabs - 博客园 Rendering Transformations — GeoServer 2.21.x User Manual 2.下载 GeoServer 及wps插件&#xff0c;该插件gs:heatmap支持热图样式 3.发布测试shp geoserver热图测试数据-其它文档类资源-CSDN下载 4、添加热图样式&…

Geoserver添加mongoDB数据源

文章目录 概述操作1. 添加mongodb 插件2. 添加数据源3. 添加数据3. 发布服务 概述 本文讲述如何在geoserver中添加mongoDB作为数据源&#xff0c;并发布图层。 操作 1. 添加mongodb 插件 在浏览器输入地址下载页面&#xff0c;下载mongodb插件。 [外链图片转存失败,源站可能…

Geoserver介绍2:geoserver页面介绍

目录 Geoserver介绍2&#xff1a;geoserver页面介绍 一、打开登录geoserver的web管理页面 二、 页面左侧&#xff0c;功能介绍 &#xff08;一&#xff09;、关于和状态 &#xff08;二&#xff09;、数据 1、图层预览 2、工作区 3、数据存储 4、图层 5、图层组 6、样…

geoserver

geoserver 总 —— 配置建议数据源选择QGIS配色相关透明度设置 安装配置Windowsjdk环境配置geoserver安装安装一体化包&#xff08;基于 jetty 推荐&#xff09;基于tomcat安装 Linux&#xff08;centos7.9&#xff09;基于 tomcat 安装 geoserver性能调优JVM内存调整启用 CORS…

geoserver离线地图服务搭建和图层发布

前言 项目用到了GIS地图&#xff0c;在浏览器进行展示。起初使用了在线的高德地图。高德官网api丰富&#xff0c;且都是中文&#xff0c;很好用&#xff0c;也很方便。但是随着需求的变更&#xff0c;项目环境也从互联网变成了内网环境。所以高德地图就不能再用了&#xff0c;…

GIS系列(四)GeoServer的介绍和用法

《WebGIS快速开发教程》写好啦_WebGIS小智的博客-CSDN博客 首先,GeoServer是一个地图服务器。 关于地图服务器,其实和普通服务器没啥区别,就是专门用来发布地图的。 实际上,如果你的项目是前后端结合的话,可以不需要地图服务器。 你可以在后端配合Geotools,postgis等…

如何使用GeoServer发布WMS服务

如何使用GeoServer发布地图 作者&#xff1a;郜庆科 本文所采用的系统为Windows 10 64bit操作系统&#xff0c;使用FireFox浏览器 一、安装配置Java的SDK 1、 安装Java Development Kit (JDK) 8&#xff0c;java开发环境&#xff0c;需要先到Java的官方网站下载合适自己的安…

geoserver系列(一)tomcat安装及geoserver安装

由于项目的需要&#xff0c;最近一直使用geoserver作为基础的地图数据服务&#xff0c;查找过很多的资料&#xff0c;也走过很多的弯路&#xff0c;现在想对之前所踩过的坑和一些基本操作做一个geoserver系列的总结。 目前&#xff0c;我所使用的是tomcatgeoserver的形式进行基…

Linux+GIS学习笔记之三——GeoServer的安装与配置

注意&#xff1a;安装GeoServer时&#xff0c;服务器不需要提前安装Tomcat&#xff0c;只需要安装完整的GeoServer即可。 1.下载GeoServer 这里使用的是Stable 2.11.1 &#xff08;下载地址&#xff09; 2.上传文件 使用xftp将下载的zip文件上传到root文件夹中 3.解压GeoSe…

GeoServer入门(一):发布第一个WMS图层

本章主要讲述如何下载和安装使用GeoServer服务器&#xff0c;介绍了GeoServer的管理界面&#xff0c;并演示了发布地理数据的简单流程。 主要从以下几个方面展开叙述&#xff1a; 下载和安装GeoServerGeoServer管理界面发布图层数据的流程 1. 下载和安装GeoServer GeoServer…

GeoServer入门(一):介绍、配置与安装(Java环境配置、Tomcat安装部署)

GeoServer入门&#xff08;一&#xff09;&#xff1a;介绍、配置与安装 1 介绍2 环境配置2.1 下载Java2.2 配置Java环境 3 安装3.1 版本选择3.2 初次启动3.2.1 Linux & Windows3.2.2 Tomcat War 1 介绍 GeoServer is an open source server for sharing geospatial data…

《小学生都能看懂的群论从入门到升天教程》 《群论全家桶》

整理的算法模板合集&#xff1a; ACM模板 点我看算法全家桶系列&#xff01;&#xff01;&#xff01; 实际上是一个全新的精炼模板整合计划 小学生都能看懂系列&#xff0c;小学生&#xff1a;我太难了 群论、置换、Bunrnside引理、Pόlya定理等概念是群论的内容&#xff0c;也…

群论基础速成(2):子群,陪集,正规子群,商群

目录 0. 前言 1. 子群 【定义10】子群和真子群 Subgroup Test 【定理2】循环群的子群 【定理3】循环子群 2. 陪集和正规子群 【定义11】陪集 【定义12】正规子群 3. 商群(factor group, or quotient group) 【定义13】商群 【定义14】简单群(Simple Group) 0. 前言…