<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
span.E-MailFormatvorlage20
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hallo zusammen,<o:p></o:p></p>
<p class="MsoNormal">ich habe die Osterfeiertage genutzt, um mich nochmals in aller Ruhe mit dem Problem zu beschäftigen, warum QGIS Projekte mit Postgresql/Postgis LAyerb nicht funktionieren. Hier die Ergebnisse:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Die Ursache lag an inkonsistenten unterschiedlichen pg-service.conf Dateien. Ich habe auf dem Server verschiedene user/owner. Zum ersten meinen eigenen, dann postgres von der DB sowie www-data vom Server. pg-service.conf kann entweder
im home Verzeichnis des users liegen oder im postgres Verzeichnis. Ich nahm an, dass dies dasselbe Verzeichnis ist, in dem auch pg_hba.conf liegt. In meinem Fall: /etc/postgresql/12/main/. Richtig ist aber das Verzeichnis: /etc/postgresql-common/.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Wichtig ist auch, dass die Zugriffsrechte passen. Da ich die Datei per sudo generiert habe war der owner root, ich habe ihn auf postgres gesetzt. Die Rechte standen auf 600, ich habe sie auf 644 gesetzt und so allen Leserechte gegeben.
Diese pg-service.conf gilt systemweit für alle user!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Die lokalen pg-service.conf gelten für die jeweiligen User. Sind diese vorhanden, dann wird die systemweite pg-service.conf in /etc/postgresql-common/ ignoriert und die des users genommen. Da ich keine individuellen Rechte benötige habe
ich die pg-service.conf in allen home Verzeichnissen gelöscht. Es gibt also nur noch die zentrale.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Eine Ursache, dass die Postgis Layer nicht angezeigt wurden ist aus meiner Sicht das fehlende Leserecht gewesen. Aber es gab aus meiner Sicht noch eine weitere mögliche Fehlerquelle. Die pg-service.conf hat normalerweise folgenden Inhalt:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">[servicename]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">host=url<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">port=port<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">dbname=db-name<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">user=user-name<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">password=passwort<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal">Mein Server ist natürlich HTTPS bzw. leitet HTTP auf HTTPS weiter. Beim Text mit einem Projekt, bei dem die credentials als Klartext im QGIS Projekt gespeichert waren fiel mir auf, dass dort ein sslmode=disable stand. Grund hierfür war
der Umstand, dass beim QGIS (zumindest bei mir) die default Vorgabe bei neuen Postgis Verbindungen so aussieht:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><img width="415" height="543" style="width:4.3263in;height:5.6527in" id="Grafik_x0020_1" src="cid:image001.png@01D854A1.073EE5A0"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">SSL Modus abschalten. Darauf hatte ich natürlich nicht geachtet. So konnte natürlich keine Verbindung vom Portal zur DB funktionieren. Weder per Localhost noch per URL, weder mit http noch mit HTTPS. Für die pg-service.conf bedeutet dies,
dass noch eine zusätzliche Zeile aufgenommen werden sollte. Diese lautet jetzt bei mir: sslmode=prefer, also:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">[servicename1]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">host=url1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">port=port1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">dbname=db-name1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">user=user-name1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">password=passwort1<o:p></o:p></span></p>
<p class="MsoNormal">sslmode=prefer<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">[servicename2]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">host=url2<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">port=port2<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">dbname=db-name2<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">user=user-name2<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">password=passwort2<o:p></o:p></span></p>
<p class="MsoNormal">sslmode=prefer<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">usw. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Damit und mit der 644 Berechtigung sowie dem owner postgis funktioniert nun alles einwandfrei. Im QGIS Projekt wird die Verbindung nicht mehr mit den credentials hergestellt sondern mittels des service Namen. Dazu muss lediglich unter Windows
im HOME Verzeichnis ebenfalls eine .pg-service.conf liegen. Aber ACHTUNG: Hier mit führendem Punkt!!. Der Inhalt ist völlig identisch mit der auf dem Server.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So, ich hoffe, das war nicht allzu lang. Ich würde mich freuen, wenn das Ganze dem einen oder andren hilft, falls es Probleme mit Postgis Layern auf Lizmap gibt.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Damit schöne Grüße und eine angenehme Restwoche.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Wolfgang Meinolf<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="mso-fareast-language:DE">Von:</span></b><span style="mso-fareast-language:DE"> Lizmap-de <lizmap-de-bounces@lists.osgeo.org>
<b>Im Auftrag von </b>Wolfgang Meinolf<br>
<b>Gesendet:</b> Dienstag, 12. April 2022 15:38<br>
<b>An:</b> guenter@lizmap.de<br>
<b>Cc:</b> lizmap-de@lists.osgeo.org<br>
<b>Betreff:</b> Re: [Lizmap-de] Falsche IP bei Postgis Laer Abfrage<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hallo Günter,<o:p></o:p></p>
<p class="MsoNormal">ja, das werde ich prüfen und ggf. ändern und ja, ich habe definitiv ein Problem, aber leider viel zu wenig Zeit, mich intensiv darum zu kümmern. Die QGIS-Servervariable hab ich gesetzt, sie greift aber nicht. Ich vermute einen zentralen
Grund, genauso wie bei der falschen IP Adresse.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Zum Glück laufen die Portale mit den „normalen“ Layern fantastisch. So ist meine Produktiv-Umgebung ungestört. Gerade vor zwei Stunden ist ein weiteres Extranet Portal für eine Behörde dazugekommen.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Ich werde auch prüfen, ob vielleicht in den QGIS Settings / profil noch irgendwelche „Leichen“ zu obsoleten Test Zugängen enthalten sind.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Danke und Gruß<o:p></o:p></p>
<p class="MsoNormal">Wolfgang<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="mso-fareast-language:DE">Von:</span></b><span style="mso-fareast-language:DE">
<a href="mailto:guenter@lizmap.de">guenter@lizmap.de</a> <<a href="mailto:guenter@lizmap.de">guenter@lizmap.de</a>>
<br>
<b>Gesendet:</b> Dienstag, 12. April 2022 07:39<br>
<b>An:</b> Wolfgang Meinolf <<a href="mailto:wmeinolf@bbv-deutschland.de">wmeinolf@bbv-deutschland.de</a>>;
<a href="mailto:lizmap-de@lists.osgeo.org">lizmap-de@lists.osgeo.org</a><br>
<b>Betreff:</b> AW: [Lizmap-de] Falsche IP bei Postgis Laer Abfrage<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hallo Wolfgang,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">hast Du den PostgreSQL-Layer im QGIS-Projekt über Localhost eingebunden? Dann würde ich es mal mit der IP-Adresse des Servers probieren.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Aber wieso erscheint noch die Fehlermeldung „service non disponible“? Hast Du die QGIS-Servervariable nicht gesetzt oder greift sie nicht?<o:p></o:p></p>
<p class="MsoNormal">Ich befürchte Du hast da doch noch ein anderes Problem.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Gruß<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Günter<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="mso-fareast-language:DE">Von:</span></b><span style="mso-fareast-language:DE"> Lizmap-de <<a href="mailto:lizmap-de-bounces@lists.osgeo.org">lizmap-de-bounces@lists.osgeo.org</a>>
<b>Im Auftrag von </b>Wolfgang Meinolf<br>
<b>Gesendet:</b> Montag, 11. April 2022 18:58<br>
<b>An:</b> <a href="mailto:lizmap-de@lists.osgeo.org">lizmap-de@lists.osgeo.org</a><br>
<b>Betreff:</b> [Lizmap-de] Falsche IP bei Postgis Laer Abfrage<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hallo zusammen,<o:p></o:p></p>
<p class="MsoNormal">suche immer noch den Fehler, warum meine QGIS Projekte mit Postgis Layern nicht laden. Grade machte ich eine interessante Beobachtung. Beim Klick auf das Portal kam service non disponible (wie leider üblich). Im Lizmap Log bekam ich folgenden
Eintrag:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">2022-04-11 18:38:14 84.136.148.146 error GetCapabilities result code: 500<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2022-04-11 18:38:14 84.136.148.146 error GetCapabilities result code: 500<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2022-04-11 18:38:14 84.136.148.146 error GetCapabilities result code: 500<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2022-04-11 18:38:14 84.136.148.146 error An error has been raised when loading WMS GetCapabilities: HTTP Code 400<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal">Die Postgis DB läuft eigentlich auf dem Server, auf dem auch Lizmap läuft. Dessen IP Adresse ist aber nicht 84.136.148.146. Nachforschung ergab, dass es die heutige externe IP Adresse meiner Fritzbox ist. Die Postgis DB wird offenbar fälschlicherweise
hinter meinem DSL Anschluss vermutet. Wo in LIZMAP oder beim QGIS Server könnte ich einen Konfigurationsfehler gemacht haben?? Ich kann mir nicht vorstellen, dass ich meine DynDns irgendwo eingetragen habe.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Im betreffenden QGIS Projekt sind die Zugangsdaten zu Postgis aktuell für Tests in Klartext eingetragen. Da kann eigentlich auch nichts auf den eigenen DSL Anschluss zeigen.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Eigentlich arbeite ich auf dem Server und bei LIZMAP nur mit der Serverdomain oder Localhost.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Gruß<o:p></o:p></p>
<p class="MsoNormal">Wolfgang<o:p></o:p></p>
</div>
</body>
</html>