, , ,

A Personal Private CRM

A Personal Private CRM

Last month I forgot to call my dad on his birthday. It's certainly not the first time I have forgotten something important. I'm not wired in the necessary way to piece together all the important bits of information that would make me "thoughtful". Maybe that's a red herring and I'm just not a thoughtful person, but I'd like to think that's not the case and life just gets in the way like I'm sure many reading this can sympathize.

Today I came across a really interesting application called Monica and while I'm certainly reticent throw software at all my problems, I can't deny the possibility that having a smartphone or email or even shudder Facebook has helped me stay in touch with people. Monica bills itself as a "Personal Relationship Manager" and if you're familiar with the CRM acronym (Customer Relationship Manager) in the context of running a business, you can start to see where this could be useful. In Monica, you can add family, friends, and others you meet in your walks in life along with any information you have on them. Monica will remind you when birthdays are coming up or other important events. If you saved gift ideas for them it would have those. You can see relationship connections to know who is married to whom. If you were really masochistic you could log all your interactions with all of these people there (spoiler alert: I won't be doing anything quite that crazy).

Best of all Monica is open source so I was able to install it on my own domain and start playing with it. All the data is private to me and not shared with any other social media platforms. Like any relationship manager, you likely get out of it what you put in so I will have to regularly add information to find real use there. But even if it's nothing more than birthdays that could be useful to someone like me. I hope to see more integrations to take advantages of the platforms like Facebook that already have a lot of information to avoid all the tedious data entry and perhaps better notification options beyond getting emails. But the core idea that I have space on my domain where I can keep track of the relationships in my life is interesting to me and gets at the heart of what I think it means to have a domain of your own. It's not all WordPress blogs out there.

,

Digital Literacy: Reclaiming Your Space

As promised in my last post, I wanted to take a moment to summarize & document my Workshop presentation meant for #OER18, even if I wasn’t feeling well enough to present it. Jim, Tim, and Meredith ended up covering for me on the day of, and I couldn’t be more thankful or proud of how it all turned out! I do hope that someday I’ll be given the opportunity to do the talking myself, but for now, a summary of the Workshop will have to do. :)

Workshop Abstract:

The abstract can be viewed here or in the PDF below.

Digital Literacy_ Reclaiming Your Space

 

One of the biggest changes made from the original abstract to the final product was how we decided to break up the hands-on time with the lecture time. Splitting it half and half made sense on paper, but thinking through the real deal made me realize that 45 min is quite a long time to hear one person talk, and a second block of 45 min is quite a long time to have an unstructured free time for a group of WordPress beginners. To combat this, I broke it up into 4 units of combined lecture & workshop time and then asked Jim & Tim to each take a unit. The idea was that when we weren’t up at the front talking, we’d be walking around the room contributing to the conversation and helping folks one on one. To clarify, here’s a quick outline of how the workshop would have been broken up:

Workshop Outline

Unit One: Lauren
Lecture: Digital Literacy
Workshop: Signing up for an account

-What is Digital Literacy? Why is it important?
-Case Study: Personal digital identity transformation from static HTML to professional documentation platform
-The other side of Digital Literacy: Responsibility; Understanding the scope of your digital presence

Unit Two: Tim
Lecture: Folder Structures
Workshop
: Getting familiar with File Manager

-Understanding Servers
-Where are your files stored? How can you access them?
-Public_html & folder organization
-How do you create a file?

Unit Three: Jim
Lecture: Setting Up Your Domain with Installatron
Workshop: Installing WordPress

-What is Open-Source software?
-What apps are available within cPanel’s Installatron?
-Case Studies with Scalar, Omeka, and WordPress
-Software Files in File Manager

Unit Four: Lauren
Lecture: Using WordPress
Workshop: Designing Your Site

-Overview of the WordPress Dashboard
-How posts, pages, widgets, and menus on the back end correlate to your front-end website
-Recommended Themes, Plugins, and Widgets for getting started
-Refresher: What you’ve learned & what you’ve done

