档案文件

geoserver打包为独立的servlet,用于现有的应用程序服务器,如 Apache TomcatJetty .

备注

geoserver主要使用Tomcat进行测试,推荐的应用服务器也是如此。geoserver需要实现servlet 3和注释处理的Tomcat(7.0.65或更高版本)的更新版本。其他应用程序服务器已经知道可以工作,但不能保证。

安装

  1. 确保您的系统上安装了Java Runtime Environment(JRE)。Geoserver需要一个 Java 11Java 17 环境,可从 OpenJDKAdoptium ,或由您的操作系统发行版提供。

    备注

    有关Java和GeoServer兼容性的更多信息,请参阅 Java考虑 .

  2. 导航到 GeoServer Download page

  3. 选择要下载的Geoserver版本。如果您不确定,请选择 Stable 放手。

    这些说明是给Geoserver的 2.24 -快照,作为 Nightly 放手。测试夜间版本是测试新功能和测试社区模块的好方法。每晚发布的版本会持续更改,不适合生产环境。

  4. 选择 Web Archive 在下载页面上: geoserver-2.24.x-latest-war.zip

  5. 下载并解压缩存档文件。

  6. 像通常那样部署Web存档。通常,所需要的只是复制 geoserver.war 文件到应用服务器的 webapps 目录,应用程序将被部署。

    备注

    可能需要重新启动应用程序服务器。

TOMCAT淬火

在错误响应及其错误详细信息中隐藏Tomcat版本。

要删除Tomcat版本,请使用空参数创建以下文件:

cd $CATALINA_HOME (where Tomcat binaries are installed)
mkdir -p ./lib/org/apache/catalina/util/
cat > ./lib/org/apache/catalina/util/ServerInfo.properties <<EOF
server.info=
server.number=
server.built=
EOF

另外添加到 server.xml 用于禁用showReport和showServerInfo的ErrorReportValve。它用于隐藏host部分中由tomcat全局处理的错误。

vi ./conf/server.xml

加到 <Host name=... 节此新ErrorReportValve条目:

...
     <Host name="localhost"  appBase="webapps"
           unpackWARs="true" autoDeploy="true">

       ...

       <Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />

     </Host>
   </Engine>
 </Service>
</Server>

为什么,如果默默无闻的安全措施不起作用?

尽管这不是最终的解决方案,但它至少减轻了过时软件包的引人注目之处。

让我们来看看袭击者的观点。

仅具有HTTP状态的响应:

HTTP Status 400 – Bad Request

好的,看起来像是安装了Tomcat。

默认完整响应:

HTTP Status 400 – Bad Request
Type Status Report
Message Invalid URI
Description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
Apache Tomcat/7.0.67

啊,太好了,软件并没有真正维护。Tomcat与2015年12月(截至2022年1月,已有6岁)相去甚远,有许多未修复的漏洞。

注意:出于支持原因,version.sh的本地输出仍输出当前版本::

$CATALINA_HOME/bin/version.sh
 ...
 Server number:  7.0.67
 ...

运行

使用容器应用程序的启动和停止webapps的方法来运行geoserver。

访问 Web管理界面 ,打开浏览器并导航到 http://SERVER/geoserver .例如,在本地主机的端口8080上运行Tomcat时,URL将为 http://localhost:8080/geoserver .

如果您看到Geoserver欢迎页面,则表示Geoserver已成功安装。

../_images/success.png

Geoserver欢迎页面

更新

至少定期更新容器应用程序!并重复硬化过程。

在过时的Tomcat版本中可以看到很多Geoserver安装。

卸载

  1. 停止容器应用程序。

  2. 将Geoserver Web应用程序从容器应用程序的 webapps 目录。这通常包括 geoserver.war 文件以及一个 geoserver 目录。