Creating a WordPress Template

I’ve written a little about SPLOTs in the past, but I’m looking forward to the opportunity over the next few days during Workshop of One’s Own to dive into their possibilities. Alan Levine will be joining us for the workshop as well to spearhead the SPLOTs session. He’ll be taking folks through their origins, potential for the future, examples of ones he’s already created, etc. I’m excited to share the floor with him to chat about how SPLOTs can be used within Domain of One’s Own environments, and how simple it is to set up a SPLOT on your DoOO server.

Keep scrolling to learn how to save your own WordPress install as a SPLOT for others to use.

Step One:

Build out your WordPress install exactly how you want it to be pushed out server-wide.

^Note that if you make changes to the install after it has been templated, those changes will not be reflected on the SPLOT. Installatron essentially takes a snapshot of what the install looks like at the time it’s saved. If you need to update your SPLOT, you’ll need to remove & replace.

Step Two:

Log into WHM. Search ‘install’ in the top, left-hand search bar. Navigate to Installatron Applications Installer & then click Installed Applications.

Step Three:

Now you should see a list of all installs (through Installatron) on the server. Search your install in the top, right-hand corner. Click the star next to the install that you’d like to turn into a SPLOT.

Step Four:

On the following page, give a title and description for your Template. These will be public. After you’ve finished, click Template in the bottom right.

Step Five:

Test it out! If I go back to my individual dashboard and install a new instance of WordPress, I now have the option to install templated package of the WordPress I’ve just created.

Removing a Template

Search ‘Install’, click Installatron Applications Installer, & click Templates.

Scroll down, select the template you’d like to remove and click the X. You’ll be asked to confirm the action, and then you’re good to go!

Now when I go to install WordPress, the template has been removed:


Email Troubleshooting

The Reclaim Team has recently brought back a professional development training session each week where larger questions and concepts are discussed. This gives us a chance to bring up any pain points that have been experienced over the last week in a place where everyone is devoted to learning for an hour. We have a #profdev slack channel where we make notes like Troubleshooting Slow Sites or Updating WHMCS, and then everyone agrees on an available time to meet. It’s been a great system and already proving to be very helpful.

The other week, our Professional Development session was focused on Troubleshooting Email. Configuring email can be tough as it is, so troubleshooting email can be a real bear. I’ve included my notes from the meeting below, as I’m planning on coming back to reference them. :) And if I can benefit from having these published, then maybe someone else can, too!

Goals for Troubleshooting:

-Look for/ Request IP address. Is it blocked?
-Request User’s email client settings
-Search for error messages
-Gathering as much information as possible using the tools below

Features & Tools in cPanel

Email Accounts

Where you can create email addresses, view existing ones, and access webmail on the server. If you can view certain emails from within the webmail client but the user can’t receive email on their local client, this is usually an issue with their Email Configuration Settings.


This allows you to send a copy of any incoming email from one address to another so that you only have one inbox to check. You can also use this section to forward all email accounts from one domain to another. If forwarders aren’t set up properly, this may be a reason for why email isn’t being relayed to the expected location.

Email Routing

If you’re planning on using Google suite and another third-party mail client, you MUST set your email routing settings to Remote Mail Exchanger.


Set up automated emails to go out if your inbox receives mail. These are your ‘Out of Office’, etc. responses.

Default Address Maintenance

This feature will “catch” emails that are sent to an invalid email address for your domain. So for instance, if someone sends an email to info@labrumfield.com, I ordinarily wouldn’t receive it because I don’t have that email address set up. This feature allows you to say, “If anyone sends mail to an email address with my domain name in it, regardless if it’s been set up or not, forward it here.”

Reclaim Hosting’s default setting is to discard these emails since they’re generally loaded with spam. So if a user has this setting turned on and then complains of an excess of spam, this could likely be the smoking gun.

Mailing List

We’ve found that this feature doesn’t work well at all, so we don’t directly support this. Instead, we recommend using GNU Mailman or Google Groups.

Track Delivery & Apache SpamAssassin

This is our go-to, one-stop shop for troubleshooting. This is where we as admins or the user can go to see what happened on the server. You can see successful email activity, failed sent emails, and deferred emails (meaning: emails are put on a queue to retry sending again). Time stamps, spam score ratings*, and event details (sender IP, user, router, etc.) are also available as well.