Presentation Slides:

Links for Case Studies:

+ Slide 3: html.labrumfield.com
+ Slides 4-5: labrumfield.com
+ Slide 18: baltimoreuprising2015.org
+ Slide 19: slavery.georgetown.edu/timeline
+ Slide 20: blackquotidian.com

 

, ,

OER 18: Reclaim Video & Cloudron

Now that I’m on the tail end of this trip, I feel like I can finally wrap my head around the last 10 days and gather my thoughts for a blog post. Last week, the Reclaim team met in Bristol for the OER 18 Conference. The entire experience was definitely a mix of ups and downs, but that’s not a result of OER’s doing; I got sick and had to back out of the second day of the conference & my presentation slot. (Ugh, talk about timing.) It was a huge bummer to prepare so hard for something to then not have a chance to share it, but I’m incredibly grateful to be apart of such a solid team that was able to step in for me. Apparently, they rocked the house!

It was always my intention to share the presentation slides & summarize the talk in a post after the fact for reference, so I’ll definitely be doing that as my small way to make up for missing the real deal. But first, I wanted to share other photos and thoughts from the first day of the conference because it was incredible! After running the Domains 17 conference last year, I have a much deeper level of respect for the folks that run these events year after year, especially when they’re done so thoughtfully and seamlessly.

Day One

^On our way out the door for the first day of #OER18!

Firstly, the venue for the OER event was absolutely wonderful. The conference took place on the second floor of a theater that sat right on the water. There was a cafe, plenty of space to catch up with friendly faces, and talks were given in traditional auditorium-like spaces.

Reclaim Video also made a grand entrance by introducing the promo video for domains, new website, and hosting a VHS table situated in one of the main conference galleries. Reclaim Video even convinced Reclaim Hosting to change their look as well. :)

^This artwork created by Bryan Mathers has been a long time coming– it was created back when we were envisioning how Reclaim Video would mesh with Reclaim Hosting. I’ve written a post sharing these details here.

Later that day, Jim and Tim gave a 15-min lightning talk on Cloudron.io which was super awesome to hear. The point of the presentation was to give a (brief) overview of the ‘app store’-like hosting environment, how we’re considering Cloudron’s potential as a part of Reclaim’s future, and whether or not audience members might be interested in something like this. Though the talk was short, being able to gauge the audience’s reaction was incredibly rewarding.

It’s safe to say that the Reclaim Team left all the more motivated to continue thinking through how Cloudron might be integrated with or (dare I say it) replace cPanel one day. Tim has already begun to build out the beginnings of a Cloudron interface/DoOO alternative, but I’ll save that for another post. ;)

I also felt particularly attached to the keynote at the end of day one given by Dr. Momodou Sallah, a Reader in Globalisation and Global Youth Work at the Social Work, Youth and Community Division, De Montfort University, UK. I was drawn to the work he’s done for and with Global Hands, a Social Enterprise/Charity operating in The Gambia.

I was heavily involved in outreach/charity work throughout my high school & college years, so his talk really pulled at my heartstrings. I also thought it was an incredibly refreshing take on the Openness theme in an OER conference setting. For me, Dr. Sallah’s talk was an important reminder that learning in the open extends way beyond the traditional 4-walled, classroom setting. There’s always more we can be and should be doing to bring underprivileged areas of the world up to speed with not only the latest technologies of learning but the basic necessities of human life.

After his talk, we all made our way outside to end Day One with a beautiful boat tour around the venue:

Super thankful to have been apart of this conference, if only for a day. And a special thanks to Maren Deepwell, Martin Hawksey, and the rest of the OER team for pulling off an incredible event & helping us bring our Reclaim Video dreams to life.

Stay tuned for an overview of the Workshop presentation summary post!

, , ,

Reclaim Video’s World Premiere at #OER18

Reclaim Video Signage

