FreshRSS

๐Ÿ”’
โŒ About FreshRSS
There are new available articles, click to refresh the page.
Before yesterdayYour RSS feeds

Ciao CentOS, Ciao Ubuntu

I actually got pretty excited when they finally announced CentOS 8.

Why?

Because Iโ€™m a weird computer guy who likes to try out different operating systems. Hell, I still have an OpenSolaris Live DVD from 2009 and I reseed Haiku torrents. I once even bought an overpriced 15-20 year old Mac desktop tower from a pawn shop just to play around with Mac OS 9.

So, as soon as I could, I spun up a local VM to test things out.

I had only been at Reclaim Hosting for a few months at that point, and had only officially been our SysAdmin for, like, a day when they announced CentOS 8. And my new role meant that I was going to be dealing with CentOS 8 quite a bit, seeing as how it was going to be the next version of the OS we run/ran quite a bit of our infrastructure on.

And then they killed CentOS.

And I had no idea what the hell we were supposed to do. Because if youโ€™re running an enterprise Linux server then youโ€™re gonna with the premier enterprise Linux distro: RHEL.

But if youโ€™re running a ton of enterprise Linux servers and donโ€™t have the budget to get a RHEL licenses for every single one, then youโ€™ll go with the free and community supported distro thatโ€™s, like, 99% compatible with RHEL: CentOS.

Well, I guess not anymoreโ€ฆ

I mean, rationally, I knew that alternatives/replacements were going to spring up. Eventually. Far too many people were far too reliant on CentOS to just let it die like that. But in the moment it was a little worrying, because:

  1. It wasnโ€™t clear which CentOS derivative was going to be the CentOS replacement.
  2. cPanel at the time was only supporting CentOS/RHEL, and cPanel hosting was (and still is) a large part of what Reclaim Hosting does.

So, yeah, very worrying in the moment.

But then cPanel made a great announcement: they were going to support Ubuntu.

Iโ€™ve run Ubuntu on both desktop and servers, and Iโ€™ll readily admit that Iโ€™ve had my problems with it (there are reasons why I run Manjaro on my desktop and not Ubuntu or one of its derivatives). apt can get weird awful sometimes with dependencies and I absolutely hate snaps. But itโ€™s not all bad with Ubuntu. Itโ€™s pretty straightforward to use, and I also like how there are ways to upgrade the server between releases (which is something that canโ€™t be said for CentOS/RHEL, or even Debian, at least if I recall correctly). Oh, and (to my knowledge) they havenโ€™t EOLโ€™d a major release of an OS that is relied on by countless people out of nowhere for no good reason.

So, I was rather content to start working on getting us Ubuntu-ready in preparation for CentOS 7โ€™s EOL.

But the Ubuntu stuff was still going to be a lot of work.

While both Ubuntu and CentOS are Linux, thereโ€™s differences in package managers, package names and dependencies, paths to configuration files, and so on. So it wasnโ€™t going to be a matter of just picking up our scripts from a CentOS machine and running them as they are on an Ubuntu machine. I had to test each part of the process, each script, each server vendor, each PHP module, and so on. If all of these tedious and repetitive little things werenโ€™t part of the process to automate something, I may have gone insane, and so on.

For the most part it was simple. Replace yum with apt, replace checks for 7 with checks for 20.04, change the paths of some binaries, AND SO ON.

Maybe the tedium and repetition did drive me to madness, and so on.

It was actually the install processes for cPanel and Bitninja that caused the most headaches during the process.

Bitninja needed a specific dependency before it could be installed on Ubuntu, and a botched install of cPanel did something weird to the repos. So I had to install that package prior to doing anything else.

apt install apt-transport-https --yes

And then the reason why the cPanel install was getting botched was that it didnโ€™t like the installed-by-default MySQL client. So that (and its dependencies) had to be uninstalled rather early as well. It also had trouble installing a few dependencies, so I installed these right after.

apt remove snmp libsnmp35 libmysqlclient21 --yes && \
apt install libnl-genl-3-200 libnl-3-200 --yes

But even after all of that the cPanel install kept stalling up because service restarts (and outdated kernel versions) needed to be acknowledged interactively. So I had to make a conf change to just let those things happen automatically.

sed -i "s/^\#\$nrconf{restart}.*$/\$nrconf{restart} \= \'a\'\;/" /etc/needrestart/needrestart.conf && \
sed -i "s/^\#\$nrconf{kernelhints}.*$/\$nrconf{kernelhints} \= \-1\;/" /etc/needrestart/needrestart.conf

And then after cPanel was finally installed, I realized that the test WordPress instance I setup was totally broken. And after digging through cPanelโ€™s PHP settings I saw that quite a few critical Easy Apache modules were not installed. Turns out that while CentOS has their package names like mod_whatever, Ubuntu has them like mod-whatever. But this was easy enough to fix with more sed.

sed -i "s/mod_/mod\-/g" /path/to/ea4modules.json

