Selbstantwort:
(a) lässt sich ändern durch Ersetzung von “localhost” durch den Rechnernamen in der slippymap.html
(b) nein. Hab mir die OpenLayers.js und OpenStreetMap.js nach /var/www/osm/js kopiert und
die slippymap.html angepasst. Funktioniert aber nur zu 90%, da die Controls nicht angezeigt
werden. Muss ich da noch was nach lokal kopieren?
Wie komme ich denn an an das Skript slippymap.html ran? ich habe ein
sudo apt-get update
abgesetzt, aber es gibt keine neuere Version. Und da ich die Kacheln für ein Server ohne einen Tileserver benötige: Wie bekomme ich das System dazu, mal eben alle Kacheln zu generieren und in ein Filesystem analog der z/x/y Logik abzulegen?
Das geht jedenfalls in meiner Version von pgadmin 3 nicht. Ohne Benutzernamen ist der Ok Knopf nicht aktiv, mit benutzername beschwert er sich das kein Passwort gesendet wurde und mit meinem Passwort geht es auch nicht.
Das Problem ist, dass kein Passwort für den User Postgres bekannt ist. Es wird während der Installation nicht wie bei Windows abgefragt.
Allerdings habe ich etwas gefunden:
sudo -u postgres psql postgres
Set a password for the “postgres” database role using the command:
\password postgres
Richtig beim User Postgres funktioniert es auch ohne Passwort. Sehr eigenartig.
Ich weiß, dass es bei Windows anders ist. Aber ein Sicherheitsrisiko kann ich auch nicht erkennen, denn wenn man einen leeren Server anlegt, dann gibt es ja dort keine sensiblen Daten. Erst wenn man dort Daten reinlädt sollte man auch an die Sicherheit denken.
Wenn man mit user postgres alles kann und darf, macht die ganze Benutzerverwaltung mit Passworten ja keinen Sinn mehr. Möglicherweise ist der superuser postgres der datenbank bei Linux automatisch mit dem superuser des Rechners identisch.
Jetzt bringen wir aber ein paar Dinge durcheinander
“postgres” ist nur ein “normaler” auf shell-Ebene:
$ grep postgres /etc/passwd
postgres:x:106:106:PostgreSQL administrator,:/var/lib/postgresql:/bin/bash
Der Administrator/Superuser unter linux heisst “root” bzw. eine Kennung mit UID=0
Postgres verwendet in Linux per default das “Ident” Verfahren zur Authentifizierung. Das heisst, wenn man sich als lokaler Unix user “xyz” bei postgres mit dem Benutzer “xyz” anmelden will, braucht man kein Passwort, denn man ist ja bereits als dieser im Betriebssystem angemeldet. Demzufolge legt Postgres per default auch keine Passwoerter fuer User (wie z.B. fuer den postgres super user) an. Man kann sich demzufolge auch nicht per passwort anmelden, da keines existiert. Allerdings funktioniert das Identverfahren glaube ich nur ueber lokale unix sockets und nicht ueber das netzwerk oder tcp sockets.
Es ist nicht immer ganz klar ob sich ein Programm mit postgres per unix oder tcp socket verbindet. Letzteres klappt dann meistens nicht, es sei denn man hat passwoerter festgelegt und das password authentifizierungs system in der config datei aktiviert. Manchmal hilft das “host” Feld blank zu lassen anstelle von localhost zu verwenden.