Password protect a directory in CPanel

In this tutorial, we are going to show you how to Password Protect a directory using CPanel. CPanel makes this process very easy, with only four steps to complete. Once the directory is password protected, visitors to your website will only be able to access it or any directories beneath it by using a username and password combination that you create.

Password protecting a directory keeps it from showing up in a browser unless the visitor enters the right username and password. This is useful when you’ve made a part of your site that you don’t want everyone to see. For instance, if you’re working on a design for a client or you’re collaborating with a developer on a new section of your own site, you wouldn’t want everyone else to be able to see the unfinished work. Instead, you would put a password on that area so only the people who need to see it will be able to.

In this tutorial, we’re going to password protect the main directory of your website. This directory is called public_html, and applying a password here will lock every directory in your hosting space. If you only need to lock a specific directory, you can do so by choosing that directory in step 2.

Step 1: Selecting Password Protect Directories in CPanel


The first step to password protecting a directory is choosing the Password Protect Directories icon in CPanel, located under the Security section. Once you click it, you will choose the domain you want to work with. If you are using addon domains, you will have additional domains to choose from. If not, just hit the go button.

Step 2: Select the directory to password protect

Select the directory you would like to protect. To dig deeper into your directories, click the folder icon next to the parent directory. Do this until you find the directory you want to protect. Once you find the one you are looking for, click the name of it.

Step 3: Name your password protected directory


Once you’ve selected your directory, you are taken to the permissions page. Check the box that says “Password protect this directory”, enter a name for it and hit Save.

Step 4: Create a user to access the password protected directory


The last step is to create a user for this directory. Type a username into the Username field and a password into the Password field. If the password is not strong enough, CPanel will not accept it. You can use the Password Generator to have CPanel to create a password for you, but make sure to copy the password and put it in a safe place. When you are finished, hit the Add or Modify the Authorized User button.

Password Protected Directory Login Box
The username and password box will now appear for your password protected directory.

When each step is complete, your directory will be password protected. Since this is a recursive protection, every directory beneath will also be protected. For example, public_html will be protected, but so will public_html/images and public_html/clients.

When you’re ready to unlock the directory, take the checkmark out of the “Password protect this directory” box and hit Save.

That’s it! You’ve now learned how to quickly and easily password protect a directory using CPanel. For more tutorials on CPanel, WordPress, and other tools used by webmasters, visit us at and subscribe to our channel on Youtube.

How to Backup Everything in CPanel

In this tutorial we will show you how to take a full backup of everything in your CPanel account. This will make a zipped archive of your files, databases, email, and much more. The process is not only one of the easiest tasks to complete as a webmaster, but it is also one of the most important.

Step 1

Click on the Backup Wizard icon under the Files section of CPanel.

Step 2

Click the Backup button on the left.

Step 3

Click Full Backup

[info color=”light” ]Note: You can download individual backups from this same location, such as your Home Directory, MySQL Databases, and Email Forwarders and Filters.[/info]

Step 4

Choose a destination to store the backup file. The easiest will be to store in the Home Directory. You may also store using an FTP backup site.

A notification email will be sent to alert you when the process is complete. To receive a notification, enter an email address. If you would not like to receive a notification, you can select “Do not send email notification of backup completion.”

Hit Generate Backup

Once the backup is complete, you will have a link on this same page. You can refresh the page every so often or come back to it later. If you have chosen to receive a notification, CPanel will send you an email to let you know when you are able to download the file.

Clean up

After downloading the file to your computer and storing it in a safe location, such as Dropbox, Microsoft OneDrive, Google Drive or another off site storage method, you will need to go back and remove the file from your hosting account. The file will remain until it is removed.

To remove the file, click on File Manager in CPanel.

Next, select Home Directory from the popup menu. If the menu does not appear, click the Home link on your File Manager page (this usually appears below the Delete option).

Scroll down the main section of the page until you find your backup file. It will usually have a name similar to this: backup-1.6.2015_00-52-00_username.tar.gz . It will also have a permissions number of 600. Below is an example of what to expect to see.

A CPanel backup file will look similar to this. Instead of saying ‘username’, it will have your actual CPanel username.


Right click on this file and choose Delete. Confirm the request to delete by clicking Delete Files. This will remove the backup from the server.

You’ve now learned how to quickly and easily backup everything in CPanel. For more tutorials on CPanel, WordPress, and other tools used by webmasters, visit us at and subscribe to our channel on Youtube.