*Apache SpamAssassin is turned off by default, but can be enabled within the icon. It rates all incoming mail and filters what it defines as spam. SpamAssassin defines what spam is by rating it based on a set up specified rules. Everything over a 5+ rating is sent to the spam folder. You can modify the rating number and auto-delete spam under the Apache spam assassin icon.

Global Email Filters

We’ve received tickets in the past where folks had spam coming through so the users wanted to set a filter to automatically delete specific emails. cPanel has guides on this that can be found here.

Authentication & Calendar

Honestly, Reclaim Hosting isn’t all too familiar with this feature, but cPanel has written guides on setting it up here. There are so many better alternatives for managing contacts and calendars, so we rarely, if any at all, get requests for folks wanting to use their cPanel for this.


This is not that useful in our opinion. BoxTrapper “protects” you from spam by requiring all email senders not on your Whitelist confirm their identity before you can receive their mail. While that sounds great in theory, confirmation emails with a ‘noreply@’ email address would never make it to your inbox since there’s no one on the other end managing the address. This will also double your email incoming/outgoing quota.

Email disk usage

Allows you to view which email folders (inbox, spam, trash, etc.) are taking up the most space, and gives you the option to delete mail in bulk.

Email Tools in WHM

Mail Delivery Reports

This gives you the status of emails from all accounts on the server. It’s very similar to cPanel’s Track Delivery feature, but on a larger scale. This is a good starting point for admins who are troubleshooting mail delivery on the server.

Mail Queue Manager

This feature allows you to view and manage email messages queued for delivery. The only time I’ve seen the queue get backed up on the server is when there’s been a hacked account sending out a ton of email at once and hitting their ingoing/outgoing quota. So this feature can be helpful to track down what’s happening to a specific account.

ConfigServer Mail Queue

Same deal as above, but provides more options for refining your search. This is where Reclaim Hosting goes to delete queues that are backed up.

Email Processes in FTP

If you log in as Root on the server and navigate to var/log/, you can look through a couple different processes here:

  • exim_mainlog– successful activity
  • exim_paniclog– server level issues with the exim function
  • exim_rejectlog emails that were blocked due to a variety of things like spam blacklist
  • var/log/maillog– shows failed login attempts; find user’s IP address
  • messages– the catchall for mostly errors of some kind; firewall blocks
  • lfd.log– login failure demon; failed attempts
  • secure– SFTP/FTP logins

Searching through Email Processes in Terminal

grep command

grep "email@yourdomain.com" exim_mainlog

^searches email@yourdomain.com in the exim_mainlog

In order for an email to be sent/received, there are many processes that are happening behind the scenes. All of these processes are documented in the exim logs listed above, and are given the same Mail ID so we can track every process for one activity. I’ve highlighted an example of where the Mail IDs are located and what they look like above. If you’ve never looked at an exim file before, they can be a little tricky to read!

grep "mail ID" exim_mainlog

^searches mail ID in the exim_mainlog

In addition to time stamps, mail IDs, and error messages, the logs also document the user’s IP address. So in some cases, we can figure out what the user’s IP address is before he/she is able to get back to us with that information. From there, you can run the following command:

grep "IP Address" -R /var/log

^searches IP address in every file & folder in the /var/log directory

Removing the ‘Uncategorized’ Category in WordPress

If you’re lucky enough to find a WordPress theme that doesn’t display categories unless they’re used, then that’s great! Those themes do exist, but this post is for the themes that display all categories- including the default Uncategorized– whether they’re in use or not. For example:

When I go to the WordPress dashboard>Posts>Categories, I see this:

I don’t have the option to delete the Uncategorized category, which is slightly annoying. I can rename it (shown above), so that’s one workaround. But what if I just want to completely delete it?

Deleting the Uncategorized category

  1. Go to Settings>Writing
  2. Change the default category from Uncategorized to another category in use
  3. Click Save
  4. Go to Posts>Categories
  5. Check the box next to Uncategorized and click delete.

Boom! To think that I never took the time to figure this out before the other day. :) It’s so simple!!

Download PDF

Troubleshooting: My Student Can’t Connect via FTP

