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: 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 to

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/– 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 -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.

Continue reading “Transferring Account Ownership”

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 to 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 siteContinue reading “Understanding .htaccess”

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.

Continue reading “Generic HTTP errors: Turning off Plugins & Themes”

Running a Repair Function in Installatron

When the user in a Domain of One’s Own instance clicked on Installatron Applications Installer in their cPanel, they got the following error: To fix this, you’ll need to run a repair function on Installatron. Depending on how many accounts there are on the server, there are two ways you can do this.  

via Web Interface

Login to WHM and go to PluginsInstallatron Admin Interface:
^Click run Installatron Update/Repair.
It’s worth noting that this option can take a while because it will cycle through all installs on the server. So if you’re looking for a quicker method, keep scrolling!

via SSH

Use SSH to log into the server & run the following commands:
rm -fr /usr/local/installatron/lib /usr/local/installatron/etc/php.ini
curl -O
chmod +x ./ -f --quick
^This repairs Installatron itself, not all of the individual installs on the server.

Restoring a Full cPanel Backup on the Server

If for whatever reason a user needs their account restored from a full cPanel backup, or if a user is migrating to Reclaim Hosting & has provided us with a cPanel backup, the restoration process is actually quite simple:

  • Make sure that the user has signed up for an account so their domain has been pre-assigned to a server.
  • Log into the root folder of the server via FTP & upload the cPanel backup:

  • Once the backup has been uploaded successfully, log into WHM & search “Restore” in the left sidebar. Select Restore a Full Backup/cpmove File:

Continue reading “Restoring a Full cPanel Backup on the Server”

Testing a Migration: Editing Your Host File

When conducting a site migration, it can be really helpful to see if the move worked properly & the site is functioning before pointing nameservers & making the change live. In a lot of cases, data will transfer “successfully” but then actually require a few extra tweaks before the site is online. Simply put: you need to test the migration before you make it live.

So, to tell our individual computer to look somewhere else before loading a website, we’ll have to edit the host file on our computer.

Continue reading “Testing a Migration: Editing Your Host File”