Manually Create a MySQL Database in CPanel

In this tutorial we will show you how to manually create a database in CPanel. When you use an auto installer to setup ready to go applications like WordPress, Joomla, or Prestashop, the database is created for you. For applications such as CodeIgniter or CakePHP, a database is not created and must be done manually.

Creating a database in CPanel can be done two different ways. We will show you the easy method using the MySQL Database Wizard.

Step 1

Click the MySQL Database Wizard icon under the Databases section. Enter a database name. Most web hosts prepend your CPanel username to your database name. Hit Next Step.

Step 2

Enter a database username. Like the database name, most web hosts prepend your CPanel username to your database username.

Enter a password or use the Password Generator. Hit Create User.

Step 3

Select the privileges you would like your database user to have. Depending on your application, you may need to apply multiple or all privileges. When you are finished, click Next Step to end the process.

You have now created a MySQL database in CPanel, complete with a user account attached. You can now use phpMyAdmin to populate the database with your tables and data. You can access phpMyAdmin from the Databases section of CPanel.

For more tutorials on CPanel, WordPress, and other tools used by webmasters, visit us at and subscribe to our channel on Youtube.

How To Create an FTP Account in CPanel

In this tutorial we will show you how to create an FTP account in CPanel. While your CPanel username and password will automatically work as an FTP login, there are times when you need to create a separate FTP login. One of the most common reasons is to allow a developer access to your website files. Another is to provide access for a third party service such as 6Scan.

Setting up an FTP account in CPanel is very easy. It is a simple two step process which can be completed in less than a minute.

Step 1

Click FTP Accounts under the Files section of CPanel.

Step 2

Enter the information requested. Create a login name and a password. Choose the parent directory you would like to provide access to. Since you are starting from the base of your web hosting account, you will have to start by typing public_html for any publicly available directories. You may also limit the amount of disk space an FTP account can use.

[info color=”light” ]Note: Entering only public_html in the Directory option will provide access to all public files and directories.[/info]

Once you hit the Save button, the account will be created. The username will be appended to the domain name to appear in email address format. You will access the account using the same FTP URL and Port provided by your web host.

You’ve now learned how to quickly and easily set up an FTP account in CPanel. For more tutorials on CPanel, WordPress, and other tools used by webmasters, visit us at and subscribe to our channel on Youtube.

Tips for giving a developer access to your hosting account

If you need to hire a developer, designer or any other type of contractor, there will likely come a point where they need to access your hosting account. If you’re using a control panel that allows multiple account logins, you may be able to create a login with limited access for the contractor to use. If you’re using a control panel like CPanel, one which only provides a single sign on, things can get a little more complicated.

Providing a stranger with your account login has risks, especially when there is live data on the account. If the contractor is someone you’ve only recently met from a site like Elancer, Guru, or Freelancer, you should lean to the side of caution. This isn’t to say that these developers are bad (I myself can be found on each site). It’s more of a warning to be aware that some lack a moral compass. Doing something damaging to your existing data or outright stealing information is well within the realm of possibility.

So what can you do in order to provide a developer access to your CPanel account? Depending on what the developer needs to do, you may be able to grant access to specific functions.

Create an FTP Account

If the developer needs to access your file system, you can easily create an FTP account in CPanel. We provide a tutorial here which can guide you through the process. Once the account is created, it will provide the developer access to the chosen directory (and it’s subdirectories) so they can work with the files within. Often times, this is all that is needed.

Once the developer has finished their work, you can delete the FTP account to remove access.

Install the Application Yourself

If the developer will be using an off the shelf piece of software such as WordPress, Joomla, Drupal or Prestashop, they would typically need access to your account in order to setup a database. To avoid giving them access for this task, you can install the software yourself. If you have Softaculous or Fantastico on your CPanel account, you can instantly install any of the applications I’ve mentioned, along with hundreds of others. It will create the file system, database and database user in about one minute.

Some applications require you to manually create a database. Application frameworks like Codeigniter, CakePHP, and Laravel are pieces of code used to build on. There is no database until you create one. Fortunately, we also have a tutorial on manually creating a database in CPanel.

Reseller account

Having a new site developed when you have a reseller account is an easy process. Simply create a CPanel account for the developer to use. You can also limit the features of the account, such as removing Email or SSH. Instead of purchasing a domain, you can setup the account using a subdomain of an existing domain. For instance, if you have on your reseller account, you can create this account using the domain