The road to Reclaim Video has been both an interesting and telling one. Less than a year ago it was still just an idea baby lurking menacingly under the surface of Crystal Lake. The “vision” was hatched while we were renovating our newly leased office space last Spring. The space is part of an 80s strip mall that effectively has two storefronts. The one we were renovating became CoWork, and the other was being used temporarily—but every time I looked at it I couldn’t help fantasizing about an 1980s video rental store. The fantasies were also inspired by the awesome experience of working on the Console Living Room exhibit we created at UMW in the Spring of 2015

Reclaim Team in NYC Diner dreaming of VHS

I think I first articulated the dark fantasies of Reclaim Video to Tim and Lauren in some kind of thinly veiled joke as early as May, but the intense preparation surrounding the conjunction of both the opening of CoWork and the launch of our first Domains conference meant it was summarily dismissed. What’s more, it was little more then “I want to turn that space into an 80s video rental store. hahahaha.” As brilliant as the idea seems now to just about everyone, hindsight is 20/20 ? It was not as fleshed out as one would hope, and while I kept on returning to it over and over again throughout the summer and fall, it did not become a reality until early November (so only 6 months ago). The idea came up again while we were enjoying a Reclaim NYC trip. Tim, who was trying really hard to make heads or tails of the idea, finally made the connection between Reclaim Hosting and Reclaim Video in his mind, namely evolving the record store idea [“Video killed the radio star”] as well as being a way to host a fun marketing campaign for Reclaim Hosting. And, with that, everything moved into overdrive.  We all agreed to the idea in NYC over a delicious diner breakfast (pictured above) in early November and by March we had gutted the storefront and created a full-blown video store circa 1984—it took all of 4 months once we committed. And that last point encapsulates my experience at Reclaim Hosting for almost 5 years now. There’s really little in the way of bullshit; we are a lean, mean academic hosting machine and once we decide to do something we lock-in and get it done. #TCB4life!

We’ve documented the process of getting the store up and running over the past few months, and we now have all those blog posts aggregating to Reclaim Video’s blog Room 237. Given that, I’ll spare you re-hashing that process here so I can actually get to my point.

And what’s that, you ask? Well, our coming out party at OER18, of course! I’m not sure when, but at some point in December or January we got the notion of transforming Reclaim Hosting’s sponsorship of OER18 into Reclaim Video’s. The conceit being that this new Ed-Tech start-up, Reclaim Video, was delivering an innovative and timely disruption to the Higher Education market: VHS!!! We approached ALT’s CEO Maren Deepwell with the idea, and she was fully onboard. Those of you who know Maren will not be surprised by this, and I fell in love with the folks at ALT when I spoke at OER16 because I deeply related with how such a small, focused crew could bring so much goodness to so many. After that we decided to do our part to help fund OER17 and now OER18, but we had no interest in the usual vendor trappings—the sordid depths of which Adam Croom’s recent post about OLCInnovate highlights quite brilliantly alarmingly. So, Reclaim Video provided us a way to still do something fun and actually be part of the conversation, even if from 30 years ago ?

OER18 Conference

“The lights go down in Bristol for Reclaim Video”
Image credit: Daniel Villar-Rubio’s “OER18 Conference”

OER18 took place at The Watershed, an Independent Cinema  and “Creativity Centre” in Bristol, and all the presentations were in movie theaters. As luck would have it, this was perfect for what we wanted to do. We had made a mad rush to finish the Reclaim Video storefront in March so we could create a short film that we would debut at OER18. And, we did! I’m not sure what it is titled, but it provides a kind of alternative reality wherein the employees of both Reclaim Video and Reclaim Hosting find themselves in a 1980s era storefront talking VCRs and websites. Synergy baby!

And that was how OER18 started, Maren put the tape in the VCR, lights went down, and 5 minutes of magic ensued ? It was fun, and the fact there really is a Reclaim Video in Fredericskburg, Virginia that will be sending folks all over the world copies of this video on VHS tape over the next 3-6 months makes me smile. Faith in a seed.