So after quite a bit of trial and error, quite a bit of reading the logs, and quite a bit of yelling at my machine, I finally was able to get an Ubuntu server running cPanel and all the other normal stuff! And after a few more tweaks and fixes, I was able to get another one up; and that second one became our first Shared Hosting server running Ubuntu as opposed to CentOS.

Speaking of which, thatโ€™s where youโ€™re reading this from now. Yeah, my sites are now being served from a new Ubuntu server rather than a CentOS server. I was my own test subject. Partly because I wanted to hold off on subjecting anyone else to my OS experiments, and partly because FIRST ACCOUNT ON OUR FIRST UBUNTU SHARED HOSTING SERVER. WOO.

So thatโ€™s nice.

Ubuntu is definitely going to be our future. At least on the cPanel front.

But weโ€™re not gonna be fully locked in to Ubuntu like we were with CentOS. Just in case, yโ€™know? Because while cPanel is a big part of what Reclaim Hosting does, it isnโ€™t the only thing, and some of the things we run do require something CentOS-ish. And that something CentOS-ish is shaping up to be AlmaLinux.

And maybe (thanks to cPanel) we might even be able use AlmaLinux to extend the lives of our existing servers through in-place upgrades from CentOS 7!

Maybe.

Thatโ€™s something I still need to look into.

But Iโ€™ll talk about that more when we get there.

SeaMonkey as an I2P Suite

I2P is one of the many darknets floating around (running over?) the internet and Iโ€™ve been playing around with it since, like, high school. Itโ€™s peer-to-peer, censorship resistant, and overall just super cool. And by peer-to-peer I mean that you can share files over the network (using torrents) while both remaining anonymous and not being a nuisance to other users (unlike Tor).

Also unlike Tor it doesnโ€™t have its own โ€œbrowser bundleโ€.

I mean, it did at one point. But then it got discontinued.

Before the browser bundle I had to rely on a manually configured secondary browser, which I am now back to doing. Itโ€™s not a majorly inconvenient process, but wow was that browser bundle very convenient.


Iโ€™ve been a die hard user of Firefox (and browsers based on/related to Firefox, like Camino or pre-Chromium Flock) since the early/mid 2000s and I have no plans to ever switch over to Chrome or its ilk. Even though the browser wars are over, I will forever continue the struggle as part of the dissident Firefox-users campaign. Sure, I have to rely on Google for plenty of other things (like my phone, calendar, contacts, cloud storage, captcha protection for this site, and so on), but theyโ€™ll never get my browser! Or email! Or web searches (mostly)!

You can have my Gecko layout engine when you uninstall it from my cold, bricked, SSD.

So obviously, Iโ€™d use something Firefox-ish for my manually configured secondary browser. And the Firefox-ish browser Iโ€™m using here is SeaMonkey; the direct descendant of the original Mozilla Application Suite which Firefox, as well as Thunderbird (which I still use as a desktop mail/RSS client), were spun off of from.

In addition to a browser, SeaMonkey includes an email (and newsgroup) client, an IRC client, an HTML editor, and an email address book.

So, why SeaMonkey? And not, likeโ€ฆ a separate Firefox profile or container tab or something.

Well, for all their similarities (both being darknet-proxy-software things and all), I2P and Tor are different. They fill different niches, I guess. While they both have hidden services and out-proxies to the clearweb, Torโ€™s focus is definitely on the latter, while I2P seems to focus more on the former. And I2Pโ€™s hidden services arenโ€™t all websites (Iโ€™m not saying all of Torโ€™s are though); I2P also has email, and IRC, and torrents too!

And also Iโ€™m already comfortable doing things this way. Leave me alone.


Installing I2P and SeaMonkey

The first thing I did here was actually getting the software. I did a manual download/installation rather than relying on my machineโ€™s package manager, because I didnโ€™t want to have to build possibly outdated versions from the AUR that may overwrite whatever changes I made after an update. Links to download both SeaMonkey and I2P are below.

Download SeaMonkey โ†’ https://www.seamonkey-project.org/releases/

Download I2P โ†’ https://geti2p.net/en/download

Configuring the browser

Like I said before, I2P hidden services arenโ€™t all websites, but that is a large part of them, so configuring SeaMonkeyโ€™s browser was going to be necessary.

Configuring the browser is pretty straightforward. The process for SeaMonkey is more-or-less the same as the process for Firefox, the only difference being the location of where the changes needed to be made. In SeaMonkey, the Preferences are in the Edit menu, and the proxy settings will be in Proxies under the Advanced section.

And once thatโ€™s configured (and once I2P is running) the router homepage can be found here: http://127.0.0.1:7657

I will admit that it has been a bit painful when I have to run updates for SeaMonkey, as Iโ€™ve had to temporarily disable the proxy. Updates to I2P, however, are done entirely within I2P! Via torrents!

I love torrents.

Configuring the mail client

Thanks to the mysterious and venerable postman, getting an I2P email address is super easy. And it works like any other email address; messages can be sent to whoever! And that ainโ€™t just limited to other folks with I2P email addresses. It works Clearnet-to-I2P (and vice versa) as well!