Once the developer has completed their work, you will have a full working site in a real environment. From there you can backup the account and copy the files into your live location.

If you are a web developer, this is a great way to manage your own development. I make frequent use of creating under CPanel accounts because it allows me to work in a live environment without affecting the real website.

What to do after giving a developer your login

In some cases you may have to provide the master login for your account. If that’s the case, there are steps you must take in order to limit the various risks involved.

Make sure you have real contact information for the developer. Get as much information as you can. A single email address will not do it, especially if it’s a GMail, Yahoo! or other disposable address. At the very least, get a phone number.

Sign a contract. I myself have signed NDAs (non disclosure agreement) which are used to protect the client. I understand why they are necessary. Some developers like to show off their client list, which is fine. If you are OK with the developer doing so, put that in the NDA, but make sure there is information contained to prevent them from taking or utilizing your data without your consent.

Backup your data. CPanel makes this very easy. We have a tutorial which walks you through taking a full CPanel backup which automatically includes your files, email, database and more. If the developer breaks something that they can not fix, you will have a backup of your site.

Always change your password after you’ve allowed anyone into your control panel. Make sure it is a difficult password to guess. It’s also recommended to change the passwords on anything else you’ve given the developer access to, including databases, email, and content management systems.

Run a virus scan after they are finished. Part of my work has involved cleaning up after various developers. I could tell some very horrible stories of what I’ve found in customer accounts. The worst has been finding hacked files that were infected with malware. These files were likely from less than reputable sources, so the developer who installed them may not have been aware of their infections. The customer would pay the developer and soon after find their websites hacked or being used to blast out thousands of spam emails a day. This causes more headaches because a web host will often shut down a site if it is spamming, regardless of why it happened.

If you have an account with 6Scan or Sucuri, run it as well. If you do not have one, it’s recommend that you purchase one. Both companies make it their business to clean up hacked sites and prevent future issues. Even if you aren’t allowing a contractor into your site, either of these services are good to have to help prevent future issues.

Now that you have the tips to help you give a web developer access to your hosting account, you will have a much better chance of keeping your account safe. As a web developer and server technician, I know what can happen when bad developers get into your system. The information provided should help reduce the risk. If you have any additional tips, feel free to leave them in the comments section below.

Answers to Five Common CPanel Questions

To help beginning webmasters with CPanel, we have compiled a list of five common CPanel questions, complete with answers.

Can I have more than one username?

Unfortunately for some, the answer is no. CPanel only allows one login per CPanel account. In most cases, this is not an issue. For others, they may need to provide access for a developer and do not want to give out their primary login. If you need to provide access for a developer, we have an article that will help you out.

The Service Status page shows my disk is almost full but I don’t have many files. What’s going on?

Some installations of CPanel provide a link to view the service status of the server. What you’re seeing on this page is not your account, but the server as a whole. This confuses people at times because it can appear that you are using a massive amount of resources when you aren’t.

On a shared hosting account, always remember that this service status page is reading the whole server, which includes a few hundred other accounts as well. If you do notice that the disk is beginning to fill up (in the upper 90s), let your web host know. They may already be aware of the situation, but it doesn’t hurt to make sure.

Why does CPanel show one version of PHP when I’m using a switcher to use a different one? Is it broken?

No, CPanel is not broken. What you’re seeing on the sidebar of CPanel is the default version of PHP that is loaded on the server. Some web hosts allow PHP version switching so you to run a different version of the popular scripting language. Since CPanel is reading the server version, it will not reflect the same version you are using if you’ve switched.

To determine which version you are using, as well as much more about it, follow this easy 4 step tutorial to get information on your version of PHP.

AWStats says “There are no domains which have awstats stats to display.” Why?

If AWStats has not yet been activated, or was activated within the last 48 hours, you will see this message when trying to view the statistics page. To enable AWStats, click the “Choose Log Programs” icon.

To enable AWStats for every domain CPanel is controlling (including addon domains and subdomains), click the checkbox next to the AWStats column title. To enable AWStats for individual domains, click the checkbox for that domain under the AWStats column.

You can also activate any other statistics programs that your web host offers. AWStats can take up to 48 hours to begin showing statistics. Other programs offered will likely have a similar wait time while information is being gathered.

How do I start over?

