I may have setup a working Remark42 comment server?
I installed Remark42 on a Linux server on my network, and connected it to the blog. That means your blog comments will be sitting on the floor of my living room. You can’t get that on any other blog!
A couple of caveats:
- This is an experiment. There’s no guarantee it will continue to work. Save a copy of any comments you want to keep. There’s a 1000 character limit on comments to discourage anyone from accidentally losing a Pulitzer prize-winning novel. (Actually it would be better for the threading to break large multi-topic comments into multiple smaller single-topic comments anyway.)
- You can sign in with Google or Twitter.
- Twitter asks for a ton of permissions, and that’s because I re-used a Twitter application that I was going to use to make a command-line application to post tweets. You’ll have to trust me that I won’t do anything with your Twitter account. (I can’t actually, Remark42 stores the credentials. But anyway eventually I’ll try to fix that.)
- Remark42 is capable of Anonymous login, but I want to see if I can avoid enabling it because it comes with great potential for name collisions.
- Remark42 doesn’t support a WordPress authentication, because as far as I can tell, WordPress doesn’t let anyone use WordPress authentication for anything but the WordPress ecosystem.
Someday I’m going to finish my magnum opus on my philosophy about the past, present, and future of blog comments, but in the meantime, my view is that, in 2021, comments should serve more as an ephemeral messaging platform than a permanent publishing platform. Way too many people on the Internet still think comments are meant to be a Letters-to-the-Editor section of an 1890s Newspaper. I personally think that era of the Internet is over, because it’s easy for anyone, anywhere to setup their own free publishing platform in seconds (platforms that are even more popular than blogs).
The Technical Part
In case you’re wondering, setting up Remark42 was as simple as:
- Getting a cheap server box and installing Ubuntu 18.04 on it (I did that some years ago).
- Installing Apache on Ubuntu (it was already there).
- Creating a free noip.com account.
- This is a service where you can forward a domain name on the Internet to a server on your home network, even if it’s a dynamic IP, like your home network typically is. The free version is annoying because you don’t have much control over the domain name, and you have to re-verify it every 30 days.
- Installing the noip daemon on Ubuntu.
- It’s a service that sends your IP to the noip servers so it knows where to forward the domain name.
- Setup your router to forward http ports 80 and 443 to the Ubuntu box.
- That’s so that traffic from the Internet will actually reach that server sitting on the floor in your living room. Normally routers throw that traffic out, and rightfully so.
- Installing certbot from Let’s Encrypt.
- This is so I can get a certificate for my Ubuntu box, so I can handle SSL traffic.
- Running certbot to create a certificate matching the noip domain name chosen. (This requires a working Apache or Nginx installation.)
- This is needed because authentication in Remark42 doesn’t seem to work at all except over an SSL connection, because of modern cross-site request cookie protections.
- Installing docker and docker-compose on Ubuntu.
- Installing the Remark42 comment server on Ubuntu (as a docker image).
- Figuring out how to setup Remark42 to do anything useful with extremely brief and abbreviated instructions.
- Setting up an Nginx web server as a proxy to communicate with Remark42.
- Because using Remark42 didn’t work directly and Apache didn’t work (or at least there weren’t any instructions for setting up Apache).
- Fiddling with settings in many different config files for a very long time.
- Setting up a Google OAuth application to allow Google account authentication.
- Setting up a Twitter OAuth application to allow Twitter account authentication.
I originally tried to get all of that to work on an AWS EC2 server instead of a server on my living room floor, but I had no end of difficulty getting a certificate from Let’s Encrypt for reasons I can’t remember.
Anyway, we’ll see how this works.