We also had a booth, and the amazing crew at Watershed supplied us with a CRT monitor and a region-free VHS player—I think they were the most excited about Reclaim Video’s presence at the conference. The booth was awesome, and it just played films like Blade Runner, Xtro, Amadeus, and more. We also had a stack of shirts and stickers for those swag-minded retrotechs.

Another piece of the OER18 sponsorship was an ad in the program, and, well, we remixed some OG “OER.” 

Tim’s design prowess was responsible for the logo, and it’s amazing how much goodness can follow on a solid logo. What’s more, I already mentioned that a major reason for doing Reclaim Video was to have some fun. And, if you think about it, Reclaim Video is kind of a mashup of ds106 and the Living Room Console—which are two of my very favorite things. And while we fully understand Reclaim Video is not a viable business, its value as an indulgent, nostalgia-peppered space filled with fun and whimsy should not be underestimated. The space has already helped us all divert some of the intense work that running Reclaim Hosting requires into a joyous alter-ego company. Reclaim Video is a creative release that the good folks at OER18 did not bat an eye about incorporating into their proceedings—and that’s open education in action! To quote Yo La Tengo: “It’s a waste of time if I can’t smile easily.” Smiling at Reclaim Hosting (and now Reclaim Video) has not been an issue these last 4 years or so—and cultivating that fact should not be an afterthought to any venture

The Reclaim Video website designed by Michael Branson Smith

Oh yeah, we also launched a brilliant website that will be an central node of Reclaim Video that Michel Branson Smith brilliantly put together for us. But I am saving that for my next post, cause the website is going to be an ongoing, evolving piece of Reclaim Video that I am very interested in taking some time and energy to think about here.


*This is a problem I have, fantasizing about the strip mall haunts of my past. Intensive therapy hasn’t helped.

,

Reclaim Video Inventory

Over the last couple of days, I’ve taken a break from my Documentation April to categorize Reclaim Video’s ever-growing collection of VHS, Betamax, and Laserdisc. I feel like every couple of days (if not every day) we’re receiving a package in the mail enclosing one or two new VHS tapes from Jim’s wishlist. They’re always so fun to open, but then they inevitably pile up on the front desk until one of us as a moment to add them to our excel sheet. Oh yeah, we have been using excel to keep track of what we had, but Reclaim Video has quickly outgrown it. The excel list was hard to look at, hard to search through, and staying organized was virtually impossible.

What’s more, last week we received two (yes, two!) VHS donations from folks in the Fredericksburg community. Suddenly we were faced with a dilemma: how would we add these tapes to our collection without losing track of who donated what? Especially once duplicates of films are involved.. it was just getting complicated. We decided stickers on the tapes themselves was not an option, so a digital log of some sort was needed.

Enter Libib.com!

Tim found this Cloud Cataloging tool that’s made to keep track of books, movies, video games and more. I began playing around with the online version and the iPhone app and was immediately sold. The free version is perfect for anyone looking to log their personal collections, and we’ve made great use out of it for Reclaim Video so far. I imagine we’ll end up upgrading the pro version ($5/mo) to take advantage of its loaning features. We are a rental store, of course.

My favorite part of the app, without a doubt, has been the Barcode scanning feature. I’ve been able to easily scan hundreds of tapes and archive them on our new collection site, inventory.reclaimvideo.com. Movies that are recognized in the database are then automatically displayed with a ton of helpful metadata.

^Example of the metadata pulled. In addition, viewers are then able to leave reviews & I can easily keep track of how many copies are available. I wish more of the metadata was available on the public-facing site, but I’m imagining that’s part of the pro version.

In addition, we can now easily add donations & and organizing them using Tags. It’s beautiful! ^ Collections are organized by “libraries”, so Reclaim Video has three libraries: VHS, Betamax, and Laserdisc.

