As the tale of the bava can attest, I have been knee-deep in migrating projects to the Reclaim Cloud. It’s been equal parts exhilarating and frustrating given the possibilities and the necessary learning curve, but that’s often the cost of personal and professional growth. That said, after migrating ds106.us things are starting to feel downhill, and yesterday I got the silly side-project ds106.club moved over from Digital Ocean, which means the last piece I have to move from my personal Digital Ocean account are some files I’m hosting on a Spaces instance.
I moved ds106.club over to Digital Ocean from AWS back in 2016 when I realized I was never going to be a master of AWS’s infrastructure (part of what makes the Reclaim Cloud so welcome and exciting). The ds106.club is a straight-up UNIX apache server that was exploring the tilde.club experiment back in 2015. Our version of that experiment was hosted on a 1 GB Ubuntu 16.04 VPS through Digital Ocean at $5 a month. Not much has happened there, though there are some really fun site like the Prisoner 106 GIF story, my own little experiment, and many more. It’s a trailing edge corner of the web that is forgettable in many ways, and that’s why I love it. So, I spent Monday and Tuesday exploring how to get it migrated over.
I had everything moved over cleanly on Monday following the original tilde.club how-to, but I missed a couple of things specific to the Reclaim Cloud (which is built on Jelastic’s virtualizing, container-based software). Such as the fact our Cloud has its own firewall for VPS instances. You can now see why we are still kicking the tires on this before an open, public beta in early July. There were also some edits I needed to make to the Apache configuration file I missed, but this is a good moment to reflect on why we are able to even think about moving forward with Reclaim Cloud, which Tim documents our history with elastic computing and containers starting as far back as 2011.
If it wasn’t for our current team, namely Lauren Brumfield, Meredith Fierro, Chris Blankenship, Gordon Hawley, and Katie Hartraft none of this would even be thinkable, no less possible. We have gotten to a moment wherein Tim and I have both been relieved from a majority of the day-to-day operations of Reclaim, which has provided us the head space to actually push forward with a next generation infrastructure that will allow us to go far beyond even our wildest expectations 7 years ago when we started this whole thing. So, thank you all. You rule, I drool!
In addition that that, we have setup an internal forum for our Reclaim Cloud project so that we can start to push hard on our current private beta before opening it up next month, and I tried to get things going with a post about my struggles migrating ds106.club, which I am documenting below:
I am setting up an Ubuntu 16.04 VPS in the Reclaim Cloud, and after spinning it up I can’t seem to get the public IP to resolve. To be specific, I’m migrating the ds106.club 1 instance of an Apache/UNIX tilde space server over from Digital Ocean that is also running on Ubuntu 16.04.
I am following the tilde.club setup guide 1 and have updated the hostname:
$ sudo hostnamectl set-hostname ds106.club
When I run the above command and reboot, the ds106.club hostname is replaced with node366-env-7531836.us.reclaim.cloud, so it is not sticking. Although, from what I understand that might not be an issue for Jelastic, and editing the /etc/hosts file may be enough?
In that vein, I updated /etc/hosts to the following (notice Jelastic keeps a record for the original hostname in this file underneath the commented line):
127.0.0.1 localhost ds106.club 18.104.22.168 ds106.club # Auto-generated hostname. Please do not remove this comment. 22.214.171.124 node366-env-7531836.us.reclaim.cloud node366-env-7531836
After that I am still getting nothing at the IP or domain, I went ahead and tried installing Apache2, and I get the following error:
insserv: warning: current start runlevel(s) (empty) of script `apache2' overrides LSB defaults (2 3 4 5). invoke-rc.d: policy-rc.d denied execution of start. Setting up ssl-cert (1.0.37) ... Processing triggers for libc-bin (2.23-0ubuntu11) ...
I looked this up and did see a Stack Exchange post on the issue 1, but when I ran the recommended command to fix:
RUN printf '#!/bin/sh\nexit 0' > /usr/sbin/policy-rc.d
I got the following:
RUN: command not found
At this point I backed away slowly from command line and decided to high tail it to this part of the Reclaim Community forums to see if I can get a lifeline
To which, in less than an hour, Chris Blankenship response with the following:
I just ran through this successfully on an ubuntu vps, I did have to deviate from the steps outlined a bit.
End Result: http://hostnametest.chrisblankenship.cloud/~testuser/
I spun up the Ubuntu VPS, and edited /etc/hosts to add these lines to specify the IP and hostname I’d be using:
126.96.36.199 hostnametest.chrisblankenship.cloud hostnametest
127.0.0.1 hostnametest.chrisblankenship.cloud hostnametest
This doesn’t change the hostname for the VPS itself, I’ve been having trouble with that as it will re-set each reboot, but adding these lines should be sufficient so your server is recognized with the proper hostname.
Then I created the user testuser using the
addusercommand, switched into the user by running
su - testuser, and created a public_html dir with all the permissions and a test index file by running:
mkdir ~/public_html && chmod 755 ~/public_html && echo "<h1>TESTING</h1>" >> ~/public_html/index.html && chmod 644 ~/public_html/index.html && exit
Once I was back in the root shell, then I installed apache by running:
apt install apache2
Before edits can be made, it has the be run to generate the config files, so I ran
systemctl start apache2
Then I had to enable userdir support using
a2enmod userdirand restart apache using
systemctl restart apache2
And then in the default enabled site’s file /etc/apache2/sites-enabled/000-default.conf, I added a line at the top to specify the servername: ServerName hostnametest.chrisblankenship.cloud
I gave it one more restart using
systemctl restart apache2and then I had to open up the HTTP/HTTPS ports in the Jelastic Environment Firewall
If you hit add under Inbound Rules, you can specify HTTP/HTTPS as the name, and it will autoconfigure with the ports.
I can now get the tilde space for the test user. I’m having some issues enabling the service to run at startup (
systemctl enable apache2), but I’ll update once I figure that out.
Not only did this work for me, and the only other thing I needed to figure out was migrating content and user permissions, which this post on nixCraft was textbook for. So, thanks to Chris I have ds106.club up and running on Reclaim Cloud, and this really cemented for me that we are ready for this. We are ready to start helping students, faculty, and institutions think through the cloud for their offerings, and that is pretty exciting. Reclaim has been quite a journey thus far, and I think this marks a new, exciting chapter. And while it is important to temper excitement in the current political situation, I have always believed strongly that part of what Reclaim has been doing has always been about a sense of reclaiming control and educating as many folks as possible that it is indeed possible, and here is one way at it.