Das erste "opencms" ist der Name der Webapp, das zweite der Servletname.

Um das erste /opencms zu entfernen, wird die Webapp als Root Webapp (Tomcat: /var/lib/tomcat/webapps/ROOT) installiert:

a) Wenn Opencms schon installiert ist (zb unter /var/lib/tomcat/webapps/opencms), wird der Ordner in ROOT umbenannt.

b) Sollte Opencms noch nicht installiert sein, wird die .war Datei nach /var/lib/tomcat/webapp/ROOT.war kopiert.


Jetzt sollte opencms beim Aufruf von http://example.com/opencms antworten.


Um das zweite "opencms" zu vermeiden, muss in der Datei

WEB-INF/config/opencms-importexport.xml
folgendes konfiguriert werden:

 <rendersettings>
<rfs-prefix>CONTEXT_NAME}/export<rfs-prefix>
<vfs-prefix>/<vfs-prefix>
<userelativelinks>false<userelativelinks>
<exporturl>http://127.0.0.1:8080${CONTEXT_NAME}/handle404<exporturl>
[..]



Jetzt opencms neustarten und nginx konfigurieren:

server {
listen 80 default;
server_name example.com ;

root /var/lib/tomcat/webapps/ROOT/ ;

access_log /var/log/nginx/opencms.access.log;
error_log /var/log/nginx/opencms.error.log;

location /export {
try_files $uri @export404;
break;
}

location @export404 {
proxy_pass http://localhost:8080/opencms/handle404?exporturi=$uri;
break;
}


location /resources {
proxy_pass http://localhost:8080;
break;
}

location /opencms {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
break;
}

location / {
proxy_pass http://localhost:8080/opencms/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
break;
}
}