{"id":2221,"date":"2019-07-17T09:37:36","date_gmt":"2019-07-17T06:37:36","guid":{"rendered":"https:\/\/upcloud.com\/global\/us\/resources\/tutorials\/get-started-cpanel-whm-centos\/"},"modified":"2019-07-17T09:37:36","modified_gmt":"2019-07-17T06:37:36","slug":"get-started-cpanel-whm-centos","status":"publish","type":"tutorial","link":"https:\/\/upcloud.com\/global\/resources\/tutorials\/get-started-cpanel-whm-centos\/","title":{"rendered":"How to get started with cPanel &amp; WHM on CentOS"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Building a web hosting service would take an incredible amount of effort if it wasn\u2019t for the automation tools already available. One of the comprehensive solutions comes with cPanel &amp; WHM which provides you with all the tools needed for automating server management tasks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The WebHost Manager, or WHM, gives you an interface tailor-made for control and flexibility. It allows hosting providers to get the most out of their servers and offer the most to their customers. Manage hundreds of features built into cPanel or allow your customers to take control of their domains.&nbsp;Together with cPanel and WHM, you can take the lead on your customers\u2019 needs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Get started using cPanel &amp; WHM quickly and easily by following this tutorial!<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/signup.upcloud.com\">Try UpCloud for free!<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Sign up on UpCloud<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">First things first, if you have not yet registered on UpCloud, <a href=\"https:\/\/signup.upcloud.com\" target=\"_blank\" rel=\"noreferrer noopener\">begin by getting signed up<\/a>. Follow the link here to register for a free trial with a 30-day money-back guarantee!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">cPanel and WHM requirements<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before getting started with installing cPanel and WHM, you\u2019ll want to take a look at the system requirements. You need to have the following:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Networking requirement<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A<strong> fully-qualified hostname<\/strong> that does not match any of your server\u2019s domains, e.g. <em>cpanel.example.com<\/em> and that <strong>resolves to a valid IPv4<\/strong> or IPv6 address.<\/li>\n\n\n\n<li>A <strong>static IP address<\/strong> configured to a network interface. The system attempts to detect and set the ethernet device during the installation process.<\/li>\n\n\n\n<li><strong>Disable firewall<\/strong> at the OS level before you run the cPanel &amp; WHM installation. When the installation process finishes, configure a firewall with a third-party client, cPanel recommends APF or CSF.<\/li>\n\n\n\n<li><strong>Disable Network Manager <\/strong>before running the cPanel &amp; WHM installer. The Network Manager service automates the network\u2019s settings and can disrupt connections to the IP addresses that reside in the IP aliases module.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Hardware requirements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A compatible 64-bit operating system version of <strong>CentOS<\/strong>, CloudLinux, or RHEL<\/li>\n\n\n\n<li>Minimum <strong>1 GB of RAM<\/strong>, while 2 GB is recommended<\/li>\n\n\n\n<li>The minimum of <strong>20 GB storage<\/strong>, 40 GB recommended<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Other requirements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cPanel is designed for commercial hosting and can only be licensed on <strong>public static IP address<\/strong>. The license is not free but you can follow this guide perfectly well using their free trial.<\/li>\n\n\n\n<li>cPanel &amp; WHM should only be installed on a <strong>freshly deployed operating system<\/strong>.<\/li>\n\n\n\n<li>Log in to the server as the <strong><tt>root<\/tt><\/strong> user in order to install cPanel &amp; WHM.<\/li>\n\n\n\n<li><a href=\"https:\/\/securedownloads.cpanel.net\/\" target=\"_blank\" rel=\"noopener\"><strong>Use the cPanel &amp; WHM installer<\/strong><\/a>, which installs all of the required services. Installing other services before cPanel &amp; WHM is likely to cause compatibility issues.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">We\u2019ll be showing you how to fulfil most of the requirements while deploying the server and making the pre-required configurations. However, you will need to <strong>register a domain<\/strong> and <strong>delegate the cPanel server as your domain\u2019s nameserver<\/strong> to get everything working.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Deploy a cloud server<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To get going, begin by deploying a new server. First, log into your UpCloud control panel and select Deploy a Server under the <em>Servers<\/em> section.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The deployment page shows a number of options for customizing a new cloud server.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Choose the server location from the available data centres, the closest location to you will often give the best experience<\/li>\n\n\n\n<li>Next, pick a configuration. cPanel requires at least 1GB of RAM and 20GB of storage so the $5 per month plan available on trial is enough, you can always upgrade the server later<\/li>\n\n\n\n<li>Select the CentOS 7.6 as the operating system<\/li>\n\n\n\n<li>Add any SSH keys you want to use<\/li>\n\n\n\n<li>Give your server a hostname and description, note that CPanel needs a fully qualifying domain name as the hostname e.g. <em>cpanel.exampel.com<\/em><\/li>\n\n\n\n<li>Deploy!<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">You can find more detailed instructions on server deployment at our <a href=\"https:\/\/upcloud.com\/global\/docs\/guides\/deploy-server\/\" target=\"_blank\" rel=\"noreferrer noopener\">newcomer\u2019s tutorials<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pre-requisites<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Your new cloud server is now been deployed and will soon be ready for action. Once the server status at your UpCloud Control Panel shows \u201cStarted\u201d, with the green icon, you are good to continue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Begin by logging into your new server using SSH. If you are unfamiliar with the method, take a quick look at our <a href=\"https:\/\/upcloud.com\/global\/resources\/tutorials\/connecting-to-your-server\" target=\"_blank\" rel=\"noreferrer noopener\">guides for <\/a><a href=\"https:\/\/upcloud.com\/global\/docs\/guides\/connecting-to-your-server\/\" target=\"_blank\" rel=\"noreferrer noopener\">connecting<\/a><a href=\"https:\/\/upcloud.com\/global\/resources\/tutorials\/connecting-to-your-server\" target=\"_blank\" rel=\"noreferrer noopener\"> to your server<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When you log into a new cloud server for the first time, it\u2019s good practice to install the latest updates as the first step.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">yum update -y<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">With that out of the way, you can start configuring the prerequisites cPanel needs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Firstly, <strong>set a static IP address<\/strong> for your server. The IP addresses are already assigned statically at the backend level but the server OS itself is still configured to use DHCP assignment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Check your current network settings with the following command.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ip addr<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Commonly the second network interface card (NIC) named <tt>eth0<\/tt> has your public IPv4 address assigned to it. An example below highlighted in red.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000\n   link\/ether 6e:d7:1b:bf:3a:5f brd ff:ff:ff:ff:ff:ff\n   inet <span style=\"color: #ff0000;\">185.20.139.167<\/span>\/22 brd 185.20.139.255 scope global eth0\n      valid_lft 53810sec preferred_lft 53810sec<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">In addition to the IP address, you will need the default public gateway which can be found with the command underneath.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ip route<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">default via <span style=\"color: #00ccff;\">185.20.136.1<\/span> dev eth0\n10.0.0.0\/8 via 10.1.4.1 dev eth1\n10.1.4.0\/22 dev eth1 proto kernel scope link src 10.1.7.180\n185.20.136.0\/22 dev eth0 proto kernel scope link src 185.20.139.167<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Next, set the address to static on the NIC with your public IPv4, <tt>eth0<\/tt> in this case. On CentOS hosts, each NIC is controlled by its own configuration file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open the following network interface file for edit using the command underneath.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">vi \/etc\/sysconfig\/network-scripts\/ifcfg-eth0<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You\u2019ll need to change the <tt>bootproto<\/tt> from <tt>dhcp<\/tt> to <tt>static,<\/tt> then add the <tt>IP address<\/tt>, <tt>netmask<\/tt> and <tt>gateway<\/tt> to the end.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">DEVICE=eth0\nBOOTPROTO=static\nONBOOT=yes\nIPADDR=<span style=\"color: #ff0000;\">185.20.139.167<\/span>\nNETMASK=255.255.252.0\nGATEWAY=<span style=\"color: #00ccff;\">185.20.136.1<\/span><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">After making the changes, save the file and exit. You will then need to restart the interface to enable the static configuration.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ip link set eth0 down &amp;&amp; ip link set eth0 up<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The restarting of the network interface should be fast enough not to cause the SSH connection to drop. If something goes wrong and you do lose connection, you can always reach your server using the Web console at your UpCloud control panel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next,&nbsp;<strong>disable the NetworkManager service<\/strong>&nbsp;to allow cPanel to install successfully. Use the following two commands to stop and disable the service.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">systemctl stop NetworkManager\nsystemctl disable NetworkManager<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then uninstall NetworkManager packages using the command below.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">yum remove NetworkManager -y<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">As mentioned, you will also need to&nbsp;<strong>disable the firewalld service<\/strong>. CentOS has a rather strict preconfigured firewall already installed which could cause an issue with the cPanel and WHM installation later on. Disable firewalld&nbsp;using the two commands underneath.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">systemctl stop firewalld\nsystemctl disable firewalld<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Afterward, uninstall the firewall with the next command.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">yum remove firewalld -y<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">That\u2019s it for the prerequisites. However, as an additional convenience, cPanel recommends that the installation command is run within a Linux screen session.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Linux screen command allows you to create a shell session that will stay active through any network disruption and allows you to return to where you left off.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Install the screen with the command below.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">yum install screen -y<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then, start a new screen session with the&nbsp;<tt>screen<\/tt> command.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">screen<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If you get disconnected for any reason, log back into your cloud server and use the <tt>screen -r<\/tt> command to resume your screen session.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing cPanel &amp; WHM<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now that all prerequisites have been met, you are ready to install cPanel and WHM themselves.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Installing cPanel &amp; WHM on your own server signs the server IP up for a trial license to use for 15 days free, with no strings attached and no limitations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The installation is easy and quick using the installer provided by cPanel. Any new installations default to the fast installation mode. If you want to customize your installation, follow the steps in the\u00a0<a href=\"https:\/\/api.docs.cpanel.net\" target=\"_blank\" rel=\"noopener\">custom installation documentation<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Install cPanel &amp; WHM using the following command<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cd \/home &amp;&amp; curl -o latest -L https:\/\/securedownloads.cpanel.net\/latest &amp;&amp; sh latest<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The installation process might take a moment but once done you\u2019ll see a confirmation similar to the output example below.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Congratulations! Your installation of cPanel &amp; WHM 11.80 is now complete. The next step is to configure your server.\nBefore you configure your server, ensure that your firewall allows access on port 2087.\nAfter ensuring that your firewall allows access on port 2087, you can configure your server.\n1. Open your preferred browser\n2. Navigate to the following url using the address bar and enter this one-time autologin url:\n<span style=\"color: #00ccff;\">https:\/\/94.237.46.145:2087\/cpsess2088094483\/login\/?session=root%3ajja2wE_GT2ndEFdT%3acreate_user_session%2ce78ec6c6754e9dda90efec96091ac8c9<\/span>\nAfter the login url expires you generate a new one using the 'whmlogin' command or manually login at:\nhttps:\/\/94.237.46.145:2087\nVisit https:\/\/go.cpanel.net\/whminit for more information about first-time configuration of your server.\nVisit http:\/\/support.cpanel.net or https:\/\/go.cpanel.net\/allfaq for additional support\nThank you for installing cPanel &amp; WHM 11.80!\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\nYour system kernel may have been updated.\nCurrent kernel (3.10.0-957.12.2.el7.x86_64) has been changed to: 3.10.0-957.21.3.el7.x86_64\nBefore rebooting the system, please ensure that the installed kernel version is compatible with your deployment.\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\nRemoving \/root\/installer.lock.<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Given that you see similar output, the installation was successful and you are ready to start configuring your cPanel server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next, open the WHM web interface using the one-time autologin URL as shown in your installation output. The example above has the one-time login URL highlighted.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the new installation landing page, read and then accept the terms and conditions by clicking the <em>Agree to All<\/em> button.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/whm-legals.png\" alt=\"WHM legals\" class=\"wp-image-9629\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Next, enter the email address you wish to use to receive status notifications.&nbsp;Then add nameservers your domain will use. For example, if your cPanel server hostname was <em>cpanel.example.com<\/em>, the nameservers should be called <em>ns1.example.com<\/em> and <em>ns2.example.com<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once done, click the <em>Finish<\/em> button to confirm.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/whm-email-nameservers.png\" alt=\"WHM email and nameservers\" class=\"wp-image-9631\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You will then be automatically logged into the WHM control panel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuring WHM<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">cPanel and WHM should now be installed and ready to be configured for your domain. When you log in for the first time you\u2019ll see page much like in the example picture below.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/whm.png\" alt=\"WHM control panel\" class=\"wp-image-9632\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Since the login URL is temporary and will expire, your first step should be setting a new root password.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Click the menu icon to open the sidebar and select <em>Change Root Password<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enter a new password twice, pay attention to the password strength, then click <em>Change Password<\/em> to save the change.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/whm-change-root-password.png\" alt=\"WHM change root password\" class=\"wp-image-9633\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Afterward, restart the server using the yellow notification if needed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When deploying your cPanel cloud server, you had the option to set the hostname. If you need to change the hostname, you can reconfigure it under <em>Change Hostname<\/em> option. Check that the server hostname was configured correctly.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/whm-change-hostname.png\" alt=\"WHM change hostname\" class=\"wp-image-9634\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Next, confirm the DNS resolvers were configured correctly. Go to the <em>Resolver Configuration<\/em> page and click the <em>Proceed<\/em> button.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/whm-set-resolver.png\" alt=\"WHM set resolver\" class=\"wp-image-9635\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Your cloud server should automatically receive resolver information from the network but you\u2019ll likely want to include your own resolver as well. Add the localhost IP <tt>127.0.0.1<\/tt> as the primary resolver and the UpCloud DNS addresses to the secondary 94.237.127.9 and tertiary 94.237.40.9 resolvers. Then save the settings by clicking the <em>Continue<\/em> button.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/whm-set-resolver-defaults.png\" alt=\"WHM set resolver defaults\" class=\"wp-image-9636\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The cPanel and WHM installation includes a fully featured domain name server for your cPanel-hosted domains. It allows cPanel to automatically manage your domain name records for any web servers you want to install.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Configure your own nameserver by going to the <em>Edit DNS Zone<\/em> page, select the DNS zone you wish to change, then click the <em>Edit<\/em> button.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/whm-edit-dns-zone.png\" alt=\"WHM edit DNS zone\" class=\"wp-image-9637\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In the DNS zone, you\u2019ll find the domain records for your cPanel server. While most of the records are preconfigured, you will need to enable the nameserver by adding NS records.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Add the ns1 and ns2 as the nameservers for your cPanel domain as by the example below. Make sure to also delegate authority to your cPanel nameserver over your domain. How this is done depends on your domain registrar but you can find some help at our <a href=\"https:\/\/upcloud.com\/global\/blog\/domain-name-system\/\" target=\"_blank\" rel=\"noreferrer noopener\">domain name instructions<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cpanel.<span style=\"color: #ff0000;\">example.com.<\/span>&nbsp; &nbsp;NS&nbsp; &nbsp;ns1.<span style=\"color: #ff0000;\">example.com.<\/span>\ncpanel.<span style=\"color: #ff0000;\">example.com.<\/span>&nbsp; &nbsp;NS&nbsp; &nbsp;ns2.<span style=\"color: #ff0000;\">example.com.<\/span>\nns1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;A&nbsp; &nbsp; <span style=\"color: #ff0000;\">server-ip-address<\/span>\nns2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  A&nbsp; &nbsp; <span style=\"color: #ff0000;\">server-ip-address<\/span><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/whm-set-nameserver-record.png\" alt=\"WHM set nameserver records\" class=\"wp-image-9638\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Next, set up a reverse DNS record for your cPanel server. You can do this straight at your <a href=\"https:\/\/hub.upcloud.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">UpCloud control panel<\/a> under the server settings and <em>Network<\/em> tab.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Click the pencil icon to edit the default reverse DNS name, enter your cPanel hostname, and click the check icon to save the changes. You can do this individually for all of your public IP addresses, both IPv4 and IPv6.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/upcloud-set-rdns.png\" alt=\"UpCloud set rDNS\" class=\"wp-image-9639\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Lastly, enable the WordPress Manager add-on to allow quick website deployment. Go to the <em>Install cPAddons Site Software<\/em> page on your WHM dashboard, click to select the WordPress manager, then click the <em>Update cPAddon Config<\/em> button to install the add-on.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/whm-install-wordpress-addon.png\" alt=\"WHM install WordPress addon\" class=\"wp-image-9640\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You\u2019re all set! Continue below to test out the installation by creating a new cPanel user and deploying a test page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Testing cPanel<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To be able to log into the other half of your cPanel &amp; WHM server, you need to create a new cPanel user at the WHM dashboard.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Go to the <em>Create a New Account<\/em> page and fill in the required settings by entering a domain, username, password, and email address. Then, scroll to the bottom of the page and click the <em>Create<\/em> button.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/whm-create-user.png\" alt=\"WHM create new user\" class=\"wp-image-9642\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Next, open your cPanel domain name at the 2083 port number on your web browser.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">https:\/\/cpanel.example.com:2083<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Log into your cPanel using the new user account you just created above.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/cpanel-log-in.png\" alt=\"cPanel log in\" class=\"wp-image-9643\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once logged on, you\u2019ll land on the familiar cPanel dashboard. Here you have the comprehensive tools to manage your web pages without the need to dwell into the command line.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/cpanel-dashboard.png\" alt=\"cPanel dashbaord\" class=\"wp-image-9653\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Since we installed the WordPress Manager addon earlier on the WHM side, you should be able to find the option at the bottom of the cPanel front page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the WordPress Manager page, deploy a new WP page by clicking the <em>New Site<\/em> button.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/cpanel-wp-manager-1.png\" alt=\"cPanel WP manager\" class=\"wp-image-9650\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Then select the domain you wish to install WordPress on and click the <em>Install<\/em> button.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/cpanel-install-wp-site-1.png\" alt=\"cPanel install WP site\" class=\"wp-image-9651\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The installation is really quick and once done you\u2019ll see a confirmation like in the example below.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/cpanel-wp-installed.png\" alt=\"cPanel WP site installed\" class=\"wp-image-9656\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Make a note of your WordPress username and password, then click the link to open your site.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If everything went well, you should see the WordPress default page underneath.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/upcloud.com\/media\/cpanel-wp-default-page.png\" alt=\"cPanel WP default page\" class=\"wp-image-9646\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It works! Congratulations, you\u2019ve successfully configured cPanel &amp; WHM on your cloud server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Other settings to consider<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Your cPanel &amp; WHM server is then ready to roll! However, you might still want to check through a few other settings. WHM includes a whole lot of further options to customize your server and improve server security.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Check AutoSSL settings<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">WHM can automatically configure pages with SSL certificates to enable HTTPS. The setting for this should be on by default but confirm that AutoSSL has obtained SSL certificates for your website.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open the <em>Manage AutoSSL<\/em> page and verify that the feature is enabled by having a provider selected, cPanel, by default.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the same page, you can also check the logs for previous SSL certificate runs, manage settings per user, and run AutoSSL for all enabled users.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Set up two-factor authentication<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The WHM installation includes brute force protections by default, but for the best results, you should configure two-factor authentication.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Go to the <em>Two-factor authentication<\/em> page, where you can set the 2FA policy per site and user.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enable the policy by clicking the toggle switch, then on the <em>Manage My Account<\/em> tab, click the button for <em>Set Up Two-Factor Authentication<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Scan the QR code with your preferred 2FA authenticator application and enter a security code provided in the field underneath. Then click the <em>Configure Two-Factor Authentication<\/em> button to&nbsp;confirm.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Consult the&nbsp;cPanel Security Advisor<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">WHM includes a very useful tool for checking for security issues and recommendations called <em>Security Advisor<\/em>. It can automatically test and check for multiple different configuration options and security features to help you maintain your cPanel server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Run the check by opening the Security Advisor page or by clicking the Scan Again button on that page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pay close attention to the Important issues highlighted in red while also taking a look at the Recommendations listed in yellow. Settings that have already been optimized are shown in green.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Awesome job! With cPanel &amp; WHM, you\u2019ve got the tools to run a web hosting solution at any scale.&nbsp;The cPanel interface allows your customers to manage their sites, intranets and ensures their online properties running smoothly, while WHM keeps you in control of server resources.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The trial accounts on both cPanel &amp; WHM and with us at UpCloud allow you to easily test your hosting options. Feel free to play around with the platform and you are sure to notice just how quick and snappy everything is. Our MaxIOPS storage technology gives you a clear advantage over other web host platforms. If you continue testing through your 3-day free trial, make sure to upgrade your account with a <a href=\"https:\/\/upcloud.com\/global\/docs\/getting-started\/accounts\/account-balance\/adding-balance-to-your-account\/\" target=\"_blank\" rel=\"noreferrer noopener\">single minimum payment<\/a> to keep your already configured cPanel &amp; WHM server.<\/p>\n","protected":false},"author":3,"featured_media":27535,"comment_status":"open","ping_status":"closed","template":"","community-category":[223,250],"class_list":["post-2221","tutorial","type-tutorial","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/upcloud.com\/global\/wp-json\/wp\/v2\/tutorial\/2221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/upcloud.com\/global\/wp-json\/wp\/v2\/tutorial"}],"about":[{"href":"https:\/\/upcloud.com\/global\/wp-json\/wp\/v2\/types\/tutorial"}],"author":[{"embeddable":true,"href":"https:\/\/upcloud.com\/global\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/upcloud.com\/global\/wp-json\/wp\/v2\/comments?post=2221"}],"version-history":[{"count":0,"href":"https:\/\/upcloud.com\/global\/wp-json\/wp\/v2\/tutorial\/2221\/revisions"}],"wp:attachment":[{"href":"https:\/\/upcloud.com\/global\/wp-json\/wp\/v2\/media?parent=2221"}],"wp:term":[{"taxonomy":"community-category","embeddable":true,"href":"https:\/\/upcloud.com\/global\/wp-json\/wp\/v2\/community-category?post=2221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}