^Full row of 007 Betamax

Just today I finally finished logging all the Betamax & VHS currently available at Reclaim Video. I took advantage of the opportunity to organize the tapes as well, so the right half of the room is VHS, and the left is Betamax.

^The forward-facing inventory site.

I’m excited to expand this over time– not only tweet-length messages to the right sidebar, but more laserdisc logging coming soon! It’s also nice to be able to send interested Reclaim Video renters somewhere to say, “hey, this is what’s currently in stock!”

, ,

Sequel Pro’s SQL Inserts

Another tool I’ve  been becoming more familiar with for sites that don’t have phpMyAdmin to access the MySQL databases is Sequel Pro. It’s an open source application for managing SQL databases on the Mac.  I have come to appreciate it in newfound ways after the UNLV migration; it is to databases management what Transmit has been to moving around files via FTP.  Anyway, one think I discovered it can do is copy the structure of a database table, such as wp_users:

And then insert it as SQL code in something like PHPMyAdmin:

Sequel Pro does all SQL query structuring for me, which is awesome. Was a nice little bonus to discover, and another trick for the toolbox.

 

, ,

Site Building with WordPress and Elementor

Site Building with WordPress and Elementor

One of the biggest challenges for folks new to building a website with WordPress is that it feels very much like writing/blogging software out of the box. Yes, you can create pages, but as soon as you want to structure information in columns or do anything more complex than images and text you will quickly find you need to find a theme or a handful of plugins to get the job done (and if you don't know what you don't know, that's a huge hurdle). "Site Builder" plugins are becoming more and more popular and you even see more themes integrating them into their frameworks these days. Some are pretty good, some suck really badly. One I really like and wanted to demonstrate as a way to quickly get up and running with a WordPress site is Elementor which is both free (there's a Pro version that has more features I'll discuss in a bit) and incredibly user-friendly with a lot of great options.

Rather than just talk about the various features let's go through the process of building out a demo site to see what Elementor has to offer. To start we'll fire up a WordPress install on Reclaim Hosting. Nothing too crazy, you're typical TwentyEighteen theme with the big ass succulent.

Site Building with WordPress and Elementor

Since this isn't going to be a blog I'm going to go to Settings > Reading and change the homepage to be the About page that WordPress creates by default.

Site Building with WordPress and Elementor

Then let's install the Elementor plugin to really get to the fun stuff.

Site Building with WordPress and Elementor

If we were to look at our site at this point nothing much has changed. We have the About page showing by default on the homepage. Let's click that Edit Page button to start making some changes.

Site Building with WordPress and Elementor

In addition to your standard Post/Page editor functions we see a big Edit with Elementor button at the top. But before we hit that I want to also draw your attention to the Page Templates in the righthand sidebar. Elementor offers templates to go full width instead of being limited to the layout of the theme we're working with (if you look above at the previous screenshot all the content is pushed to the right which we don't want). They also have a Canvas option which is awesome because it essentially nukes the whole theme content and gives us an empty workspace to build from. I'll be using that so I select it and click Update.

Site Building with WordPress and Elementor

Site Building with WordPress and Elementor

Now let's hit that Edit with Elementor button and start building out the site. You'll see we're taken to an interface that looks a lot more like the WordPress Customizer than the traditional page editor. We can add and edit items via the lefthand sidebar and interact directly with them on the site on the righthand preview seeing the site exactly as it will look to visitors.

Site Building with WordPress and Elementor

WordPress added some demo content to the About page that I don't need so I highlight over that and click the X to remove that text block.

Site Building with WordPress and Elementor

Now below that we can add a new section for content. Let's start by looking at the template options Elementor comes with which is a great way to kickstart building a site rather than starting from scratch. Click Add Template and you're taken to a library of different full page layouts complete with demo content to choose from. Fair warning here, you will find templates that are "Pro Only" meaning this is where you'd need a paid version of the plugin to use those (and hey, if you like the plugin maybe it's worth throwing some money at the developers!), but there are a lot of great free options.

