{"id":10096,"date":"2025-11-17T09:00:49","date_gmt":"2025-11-17T12:00:49","guid":{"rendered":"https:\/\/www.fernandoquadro.com.br\/html\/?p=10096"},"modified":"2025-11-17T11:04:35","modified_gmt":"2025-11-17T14:04:35","slug":"como-alterar-o-contextpath-no-geoserver","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2025\/11\/17\/como-alterar-o-contextpath-no-geoserver\/","title":{"rendered":"Como alterar o contextPath no GeoServer"},"content":{"rendered":"<p>Em ambientes onde o GeoServer \u00e9 executado dentro de um cont\u00eainer Apache Tomcat, pode surgir a necessidade de alterar o caminho de contexto (contextPath) da aplica\u00e7\u00e3o, ou seja, o endere\u00e7o pelo qual o servi\u00e7o ser\u00e1 acessado.<\/p>\n<p>Essa modifica\u00e7\u00e3o \u00e9 comum em cen\u00e1rios de ambientes compartilhados, integra\u00e7\u00f5es com outros sistemas, migra\u00e7\u00f5es de infraestrutura ou simplesmente para padronizar URLs (por exemplo, mudar de <strong>\/geoserver<\/strong> para <strong>\/geoserver-admin<\/strong> ou <strong>\/gis<\/strong>).<\/p>\n<p>No entanto, antes de fazer essa altera\u00e7\u00e3o, \u00e9 importante revisar as configura\u00e7\u00f5es do Tomcat, especialmente no arquivo <strong>server.xml<\/strong>, e entender a diferen\u00e7a entre deploy autom\u00e1tico e manual, garantindo que o GeoServer seja publicado corretamente no novo contexto.<\/p>\n<p>Gostaria de agradecer ao <strong><a href=\"https:\/\/www.osgeo.org\/member\/mota\/\" target=\"_blank\">Carlos Eduardo Mota<\/a><\/strong>, que foi quem elaborou esse tutorial e enviou gentilmente para publica\u00e7\u00e3o neste Blog.<\/p>\n<h3>1) Verificando o <strong>server.xml<\/strong><\/h3>\n<p>Local do arquivo:<\/p>\n<pre>\r\n$CATALINA_HOME\/conf\/server.xml\r\n<\/pre>\n<p>No arquivo, observe:<\/p>\n<ul>\n<li>Na tag <strong>&lt;Engine&gt;<\/strong>:\n<ul>\n<li>Propriedade <strong>name<\/strong> (geralmente <strong>Catalina<\/strong>).<\/li>\n<li>Propriedade <strong>defaultHost<\/strong>.<\/li>\n<\/ul>\n<\/li>\n<li>Na tag <strong>&lt;Host&gt;<\/strong>:\n<ul>\n<li>Propriedade <strong>appBase<\/strong> (pasta onde os apps s\u00e3o implantados, normalmente <strong>webapps<\/strong>).<\/li>\n<li>Propriedade <strong>autoDeploy<\/strong> (deve estar <strong>true<\/strong> para deploy autom\u00e1tico).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Exemplo:<\/strong><\/p>\n<pre>\r\n&lt;Engine name=\"Catalina\" defaultHost=\"localhost\"&gt;\r\n\r\n    &lt;!-- Configura\u00e7\u00f5es de cluster, log e seguran\u00e7a omitidas --&gt;\r\n\r\n    &lt;Realm className=\"org.apache.catalina.realm.LockOutRealm\"&gt;\r\n        &lt;Realm className=\"org.apache.catalina.realm.UserDatabaseRealm\"\r\n               resourceName=\"UserDatabase\"\/&gt;\r\n    &lt;\/Realm&gt;\r\n\r\n    &lt;Host name=\"localhost\" appBase=\"webapps\"\r\n          unpackWARs=\"true\" autoDeploy=\"true\"&gt;\r\n\r\n        &lt;Valve className=\"org.apache.catalina.valves.AccessLogValve\" directory=\"logs\"\r\n               prefix=\"localhost_access_log\" suffix=\".txt\"\r\n               pattern=\"%h %l %u %t &amp;quot;%r&amp;quot; %s %b\"\/&gt;\r\n    &lt;\/Host&gt;\r\n&lt;\/Engine&gt;\r\n<\/pre>\n<h3>2) Deploy autom\u00e1tico vs. manual<\/h3>\n<p>Por padr\u00e3o, o GeoServer \u00e9 implantado automaticamente quando o arquivo <strong>.war<\/strong> \u00e9 colocado na pasta definida como <strong>appBase<\/strong> no <strong>&lt;Host&gt;<\/strong>, geralmente:<\/p>\n<pre>\r\n$CATALINA_HOME\/webapps\r\n<\/pre>\n<p>Exemplo: colocar <strong>meu-app.war<\/strong> em <strong>webapps\/<\/strong> far\u00e1 com que ele seja acess\u00edvel via <strong>\/meu-app<\/strong>.<\/p>\n<p>Se voc\u00ea <strong>n\u00e3o<\/strong> deseja deploy autom\u00e1tico (ou precisa de um contexto customizado), defina o contexto manualmente usando um <strong>arquivo de contexto<\/strong>.<\/p>\n<h3>3) Deploy manual com arquivo de contexto<\/h3>\n<ol>\n<li>Posicione o <strong>.war<\/strong> (ou o diret\u00f3rio do app j\u00e1 expandido) <strong>fora<\/strong> da pasta <strong>appBase<\/strong>.<\/li>\n<li>Crie um arquivo de contexto <strong>.xml<\/strong> com o nome que deseja usar como <strong>contextPath<\/strong> do app.<\/li>\n<\/ol>\n<p>Onde criar:<\/p>\n<pre>\r\n$CATALINA_HOME\/conf\/[EngineName]\/[HostName]\/\r\n<\/pre>\n<p>Exemplo de caminho real:<\/p>\n<pre>\r\n$CATALINA_HOME\/conf\/Catalina\/localhost\/geoserver-admin.xml\r\n<\/pre>\n<p>Conte\u00fado do arquivo de contexto:<\/p>\n<pre>\r\n&lt;Context docBase=\"webapps.dist\/geoserver\" \/&gt;\r\n<\/pre>\n<p>Neste exemplo, o contexto ser\u00e1:<\/p>\n<pre>http:\/\/localhost:8080\/geoserver-admin\r\n<\/pre>\n<p>E o diret\u00f3rio do GeoServer est\u00e1 em:<\/p>\n<pre>\r\n$CATALINA_HOME\/webapps.dist\/geoserver\r\n<\/pre>\n<p>O diret\u00f3rio <strong>webapps.dist<\/strong> \u00e9 fornecido nas imagens de container para colocar webapps para distribui\u00e7\u00e3o, e n\u00e3o para deploy autom\u00e1tico. \u00c9 prov\u00e1vel que nas instala\u00e7\u00f5es cl\u00e1ssicas do tomcat n\u00e3o deva existir esse diret\u00f3rio. Nesse caso, \u00e9 necess\u00e1rio criar esse diret\u00f3rio dentro de $CATALINA_HOME.<\/p>\n<p><strong>Observa\u00e7\u00e3o importante:<\/strong> o <em>nome do arquivo<\/em> (<strong>geoserver-admin.xml<\/strong>) define o nome do contexto (<strong>\/geoserver-admin<\/strong>) e tem <strong>preced\u00eancia<\/strong> sobre qualquer <strong>META-INF\/context.xml<\/strong> inclu\u00eddo no <strong>.war<\/strong> ou na aplica\u00e7\u00e3o.<\/p>\n<p>O arquivo <strong>context.xml<\/strong> pode ser expandido e ser utilizado para outras finalidades, como predefinir recursos de conex\u00e3o de banco de dados (os famosos <a href=\"https:\/\/tomcat.apache.org\/tomcat-9.0-doc\/jndi-resources-howto.html\" target=\"_blank\">JNDI<\/a>), mas isso \u00e9 assunto para outro post. <\/p>\n<h3>Refer\u00eancias<\/h3>\n<ul>\n<li><strong>Tomcat 8<\/strong>\n<ul>\n<li><a href=\"https:\/\/tomcat.apache.org\/tomcat-8.0-doc\/deployer-howto.html#A_word_on_Contexts\" target=\"_blank\" rel=\"noopener\">Deployer How-To (Contexts)<\/a><\/li>\n<li><a href=\"https:\/\/tomcat.apache.org\/tomcat-8.0-doc\/config\/context.html\" target=\"_blank\" rel=\"noopener\">Configura\u00e7\u00e3o: Context<\/a><\/li>\n<\/ul>\n<\/li>\n<li><strong>Tomcat 9<\/strong>\n<ul>\n<li><a href=\"https:\/\/tomcat.apache.org\/tomcat-9.0-doc\/deployer-howto.html#A_word_on_Contexts\" target=\"_blank\" rel=\"noopener\">Deployer How-To (Contexts)<\/a><\/li>\n<li><a href=\"https:\/\/tomcat.apache.org\/tomcat-9.0-doc\/config\/context.html\" target=\"_blank\" rel=\"noopener\">Configura\u00e7\u00e3o: Context<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Em ambientes onde o GeoServer \u00e9 executado dentro de um cont\u00eainer Apache Tomcat, pode surgir a necessidade de alterar o caminho de contexto (contextPath) da aplica\u00e7\u00e3o, ou seja, o endere\u00e7o pelo qual o servi\u00e7o ser\u00e1 acessado. Essa modifica\u00e7\u00e3o \u00e9 comum&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2025\/11\/17\/como-alterar-o-contextpath-no-geoserver\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":10105,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[208],"class_list":["post-10096","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gis","tag-geoserver"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/10096","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/comments?post=10096"}],"version-history":[{"count":17,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/10096\/revisions"}],"predecessor-version":[{"id":10116,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/10096\/revisions\/10116"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media\/10105"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=10096"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=10096"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=10096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}