Unfortunately there is no simple one click “reinstall” option for a CPanel account. If you would like to start your CPanel account over, you will need to remove all data that you no longer want. Below is a list of ways to remove various information.

Softaculous Applications

  • Click the Softaculous icon in CPanel under the Software/Services section.
  • In the top right corner, click the All Installations icon (it looks like a filing box).
  • Under the Options column, put a checkmark in the box next to each entry.
  • At the bottom, select Remove in the select box and hit Go.
  • Hit OK on the warning popup box. Softaculous will now remove every installation that was checked. This includes any Softaculous created files, databases and database users.


  • Click the Email Accounts icon under the Mail section.
  • Click Delete next to the email address you want to remove. Confirm that you want to remove the email account by clicking the Delete button that appears.
  • Repeat this for each address you want to remove. This will delete the address and all email for that address.


  • Click the MySQL Databases icon under the Databases section
  • Click the Delete Database link beneath Actions to remove a database.
  • Confirm that you want to remove the database. Repeat for each database you would like to remove.
  • Under Current Users, click the X icon under Delete for each user you would like to remove.


  • Click File Manager under the Files section.
  • If the File Manager Directory Selection popup comes up, select Web Root and Show Hidden Files. Hit Go.
  • On the secondary navigation (below the primary navigation, such as New File through Compress, and above the main area of the File Manager), click Select All. This will highlight all files and directories in your public_html directory.
  • On the primary navigation, click Delete. Confirm that you want to remove the files and directories.

[box color=”light” ]This will remove every file and directory under public_html recursively, so any files and directories under directories in public_html will also be removed.[/box]

There are more features of CPanel and your hosting account that you can remove and reset, but these are the core parts that are typically needed to be reset. If you need to reset your DNS, you can do so under Advanced DNS Zone Editor. I caution you not to modify your DNS if you don’t know what you’re doing, as this can cause issues with incoming traffic.

Have a question about this list? Post it in the comments section below.

The Trouble With Addon Domains

Many web hosts offer a feature called addon domains. This feature allows you to use more than one domain on a single hosting account, essentially providing hosting for multiple websites. While this may sound like a great idea, it can quickly become a nightmare.

Addon domains are added to your web hosting control panel. They tell the web server where to send traffic from that domain. When someone visits that domain, the web server directs the person to your account. Your account sends them to the directory you’ve created for your addon domain. As far as the visitor knows, the domain they are visiting is being hosted on it’s own account.

httpMany people use addon domains to avoid paying for additional hosting accounts or a reseller account. It’s easy to see why when your account allows you to freely add additional domains with no additional cost. So where do the problems come in?

Imagine you have ten websites that you would like to host. For our example, we’ll break them down further. In this example, you have:

2 storefronts using Prestashop
4 community forums using phpBB
3 business websites using Drupal
1 marketing blog using WordPress

Each website is running under the same control panel. This makes it easy to access them all because they are in the same general area. However, the hidden problems and dangers will soon creep up.

The Pool is Only So Big

Your web host provides a set allotment of server resources beyond the storage and data transfer rate that you focused on when signing up. You also have a set amount of CPU, RAM, Entry Processes, I/O, and Inode count. This allotment is the same for every account on the server, regardless of how many addon domains are being used.

Each addon domain will pull from this resource pool. While this won’t be a problem for low traffic sites with sufficient optimization, it will become an issue when your viewership increases. As more people view your web sites and the complexity of them is put to the test, the resource pool will soon begin to dwindle away. Soon you will notice speed and loading issues for multiple sites. You new wave of visitors will be meet with slow loading pages and error messages stating “Resource Unavailable” or perhaps database connection error messages.

Security Issues

frustrated-surfing-smallerAddon domains can also present a major threat to all of the web sites on your account. Imagine that one of the web sites on your account has a security hole that has not yet been patched. Perhaps you’re running an outdated plugin or theme which has a vulnerability you are unaware of. This vulnerability can become the doorway to all of your websites.

If a malicious attacker is able to access the filesystem of one of your websites, they will potentially have access to the rest of your web sites. This will allow them to deface and destroy files for every website under your single account, possibly harming the reputation of your web sites in the process. They may also use your account to send spam from, which can get the web server blacklisted by email providers and affect everyone on the server.

To make matters worse, an attacker could use this intrusion to gain access to your database and leak the information within to the world. One hole can lead to a lot of damage and headache for you.

Tons of Clutter

