As I work on migrating my Stuff to the rented server, I keep encountering complications.
For example: in order for some of my web stuff to work, apart from some exciting Apache configuration that I haven't gotten to yet, PostgreSQL needs to use ident-based authentication for local-ish connections, typically TCP to localhost. And, because it's Debian, there's a mapping function required, if only to change www-data to some valid PostgreSQL username. (I don't want to use password-based authentication, as that tends to involve leaving plaintect passwords around where httpd can read them.)
So there I was, bashing on the authentication issue since yesterday afternoon. This morning, I finally found a useful error message:
eric@postgres LOG: could not connect to Ident server at address "::1", port 113: Connection refused
Huh. I have ident2 installed. It's duly configured in /etc/inetd.conf.
But, if I tell pgadmin3 to connect to localhost, I get that error message.
If, on the other hand, I tell pgadmin3 to connect to 127.0.0.1, all is well, and I don't need to supply my password.
Apparently, ident service isn't working for IPv6. I should probably fix that, by whatever means.
I also need to make a few more tweaks to the database dump, and reload again. Various things could use massaging between 8.x and 9.x; the last thing I changed was the character encoding, from the old default of SQL_ASCII to UTF8. Looks like there's also some weirdness in the ownership of some of the recreated databeese, and maybe other issues I haven't spotted yet.
Anyway. Progress ploddeth along. And it looks like DNS is well sorted, for now; there'll be further issues to sort out either this spring or sometime in 2018.
Update: Adding an inetd.conf entry for TCPv6 and ident almost works, except for the minor detail that PostgreSQL doesn't like the format of the returned data. Er. Maybe ident2 doesn't work right with TCPv6? Anyway, just using 127.0.0.1 instead of localhost does the trick.
And, with a little cleaning up, my PHP scripts can talk to the database! Well, sort of.
The really old one, for listing my upcoming events (hikes and such) works, except that it doesn't display the writeup bodies - just the times. It's almost like the contents table was empty. Well, whattya know: it is! The big ol' SQL file I brought across to load the database has the data, but for some reason it didn't load. Maybe some incompatibility, perhaps related to the difference between SQL_ASCII and UTF8? Guess I need to run the database load again, and save the output to a file for examination.
Then there's another old script, for photo captioning. It fails with a PHP error:
Call-time pass-by-reference has been removed
Hmph. That particular feature is maybe not worth trying to salvage. The script is trying to assemble an HTML document. Without pass-by-reference... maybe I'd have to finish filling in the head and the body, and then add them to the document? I don't really even remember what's going on there; that script is something I tossed together hastily and on a whim back in 2002, though it appears I edited the script in 2011 - ah, that's it. I disabled the public "submit caption" functionality due to a spamstorm.
Oh, well. Lots of fiddly stuff. And Webmin is turning out to be less helpful than I thought; I'm needing to do a lot of stuff manually (and using ssh sessions and vi is not helping my mood any; I've gotten spoiled using jedit and keeping lots of files open).
Good news: running pgadmin3 on my workstation with an ssh tunnel to the actual server turns out to work quite well. Much less laggy than running it on the server via x11 over ssh.
Update 2: Apparently the solution to the IPv6 problem is to install oidentd instead of ident2.
Comments