It’s done (I think)

The process I started with For my sins and documented my progress with Progress and Regress is now officially (probably) done. Mailman is up and running, mail is being delivered (although as usual, only one of my lists is getting much traffic). The new archives are very cool, with full text and all. I actually had to deal with a Y2K bug – some of the mail in the old archives had the year as “number of years after 1990” instead of “number of years after 0”, which meant I had to fix a bunch of dates with years 100, 101, and in the case of one person who refused to upgrade, 102 and 103. And I even put the websites behind https using the brilliant mod_md, which is even easier to use that certbot, which is what I’d used on some other domains.

I shut down my old linode, but just in case I need to recover something from it in the near future, I haven’t deleted it yet. Linode.com still charges the same rate for shut down servers as active ones, but it’s only by shutting it down I can make sure there isn’t something still relying on it that I forgot.

More medical trauma

Yesterday I got my melanoma excised. Just like last time, the same PA proved unable to bandage me in a way that sticks. I tried to shave around the area so I could bandage it, but the shitty no-name bandaids I bought at CVS still didn’t stick. I think I’ll need to shave with a blade instead of an electric and buy some better bandaids. I took a picture without the bandaid on, and it’s quite spectacular. A Heidelberg fencer would be proud.

Grossness behind the “Read More”

Continue reading “More medical trauma”

Two steps forward, three steps back

Since writing Progress in the new server, I’ve been working on the Mailman3 stuff. First I tried installing it from Debian packages. One of the dependencies was for a proxy server, and since it couldn’t resolve the one using Apache (even though mod_proxy is in the default Apache conf-available) it installed nginx, a whole different web server. Seems like overkill to me. Also, I couldn’t find installation instructions that seemed to correspond with what the package installed. I could find them for Debian 10, but things have changed since then.

So for the last 3 days I’ve been trying to install it the manual way, using pip install in a virtual environment. It’s been going very slowly. I finally got to the point where I could create a mailing list, but when I try to import the Mailman the configuration for that list from the old server using the `import21` command, I get a python error. As near as I can tell, the error message indicates that somebody is using the `with` command with a Path object, but the stack trace is coming from deep within a package that used by another package that used by another package that’s used by Django, so that doesn’t make a lot of sense to me. Surely I’m not the first person to try to import an old configuration?

I’m also seeing weird occasional errors from it trying to access an invalid url, like /api on the proxied server, and I have no idea why that’s happening.

I’m almost at the point where I want to kill this entire “manual” install and try the Debian packages again. Maybe the experience I’ve gained from these days of frustration will help me understand what was going wrong when I tried it that way.

Maybe this time I should document the things I found about how the documentation is wrong, and send them to somebody on the Mailman team?

I knew this wasn’t going to be easy, but I didn’t think it would be this hard.

Progress in the new server

As I wrote about in And for my sins…, I’m moving a bunch of stuff from the linode I set up back when Debian 5.0 was the current over onto a new server which I set up with Debian 13. And so far, it’s gone pretty well.

Moving the “alink” site took a bit of trouble, mostly because I made a mistake as where I put the git repository and so I had to change any URLs from $HOME/alink to $HOME/alink/alink. Unfortunately “alink” involves scraping flight data from another website, and currently the users of that site don’t have any flights on the other website so I can’t make sure the site is working right.

Moving the “navaid.com” site was easier, because it’s mostly written in Perl and nothing changes in Perl these days. The biggest change was that the new version of Debian uses a newer version of PostgreSQL, and a new version of PostGIS.

The next task was setting up email. That was mostly no big deal, except I decided to use rspamd instead of openDKIM to do mail signing. It took a few attempts to get it right, mostly because I wanted to use different signatures for the different domains and subdomains I send email from. I had a bit of a setup glitch because rspamd allows you to sign messages with a ED25519 key, but the tool I use for verifying DKIM signatures doesn’t understand them, so Ihad to switch back to RSA keys. rspamd will provide spam filtering on incoming mail as a bonus but I doubt that will be an issue. I left off all the filtering I used to do in postfix for now, figuring that rspamd will handle it instead.

The latest thing I did was move the news spool over to the new server. I’d anticipated that I’d have to rebuild the history and/or overview databases, because I’m pretty sure I had to last time I moved them. But in actual fact, I just made sure I used the rsync option that respected sparse files, and I didn’t have to rebuild. I did get a few errors about inode discrepancies which I fixed with tdx-util -F. I didn’t bring over my cleanfeed implementation because I hadn’t updated it since 2002 so there’s probably a better version out there.

The last thing I need to do is migrate the Mailman mailing lists over. This is the one I’ve been dreading, so I’ve put it off until last. I’m going to have to do more research on how to do it. But the biggest problem is I don’t want to shut down my mailing lists for too long.