As you add more addon domains, the filesystem can become cluttered. I’ve worked with accounts in which people have hosted 50 addon domains under a single CPanel account. This can be bothersome as it takes longer to find things if they aren’t properly organized. Even when you do have sites neatly placed in various directories, you still have to find what you’re looking for.

Additionally, you have to face another issue known as inode usage. Inodes are a way for the operating system to keep track of files and directories. Each inode represents a single file or directory. Your web host will have a limit on the number of files you can have on your hosting space, even if they say the storage space is unlimited. As you add more web sites to your account, you will naturally be reducing your available inodes. Once you hit your limit your account can no longer accept files, and this includes receiving email.

Addon Domains are NOT for Reselling Hosting

Some people will use the addon domain feature to run a hosting business. This is simply a terrible idea on every level. In the case of CPanel, there is no way to provide CPanel access for your customers without giving them the master account login. If you give them that, they have access to everything, including other web sites you host.

You are also exposing every customer’s web site to the issues above. One malicious attack on a security vulnerability in a customer’s web site can effectively bring an end to the web sites for each customer you have.

In short, don’t try to build a hosting business off of addon domains. It can quickly lead to headaches.

Host Multiple Domains the Correct Way

woman-small-businessThe best way to host multiple domains is by using a reseller hosting account. A reseller hosting account provides a way to create single hosting accounts which you can use for your additional domains. This means that each domain can have it’s own control panel and allotment of resources. No more sharing CPU and RAM since each domain will have it’s own to pull from.

Using a reseller account will also help prevent malicious attacks from spreading to your other domains. If one web site is defaced, the others won’t be in the same filesystem to be discovered and suffer the same fate. This can save you hours of times since you will only need to repair one site instead of ten.

Hosting multiple websites under a reseller account also makes it easier to move a popular website when it outgrows a shared environment. Since the website will be inside of it’s own control panel account, your web host will have an easier time migrating it to a Managed VPS or Managed Dedicated Server. If it was an addon domain, it would be more difficult to move. In some cases the move would be your responsibility since the host may not offer migration services for addon domains.

Avoiding the Headaches

freaking-outI understand why some people choose to use the addon domain option. When you’re unable to afford additional hosting accounts or your web host does not offer reseller hosting, using the addon domain feature is your only option. However, keep in mind the issues that can arise. I’ve seen first hand how multiple addon domains can dissolve a shared hosting account’s resources like they were water. I’ve also helped repair the damage done to the web sites of dozens of addon domains when a single web site in the group was hacked.

If you can avoid the headaches, do so. Go with a reseller hosting plan if you need to host multiple domains. If your web host does not offer a reseller plan, find one that does.

Install Software with Softaculous in 1 Click

The web is a fast paced world. You want something that works just as quickly as you do. These days tools like Softaculous have made it much easier and faster for a webmaster to get software installed and working. But what can you install and how does it work?

What is Softaculous?

Softaculous is an automatic installer for web apps like WordPress, Joomla, PHPBB, OpenCart and Magento. It gives you a one click method to get your site software installed without the need to FTP all of your files, setup a database, and other tasks needed just to get the app activated. This can save you a lot of time, especially if your internet connection doesn’t upload very fast.

New and seasoned webmasters will enjoy how easy it is to use. In less than 2 minutes, you can go from nothing to ready by filling in a few form details and hitting Install. Most of the form is already filled out, so you may only need to set your login, email, and password to get going. If you make a mistake or miss anything, you’ll get an on screen error message to let you know what needs to be fixed. Most of the time, you can use the defaults, but it’s a good idea to change your login information before the software is installed.

Focus on using apps rather than spending time on installing them.

Softaculous is the current king of automatic installers, giving a webmaster rapid installation of over 100 applications. It does everything for you, from downloading the necessary files to creating a database. It even offers automatic updating and automatic backups for your installation. This way you can focus on building your content, while your site remains up to date and backed up automatically.

Where can I find Softaculous?

Many web hosting providers offer Softaculous. Because of the easy to use interface and power it brings, web hosts like A2 Hosting realize that their customers will benefit greatly with this feature addition. If your web host offers cPanel, check your Software/Services section for the Softaculous icon.

Softaculous is a popular auto installer offered by web hosts like A2 Hosting.
Softaculous is a popular auto installer offered by web hosts like A2 Hosting.

If you can’t find the icon in your control panel, check with your web host. These days, it’s hard to find a great web host who doesn’t offer Softaculous.