Though it’s a great tool for moving data in bulk, File Transfer Protocol can be tricky. There are a ton of outliers that could result in that annoying “Login Failed” message, so knowing where to look can be half the battle. Reclaim Hosting support gets questions about FTP quite often, whether from a student or an administrator, so I thought I would throw up a little troubleshooting checklist. We’ve got a great outline & explanation for all-things-FTP here, so I definitely recommend giving that a read & sending that to the user. But in short, ask yourself the following questions:

1. Is the student using a default FTP account or an FTP account that was created manually?

-If the user is working with the default account that is created automatically when they sign up, they should be connecting via SFTP. -Any manual accounts that the user created or someone created for them needed to be connected to via FTP.

2. Is the student using the proper SFTP/FTP settings?

If you’re not troubleshooting in person, the easiest way to verify this is by requesting that the user send you a screenshot of their settings, not the error they receive when they can’t connect. The user’s settings should look similar to this: ​
  • server/hostname: domain name
  • username & password: same as cPanel credentials (these were sent to the user in their account welcome email)
  • port: 22

3. Is the student using the proper credentials?

Once confirming that a connection is possible, I always send the user their credentials (regardless if they have them or not) in a one-time, secret link, and then request that they copy/paste them directly. (Sometimes the number 0 is mistaken for an uppercase O, for example.) If you ever need to reset those credentials, go to WHMCS>User Profile>Product/Services Tab & generate a new password there:

4. Is an SFTP/FTP connection possible?

Before even responding to the user, I always test an FTP connection on my end with the student’s credentials to make sure that this is indeed a user error and not a system error. 9 times out of 10 it’s a local error, but it’s still a good rule of thumb to eliminate all possible issues.

5. How many times has the student attempted to log in?

If the user has too many failed login attempts within a certain period of time, they may trigger a block on the server. In these cases, I also check their IP on the firewall to make sure that it’s unblocked and/or whitelists. I normally ask the user to send me their IP address by going here: http://ip4.me/ We have a guide for administrators on unblocking IP addresses here. Reclaim Hosting also has a separate firewall on some servers called BitNinja. If you’ve passed through all of the above steps and the student still can’t connect, shoot a support request to Reclaim with the student’s IP and we’ll make sure it’s whitelisted there as well.

Fix for Changing a Site URL in WP Dash

Occasionally we’ll get a user who is interested in changing their site URL. This is a harmless request, but could, unfortunately, break their site if they try to change their domain within their WordPress dashboard. If you log into any WordPress dashboard and go to Settings > General, there’s a section where you can change your WordPress Address (URL) and Site Address (URL). So to give folks the benefit of the doubt, this is very misleading. If we could remove this section of the WordPress settings we absolutely would, but there’s no way around it.

Let’s say a user tries to change their domain name from wpdemo.labrumfield.com to test.labrumfield.com:

The user edits their fields to match their “new URL”, scrolls down, and clicks Save.

They would then be met immediately with the following error:

If they were to attempt to log in again, they would be greeted with a WordPress dashboard that looks like this:

There’s no real way to reverse the mistake and fix this other than to log into the user’s database and correct the site URL there. To do this, go to the user’s cPanel, search php in the top search bar, and then click phpMyAdmin.

Click the database for the WordPress instance in question, and then click wp_options from the drop-down on the lefthand side. The first line should read siteurl and show the recently changed site URL. Click edit.

On the following page, correct the URL to its original name and click Go.

Now go to page 2 in wp_options. Click edit next to the home line.

Just like before, edit the URL back to its original domain, scroll down and click Go.

Now when you refresh the dashboard, all should be back to normal:


Approaching a Support Ticket

This blog post is for Domain of One’s Own support admins.

At first glance, no two support tickets look the same, which means that the process for finding a fix always looks different as well. That, mixed with a combination of vague errors & a broken dashboard can make any admin who believes he/she to be well-versed in technical domain support of any kind to feel less than adequate.

So when you’re faced with an error you’ve never seen before and aren’t sure where to turn, use the following checklist:

  1. Make sure the user’s IP isn’t blocked in CSF.
  2. Rule out the probability of a DNS resolution, Browser cache, or Network Cache Issue.
  3. Use the Error Log to eliminate the possibility of a theme and/or plugin confliction.
  4. Fix Permissions on the cPanel account.
  5. Check .htaccess files & Apache error log.