I donโ€™t really make use of the email service, because Iโ€™d really only be sending encrypted emails talking about encryption (relevant xkcd), but itโ€™s still a useful tool for folks that need it. And by default, I2P actually has a pre-configured browser-integrated mail client that works great.

But sometimes having a dedicated(-ish) mail client is good. Itโ€™s not something I need, but still, I can do it with SeaMonkey.

If you can set up a mail client for a normal email account then you can do the same for an I2P mail account. Only POP3 works though, so thatโ€™s what I had to use; no IMAP. Also, I didnโ€™t have to select any encryption/connection security settings because all packets being sent through I2P are encrypted anyways.

I used 127.0.0.1 as the host for both POP and SMTP over ports 7660 and 7659 respectively (as mentioned in I2Pโ€™s list of used ports). By default, these ports are tunneled to/from the mail service that postman runs, but if I wanted to use another service I can change them in the I2P tunnel settings.

Configuring the IRC client

I was able to configure the IRC client, Chatzilla, pretty quickly as well. It was just the matter of adding a network named irc2p, and then adding a server under that network, with the actual โ€œserverโ€ being 127.0.0.1 and the port being 6668.

And again, no encryption/connection security settings were necessary here either because everythingโ€™s encrypted anyways.

I2P has some documentation on configuring other IRC clients thatโ€™s definitely worth a read.

Like the email service, the mentioned port (6668) is also set to tunnel to/from the a service run by postman, but I can always change this if I want (same way as the email stuff).

Configuring a desktop shortcut

Since I did a manual install of both SeaMonkey and I2P, I had to do some manual work to actually set up a shortcut. I installed both pieces of software in the same directory (i2p-browser) and then wrote a bash script to, first, start the I2P router (in headless mode) and, then, start SeaMonkey. After SeaMonkey exits, I then stop the router.

#!/bin/bash

/path/to/my/i2p-browser/i2p/i2prouter start && wait
/path/to/my/i2p-browser/seamonkey/seamonkey && wait
/path/to/my/i2p-browser/i2p/i2prouter stop

I then created a .desktop file to point at this script, and stuck it where all of those custom .desktop files go in GNOME (~/.local/share/applications/). That way a shortcut will be in my applications menu, and I can start the whole thing with one click.

[Desktop Entry]
Type=Application
Name=i2p Browser
Comment=
Categories=Network;WebBrowser;Security;
Exec=bash /path/to/my/i2p-browser/i2p_browser_start.sh
Icon=/path/to/my/i2p-browser/i2p/docs/console.ico

Yeah, I use GNOME. Fight me.

By default, when I2P starts, it will open the router console in the default browser. Since I didnโ€™t want this, and wanted to use SeaMonkey, I unchecked that settings in the router config.


A web browser, mail client, and IRC client. That pretty much covers everything thatโ€™s part of SeaMonkey. And once itโ€™s all configured, itโ€™s on to browsing the invisible internet.

But what about torrents? Iโ€™ve mentioned torrents a few times here. How am I going to start using those? Well I could try configuring my normal torrent client, Deluge, to proxy traffic through I2P using a SAM Bridge andโ€ฆ


I2P actually includes, by default, a browser-accessible torrent client called I2PSnark! And, because of how I2P works, itโ€™s totally anonymous! Since, like, everything is encrypted. And also I2P is a darknet.

I2P has plenty of other cool features that I really need to explore, like anonymous git hosting. Maybe after I play around with (finally) setting up my own hidden service on I2P (theyโ€™re called eepsites) like I did with Tor I can finally do that.

System76 Announces Redesigned 'Pangolin' AMD/Linux Laptop

System76 is announcing a "fully redesigned" version of its AMD-only Linux-powered "Pangolin" laptop with an upgraded memory, storage, processor, and display. 9to5Linux reports: It features the AMD Ryzen 7 6800U processor with up to 4.7 GHz clock speeds, 8 cores, 16 threads, and AMD Radeon 680M integrated graphics.... a 15.6-inch 144Hz Full HD (1920รƒ--1080) display [using 12 integrated Radeon graphics cores] with a matte finish, a sleek magnesium alloy chassis, and promises up to 10 hours of battery life with its 70 Wh Li-Ion battery. It also features a single-color backlit US QWERTY Keyboard and a multitouch clickpad. Under the hood, the Linux-powered laptop boasts 32 GB LPDDR5 6400 MHz of RAM and it can be equipped with up to 16TB PCIe 4.0 NVMe M.2 SSD storage. Another cool feature is the hardware camera kill switch for extra privacy.... As with all of System76's Linux-powered laptops, the all-new Pangolin comes pre-installed with System76's in-house built Pop!_OS Linux distribution featuring the GNOME-based COSMIC desktop and full disk-encryption or with Ubuntu 22.04 LTS.

Read more of this story at Slashdot.

โŒ