cPanel Installation Guide
Pre-Install Notes
In order to run the cPanel software you must first be running a supported OS. cPanel lists their supported operating systems on their website at http://www.cpanel.net. Although there are many to choose from not every OS listed works flawlessly. If you're looking to have the least amount of problems and ease of administration we highly recommend you choose CentOS as your distro. CentOS is a recompile of RedHat Enterprise, and our research has shown that CentOS is the most widely used and easily supported distro when running cPanel. Note: cPanel currently does not support distributions other than CentOS, RHEL, & FreeBSD. Please be aware of this when installing your OS!
cPanel also recommends that the server it is being installed on is a clean and fresh install. This means that if you previously had done any configuring or ran another control panel software that they recommend you reinstall the server.
Installation Process
cPanel has made the installation process a simple one and only takes a few commands to get the install going. Most Many of these steps can be omitted depending on how you deployed your OS, but we have been verbose here to ensure all pre-requisites are satisfied. Below are the steps:
- Log into your server as root via the console or SSH. If you are installing cPanel via your VPS console, please see our guide here on using your VPS console.
- Ensure your resolvers are working by trying to resolve cpanel.net
nslookup cpanel.net
- If nslookup does not work, giving a 'command not found' error, you can use yum to install the necessary packages:
yum install bind-utils.i386
- If you get an error about not being able to resolve the host, you need to edit your /etc/resolv.conf and add proper resolvers. For servers in our network, the following command will suffice. If you are not in out datacenter, you will need to find out your host's DNS info:
echo -e "nameserver 204.10.37.212\nnameserver 204.10.37.58" >> /etc/resolv.conf
- Satisfy cPanel's pre-requisites:
yum -y install wget perl screen
- Download cPanel's installer:
wget http://httpupdate.cpanel.net/latest
- Start a screen session so you can resume the cPanel install at a later time to check on it's status if you close the window or lose connection:
screen -S cpanel_install
- To resume the screen if you are disconnected:
screen -r cpanel_install
- Now run the installer using sh or bash:
sh latest
The installer is now running and may take a hour to two depending on your servers hardware, OS, connection speed, etc.
Post-Installation Configuration
Once the installation is complete it's now time to log into the WebHostManager (WHM) and go through the wizard. Point your browser to https://your_ip_here/whm or https://your_ip_here:2087/. Accept the security warning (this is because the certificate is self-signed). You will then be prompted for a user/pass, enter root as the user and enter your root password in the password field.
Step 1: License Agreement
- Nothing complicated here, simply accept the licensing agreement and move on to step 2.
Step 2: Setup Networking
- Under the Contact Information heading enter the email address through which you will be contacted if your server has a problem in the Server Contact Email Address field.
- If you would like to be contacted via text messages, enter a phone number into the Server Contact SMS Address field.
- If you would like to be contacted via AIM, click the Server Contact AIM Name checkbox.
- If you would like to be contacted via ICQ, click the Server Contact ICQ Number checkbox.
- Under the Hostname heading enter your server’s hostname into the This Server’s Hostname field.
Remember: The hostname, in this case, must be a fully qualified domain name (FQDN). FQDNs are domain names that specify the exact location from the top level user domain to the root domain, when read from right to left. This hostname will require you to use 2 dots (.’s), for example: server.example.com. - Under the Resolvers heading enter a primary resolver IP address into the Primary Resolver field. Enter a secondary resolver IP address into the Secondary Resolver field.
- Under the Main Network/Ethernet Device heading eth0 will generally be selected. This is usually what you will want to leave as default unless you know what you're doing.
Step 3: Setup IP Addresses
If you only have 1 IP for your server, you may skip this step. cPanel will already have picked it up and assigned it as the default.
- Enter the new IP address(es) into the IP Address(es) to add field. You may use CIDR notation to add multiple IP addresses simultaneously. Refer to the Quick CIDR Reference Table at the bottom right of the screen.
- Remember: When using CIDR notation, enter the appropriate subnet mask for the range of IP addressess.
- Click Add Ip(s).
Step 4: Nameservers
This part of the Initial Setup feature allows you to configure nameservers. Nameservers are responsible for spreading your server’s DNS information throughout the Internet. You will need to use nameservers in order for visitors to access your website(s). You have two options for a server on our network. You may use your own nameservers as detailed below, or you can use ours. If you opt to use ours, you do not need to go through this configuration, however you will need to notify us whenever you have a DNS change to be made (including adding your domain initially). To configure your own nameserver:
- Select the nameserver software you would like to use from the list, or disable local nameservers, by clicking the corresponding button.
- Important: Read through the advantages, disadvantages, and notes before making a decision. The BIND nameserver software will be adequate for most servers.
- Next, you will need to choose nameserver domains. You will need to add these at your domain registrar before they will work. To add nameserver domains:
- Enter the first nameserver into the Nameserver 1 field. Most nameservers follow the naming convention ns1.example.com and ns2.example.com, where ns stands for nameserver and example.com is meant to stand for your domain name.
- Enter the second nameserver into the Nameserver 2 field.
- If possible, you should add nameserver domains to the Nameserver 3 and Nameserver 4 fields. Having additional nameservers configured for your server will improve uptime if anything should happen to the first 2 nameservers.
- The last step in configuring your nameservers is to add A entries for your nameserver domains. A entries are records on your server that couple the domain names of your names servers to their corresponding IP addresses. To add A entries for your nameserver domains:
- Click the Add “A Entries” for all Nameservers checkbox.
- Enter the IP addresses for each of your nameservers listed below.
- Click Add “A Entries” for Hostname if you would like to add an A entry for your server’s hostname.
- If you clicked the Add “A Entries” for Hostname checkbox, enter the IP address for your server.
Step 5: Services
This area of the initial setup feature allows you to configure what services you and your clients will be able to use on the server.
- To begin, select which, if any, FTP server software you would like to use.
- The next step is to select a mail server. Leave the Convert Mailbox Format option checked if you opted to enable a mail server.
- The final step in configuring the services for use on your server is to select whether or not you would like to use the cPHulk software. cPHulk is a small program that will run in the background of your server to prevent people from using a brute force attack to compromise your machine. If you want to enable it:
- Click the Enable cPHulk checkbox.
- Use the checkboxes to determine:
- Whether to extend lockout time for each additional failure past the limit.
- Whether you will receive notifications when a brute force attack is detected.
- You may access cPHulk’s advanced settings by clicking the Configure Advanced Settings checkbox. Using the advanced settings you can:
- Specify the number of minutes you would like to block the IP address of a potentially malicious user (in the IP Based Brute Force Protection Period in minutes field).
- Specify the number of minutes to lock an account (in the Brute Force Protection in minutes field).
- Specify the maximum number of failed authentication attempts allowed by an account (in the Maximum Failures By Account field).
- Specify the maximum number of failed authentication attempts allowed by a particular IP address (in the Maximum Failures Per IP field).
- Specify the number of failed authentication attempts before an IP is blocked for 2 weeks (in the Maximum Fails Per IP before IP is blocked for two week period field).
Step 6: Set Up Quotas
This is the final stage of the Initial Setup process. You will need to select whether you would like to track disk usage on your server. This is generally a good idea if you plan to lease server space to individual users. However, if you do not plan to host individual accounts on your server (i.e. the server will only be for your own use), there may be no need to enable quotas.
Once you have finished, click the Finish Setup Wizard button. You will then be taken to the WHM home page. Your system is ready to use!
Additional cPanel Resources
A few other articles to help get you started using cPanel/WHM:
- Securing cPanel/WHM *Recommended*