Site Building with WordPress and Elementor

I chose a simple "About Page" template and now my editor interface has a variety of content that I can start modifying to put in my own information.

Site Building with WordPress and Elementor

You'll find you can simply click in the various boxes and edit text directly as well as modify things in more detail using the lefthand sidebar which dynamically changes when an element of the site is selected.

Site Building with WordPress and Elementor

Site Building with WordPress and Elementor

Elementor also has options in the lower left to see how the site will display on tablets and mobile devices.

Site Building with WordPress and Elementor

Going back quickly to the same area where we added Templates you'll notice there's a tab for Blocks as well. Templates are full page designs whereas Blocks are just small snippets of content (an FAQ section, a Call to Action, etc).

Site Building with WordPress and Elementor

You can also build from scratch and add specific elements to your page to build out your own layout. You would create a new section which it lets you choose how many columns you'd like.

Site Building with WordPress and Elementor

Then you can drag elements from the left sidebar over and Elementor has a large library of widgets to choose from with everything from Text, Images, Videos, Maps, Buttons as well as dynamic content like Blog Posts or Tags and Categories from your site.

Site Building with WordPress and Elementor

When you drag an item out to a block you can then edit the content of that element in the sidebar.

Site Building with WordPress and Elementor

There is quite a bit more to Elementor but that covers the basics of the plugin and how you can use it with WordPress to quickly build out dynamic responsive websites that feel less like a blog and more like a full-fledged website. If you start on WordPress and immediately feel out of your element at getting what is in your head on the screen I'd encourage you to give this method a shot.

, , , , ,

cPanel Minimalism

We recently migrated UNLV’s faculty websites to a Domain of One’s Own environment. I learned a lot during that migration which in turn helped motivate me to finally clean up the bavatuesdays multi-network site I’ve been putting off for over a year. Well, dabbling a bit every morning last week and yesterday, that is officially done. All sites on the bavatuesdays domain have been migrated and archived—I can take a short break before going after the jimgroom.net network. 

In the mean time I have been working on a talk for OER18 wherein Tim and I will be talking about hosting beyond the LAMP environment. Applications that run in other server environments that require Node.js, Ruby, etc. would be nice to offer, but integrating them into cPanel is not necessarily easy. I played with hosting Jekyl from a Reclaim account, but that does require a bit more command line work—which is often a non-starter. But alternatives to cPanel such as Cloudron that allow you to spin up containers that seamlessly manage the application’s server requirements, so all you are doing is choosing a domain to run it on. But we have also been playing with integrating SPLOTs more seamlessly into Reclaim’s offering, so there are several options, rather than any one way forward. Not to mention, cPanel and CLoudLinux are both working to make it easier to run Node.js and Ruby apps in their environment, so it may not necessarily be beyond LAMP at all—but rather within or alongside.

All of this brings me back to UNLV’s Faculty Sites, which have really paired down cPanel to the absolute minimum: WordPress, the file manager, and backups. That’s it. Minimalist, faculty can choose between WordPress or a DIY old school HTML site using the file manager to upload files (or FTP). It does kind of beg the question that I hear all too often about it being overwhelming, or there is too much to learn. No, it’s pretty much your own instance of WordPress, and those little files known as HTML (and a few links) that made the web possible. So, the future is as much within a LAMP environment, as it is beyond LAMP. 

,

Documentation April

Over the last couple of weeks, I’ve made it my mission to build on, add to, and update documentation articles at Reclaim Hosting. This was inspired after our last Workshop of One’s Own event when attendees asked what other schools had done to tweak and add to their DoOO projects. How were schools changing their homepage? How were they handling community support? How were they handling graduating students and their data?

