In this guide, I’ll show you how to install WordPress on your own website quickly and easily with FTP and cPanel.
For the sake of brevity, I’ll be making two assumptions. The first is that you previously registered your own domain and host it on a server that supports cPanel (almost all modern web hosts include cPanel). The second is that you have no other website, WordPress-based or otherwise, currently up and running on that server.
This guide is not for written for a specific type of website, and with it you can build a solid foundation for blogs, portfolios, online storefronts, and more. These are, more or less, the same steps I follow each time I deploy a WordPress website of my own. I’ve tried to keep it as free of unnecessary technical jargon as possible.
Finally, if you don’t yet have a registered domain and web hosting, Siteturner (and WordPress.org!) recommends Bluehost. They’re an inexpensive and reliable option for hosting your WordPress website.
I’ll be installing WordPress using FTP, without the assistance of automated cPanel scripts like Fantastico and Softaculous. They might be easier and faster, but they leave you with less control over your website in the long run. If you’re managing and maintaining your own website, you might as well get used to FTP sooner than later. You know, in my opinion.
1. If you haven’t got one already, download and install an FTP client. I recommend the excellent freeware client FileZilla, available for both PC and Mac. Take your time when installing it, though: the installation package available on SourceForge sometimes pushes sleazy adware disguised as ‘special offers’. Too bad about that.
2. Download the latest version of WordPress from WordPress.org and unpack the contents of the zip. Note the location of the resulting folder, so that you can easily locate it in FileZilla’s file browser later on.
3. Open Filezilla, or your FTP client of choice, and connect to your website. If you’re new to FTP, or using Filezilla for the first time, connect using the Quick Connect feature at the top.
In the host field, enter ftp.yourdomain.com (replacing the yourdomain.com with your actual domain name). The username and password are likely to be the username and password for your hosting account, and the same pair you use to log into cPanel.*
* Most web hosts will follow this convention. Some will not. If you are having difficulty connecting, try setting the host to yourdomain.com, omitting the ftp subdomain. If your username and password are not authorized, you may also need to create a unique FTP account in cPanel, and a separate username and password. The status panel at the top of the FTP client will provide you with clues when you’re having connection problems. Make sure there’s not a firewall blocking your FTP client.
4. Once connected, navigate to the public_html or www folder on the remote site (in FileZilla, this will be the panel/file browser on the right side), and upload the unpacked contents of the WordPress zip file you downloaded (locate these files using the file browser in the left panel).
5. Next, you need to create a database. Log into cPanel by navigating to http://yourdomain.com/cpanel in your web browser of choice. Once you’re logged into cPanel, locate the Databases panel, and click on the MySQL Database icon pictured below.
Now you need to create a new database, create a new user, and assign that user permissions to access the database. Pretty exciting!
In the section named Create a New Database, enter the name of your new database in the field labeled New Database. I named mine ‘newwpdb’. (Note that there’s likely to be a preassigned database prefix. In my case, the prefix is despond_, the username of my hosting/cPanel account.)
Next, click the Create Database button. The database will be created. Go back, and you should now see it listed in the Current Databases section.
Look to the section titled MySQL Users. We want to Add a New User. Decide on a username and enter it into the username field, then pick a password and enter it twice. For security reasons, I recommend using the password generator. I’ve decided to create the user ‘newwpusr’. Once again, it will will be prefixed with despond_, the username of my hosting/cPanel account. The generated password turned out to be PpUA=}+zM-HN. That one looks pretty hard to guess.
Click the Create a User button. The user will be created. Go back, and you should see the new user listed in the Current Users section. At this point, the MySQL Databases page should look something like the screenshot below.
Finally, before you continue to the next step, you have to add the newly created user to the new database, and grant that user the database privileges WordPress requires.
Look to the section labeled Add a User to the Database. You’ll see two drop down forms, labeled User and Database. If this is your first time setting up a database and a user, and no others exist, the ones you just created will be pre-selected. If they’re not pre-selected, select the matching database and username now.
Click the Add button. You’ll be transported to the MySQL Account Maintenance page.
Here you can decide which privileges to grant to the user. This part is super easy. Check the box labeled All Privileges, which will automatically check all the boxes, and click the Make Changes button. Now you’re ready to install WordPress!
6. Navigate to your domain using your preferred web browser. If you successfully uploaded WordPress to the correct location on your server in step 4, you’ll be greeted with the “Welcome to WordPress” installation page. Click the Let’s Go! button to proceed.
Next, fill in the information about the database you just created, as illustrated in the screenshot below. (I’ve plugged in my own info.) You should be able to keep localhost as the Database Host, and use the table prefix wp_. If you do choose a new prefix, make sure that prefix still contains the trailing underscore. It’s just good practice.
Before clicking Submit and proceeding with the installation, let’s do one more thing: make sure WordPress can create the wp-config.php file, so we don’t have to do any copying and pasting. (That could cost you an entire two minutes!)
Head back over to your FTP client and reconnect. On the remote site, locate the public_html folder once again. Don’t open it: right click on it instead, and scroll to the File Permissions option at the bottom of the menu. In the Numeric Value field, enter 777 (checking every box) and click OK to update the permissions. This gives the WordPress installation permission to write to the server. But once installation is completed, don’t forget to go back and change the Numeric Value to 755.
Return to your browser and click Submit to create wp-config.php. Then proceed to the next step, which should look a bit like this the screenshot below.
Once you’ve filled everything out (and copied down your password, if you decided to stick with the generated one), click Install WordPress. And that’s it. Next stop is login form central, where you can log in to your fresh WordPress dashboard. WordPress is installed!
Fine, but what next? Now WordPress is installed, you might want to tighten up its security. Good news: we have a guide for that, too! WordPress Security: A Boiled-Down Guide to Toughening Up Your Website