^In almost all cases, the fix can be found by starting with one of the above. If, however, you’ve made it through the list and you’re still unsure, you can always escalate the ticket to Reclaim’s support team with the following information:

  • Contact information for the user in question
    • first + last name, email address, domain name, user’s IP address
  • Screenshot of the error
  • What the user did to receive the error
  • When the issue first occurred
  • The steps you took to provide a fix

Post Icon Credit: “Support” by Gregor Cresnar from the Noun Project


Fixing Permissions

Fixing permissions of Files and Folders in an account can be a helpful step in troubleshooting a web error of your own, or someone else’s support request. Reclaim Hosting has Apache software on all servers, both Shared Hosting and Domain of One’s Own, to run behind the scenes and handle all content on the server. The software’s job is to accept requests from clients and then send responses to those requests. Apache receives a URL, translates it into a program or file name, executes it, and then sends it back to the requester. If Apache can’t complete this process, it throws an error (discussed in depth in other posts).

Sometimes permissions to handle these requests may be set too openly, which can also cause Apache to send an error to the user. All Reclaim users technically are permitted to reset their own permissions, as Reclaim servers have a shell script located at /root/fixperms.sh– this will fix permissions in the cPanel automatically (this includes all directories, not just public_html). To fix permissions on a specific account, run the following command:

sh fixperms.sh -a cpaneluser

^Make sure to replace cpaneluser with the cPanel username of the account you’d like to fix.

If you’re only really needing to fix permissions on a single directory, not the full cPanel account, navigate to the top folder in terminal and run the following commands:

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

^Please note that these commands should never be used at the root of an account, but always in public_html subfolders.


Transferring Account Ownership

Occasionally we’ll get support tickets asking us to transfer the ownership of a hosting account and/or domain. This is common if leadership positions change within an organization, or if the student running a club website on a DoOO instance is graduating. The admin process for transferring ownership is essentially the same regardless of your setup:

  1. Make sure the new user already has an account. If this is on a shared hosting server, you can manually create the account for them, or ask them to sign up for an account. If this is Domain of One’s Own, the new user will have to have previously logged into your DoOO environment at least once (they don’t need to signup, but just log in). If the new user already has an account, you’ll need to give them a reseller account in WHM.
  2. In WHMCS search for the hosting account that you’ll be associating with a new user. Go to the Product/Services tab and click Move Product/Service.

Read more


Understanding .htaccess

All Reclaim Hosting servers run Apache Web Server Software. So when an account is provisioned the server creates a directive telling Apache what a user’s domain is and where the files for that domain are located on the server. A single server is able to host multiple sites this way because Apache reads the domain URL and then looks at its list of folders and information about each domain it has a record for and then displays the contents of the right URL.

What is a .htaccess file?

.htaccess is a configuration file that is used on all servers running Apache. The .htaccess file allows you to enable/disable Apache functions and capabilities, so it’s essentially your personal overriding feature. A .htaccess file is loaded, detected, and executed by the Apache Web server software. Though the .htaccess file sometimes comes with a few lines by default, we can write commands of our own to redirect away from 404 file not found errors, for example.

What’s something that happens by default in .htaccess? The WordPress .htaccess file will redirect labrumfield.com/index.php to labrumfield.com because there’s a rule that will tell the server that index.php is what the server should display.

What’s an example of why I would need to edit the .htaccess file? In a scenario where someone migrated a site from WordPress to Ghost, editing the .htaccess file would be helpful to redirect all old WordPress URLs and permalinks to their new location. A user may also be interested in editing their .htaccess file to force HTTPS onto their siteRead more


Generic HTTP errors: Turning off Plugins & Themes

Occasionally you’ll go to a website and get a very general HTTP error 500 like the one shown above. Aside from “This page isn’t working” (well, duh) there really isn’t much to go off of. Naturally, the next chain of events would be to log into the WordPress dashboard and figure out what’s going on, but a lot of times that’s broken as well. So as a starting point, defining an HTTP error 500 can be helpful before understanding how it relates specifically to a single site.

HTTP error 500: The server encountered an unexpected condition which prevented it from fulfilling the request.

While that doesn’t sound like much for pointing us in the right direction, it’s more helpful than you think. It tells us what errors are not happening. For example, we know that there aren’t any temporary redirects on the site (error 307), we know that there wasn’t a network timeout (error 599), and we know that there’s definitely content at the URL, the server just doesn’t know what to do with it (error 404). P.s. if you’re ever in need of a full list of HTTP Error codes, this one is great.

Read more