I created a new category on the Workshop of One’s Own Documentation called Customizing your DoOO. This topic is still very much a work in progress, but my goal is to make this a full list of everything that can be safely done or added to a DoOO instance without fear of “breaking the system”. It will include everything from different pages and elements that we can add to a DoOO system, to editing a Domain of One’s Own WordPress theme.

One of the most common “extras” that DoOO schools ask for is the Templated Community Documentation. These are articles written specifically for the students and faculty using Domain of One’s Own. They were written originally by the OU Create team, and were later shared and expanded at other schools. So when new schools start a DoOO Pilot and ask for this documentation, we would copy from one of these existing schools to the new school. This was hardly a bad system, but it’s always bothered me a little bit that we were handing off documentation with another school’s logo on it. It just doesn’t scream “here’s your fresh copy”.

And since every DoOO Project looks a little different, the documentation will look a little different as well. For instance, we have some schools that buy top-level domains for all users and give them access to everything that the default cPanel provides. By contrast, other Domain of One’s Own schools only support WordPress, and have stripped the cPanel down to the very basics. So what may be true for one school may not be true for another. In addition, Reclaim underwent a pricing change a couple of years ago for shared hosting plans & top-level domains to accommodate for ID Protect. What’s more, when software upgrades take place, screenshots need to be updated. And plugins that were relevant 2-3 years ago may now be abandoned by their developers.

I mention all of the above to show that there are clearly a ton of outliers that can lead to a miscommunication and/or change in documentation. So it was time that Reclaim Hosting took ownership of the existing documentation to create a centralized hub of always correct, always up-to-date information. That way any school writing their own docs can always look back at this resource and pull articles that are relevant to their specific projects.

For instance, the team at emerson.build wrote a great article on getting up and running with the Neatline plugin in an Omeka instance. We get questions about this plugin all the time at Reclaim Hosting, so I’m thrilled for finding it! But it also helped reiterate this very real theme surrounding documentation: we need to do more sharing as a Domain of One’s Own community, and Reclaim Hosting needs to help facilitate that. I’m sure there are plenty of schools that would benefit from that Neatline article as I have, so now they can find that article, along with a compiled list of others on State University’s new documentation site: stateu.org/docs

Which brings me to my next point: If you’ve written documentation for your DoOO community, you may receive an email from me in the next couple of weeks asking for permission to add your article to the main hub. You’ve been warned. :) Alternatively, if you’ve written articles that you think would be a good addition to this main list, please contact me!

And while I’m on the subject of creating documentation, I can’t write this post without mentioning the recent work that Chris, Reclaim’s intern, has been doing for the Reclaim Youtube Channel. We’ve been working together on prioritizing videos that Reclaim needs in terms of tutorials, and he’s created some really great stuff so far. (Examples: Easy Site Cloning with Installatron, Backup Tools, & Adding WordPress Themes and Plugins)

His most recent tutorial, and easily my favorite video so far, is Understanding FTP, Part 1. (Part 2 will be on troubleshooting FTP!)

 

You can find these video tutorials on Youtube, of course, but also embedded in their corresponding written articles on Reclaim Hosting’s main documentation site.

, ,

Ansible and Configuration Management at Reclaim Hosting

Ansible and Configuration Management at Reclaim Hosting

When we started Reclaim Hosting it was with a lot of hopes and dreams and a single server. Hard to believe we only had a single server to manage for the first ~8 months of Reclaim's existence (and Hippie Hosting was always so small that it always only had a single shared server for all customers). Those days however are long gone, today Reclaim Hosting manages a fleet of over 100 servers for customers and institutions across the globe. As you can likely imagine, it's been a hell of a learning curve to get to a point where we are comfortable with such a large infrastructure.

Unlike a high-availability setup where you might have a bunch of servers spinning up and down but you'd never be logging into a particular one, when it comes to web hosting each server is managed individually. SSH Keys and a shared password management system go a long way to alleviate headaches with access. But the biggest hurdle has been configuration management and I finally feel we're starting to get to a place where I'm comfortable with it (I think it will always be a process). When I say configuration management I mean keeping track of and managing everything from the versions of PHP installed, what system binaries are installed and available like git, upgrades to software over time, and things of that nature. With an infrastructure this large split currently across 3 different companies, many different datacenters, and even a few different operating systems and versions it is inevitable to find that what you thought was running on one server is actually out of date or didn't get installed at the time of provisioning.

There are two things thus far I have done to tackle this issue. The first was to take a hard look at our provisioning process. In the past this was completely manual. Fire up a server and start working through a list of things that needed to be installed. If I normally installed something but forgot to mention it to Jim then there's a great chance it wouldn't get installed. And if the coffee hasn't kicked in then the whole system by its very nature is just prone to user error resulting in an incomplete system, not to mention this could take between a few days to up to a week to complete if other stuff got in the way. It may seem simple, but I created a bash script as a very simple way to get at the deploy process. There are a few prerequisites that have to be installed before running it (namely git since it's in a private repo and screen so we can run it with the session closed) but what used to be a process measured in days can now complete the majority of work in about an hour and a half. Here's everything thus far that the script does:

  • Install git, screen, nano, and ImageMagick
  • Install cPanel
  • Run through some first-time setup options for cPanel configuration
  • Compile PHP with all extensions and Apache modules we need
  • Install Installatron and configure settings
  • Install Configserver scripts (firewall, mail management, exploit manager) and configure with settings
  • Update php.ini with approved values
  • Install Let's Encrypt
  • Install Bitninja (a distributed firewall product we use)
  • Setup custom cPanel plugin Reclaim Hosting uses for application icons
  • Configure automatic SSL certificates
  • Reboot server

Mostly my process has been working backward from what things we used to install and configured and finding what commands I could use to do the same process (installation is always with cli but often configuration is with the GUI so finding the right way to configure was a bit more time consuming and sometimes involved editing files directly using sed). We have more that could be done, again I treat this all as a process where we can continue to refine, but this has gone a long way to making that initial hurdle of setting up servers a "set it and forget it" approach.

So with our deployment process becoming more streamlined the second piece of the puzzle was to get a handle on long term configuration of servers, the various changes and settings that we have to manage. If Apache is getting an upgrade it should be tested on a dev server and with approval it should be pushed to all servers to avoid any mismatch. In the past that meant me opening up a bunch of tabs and getting to work but that's not a scalable approach. I've taken to learning more about Ansible as a configuration management tool and it has already saved me countless hours.

Ansible doesn't require any agent to be installed on our machines, it uses SSH access to run its commands. Commands are put together with "Playbooks" which are nothing more than .yml text files. There are various "roles" that can be used to handle everything from installing software with yum and moving files back and forth, to more complex tasks, and people can write their own roles so there is lot out there already for popular approaches to configuring and managing servers. At this point you might be thinking "Well if it can do all that why did you write a bash script instead of using Ansible for deploying servers?" and you're not wrong Walter. Long term it probably does make sense to do that, but Ansible playbooks have a very specific way of doing things that is replicable across a lot of servers and frankly it would require a lot of work to rewrite the deployment method that way so it's a goal but not a major issue in my eyes.

Now with Ansible if I decide I want to roll out HTTP2 support to our servers I can write a small playbook that installs it via yum and then run that against our entire fleet. If a server already has the support for it then it doesn't have to make a change so there's no harm in running playbooks on a variety of servers that may or may not have common configurations to get them all up-to-date. If anything the biggest challenge is not writing the playbooks (which I actually enjoy), it's keeping our inventory file that holds data for all of our servers up-to-date. A dream would be to use the Digital Ocean API to dynamically update our inventory in Ansible so if a new server is added there it's automatically added to our inventory.

I'm confident that developing these configuration management processes will help us ensure our customers benefit from the latest software and better support with a standard environment they can count on from one server to the next. And if it saves us time in the process to devote to new development work even better.