So, there you are - sitting looking at a couple of emails: one with the keys to your domain name, one with the keys to your website, and now you're going to have to get your act together and actually put WordPress on your site but you really don't know where to go next.
Well, you have two options:
- You can use an automatic installer (usually provided by your web host, something like Fantastico, Softaculous, or Installatron).
- You can install it yourself.
Now, because this series is about really getting under the hood of what we're doing, let's focus on a full manual install.
Stay with me, it's not too difficult if you follow the instructions methodically.
Before We Start
- Log in credentials for your hosting control panel
- FTP log in credentials (quite possibly the same as the control panel log ins, all this info should be in the welcome email we mentioned in the first paragraph!)
- An FTP client (software)
Here's an outline of the process we'll be going through:
- Setting up your tools
- Downloading and unzipping the WordPress (WP) files
- Setting up your MySQL database
- Uploading the WP files to your server
- Connecting WP to your database
- Running the install script.
- Naming your site and creating your site user.
1. Setting Up Your Tools
Because we're going to be connecting directly to our file space on the sever we need access to an easy to use interface between our computer and our server.
The kind of software that provides that interface is called an FTP* client which is a piece of software not unlike Windows' Explorer, or Mac's Finder but instead of accessing just your local file system, it bridges your local files and your remote files (web hosting file system) so you are able to copy files from your local machine - your laptop or desktop - to your remote machine - the web server.
As with all software, there are a huge number of different FTP clients available and as you get confident and want begin exploring other options you can ask around and see what people are using. For the purposes of this exercise I suggest you grab a copy of the FileZilla client, a free, platform agnostic tool that will get you started.
Once you've got a hold of the right version for your setup (Mac, PC, Linux etc.), open up the application and then open the Site Manger window (Shortcut = CMD/CTRL+S or click the small sites icon in the top left corner of your screen )
Taking the data you received from your host, complete the following sections:
Setting up your FTP client this way will mean you don't have to remember your log in credentials in future and can come back to it at any time, but if you want just to connect quickly you can add your credentials via the Quick Connect boxes in the top of FileZilla and get started pretty much immediately.
If you want added security over your connection - which I recommend - choose explicit TLS over FTP from the Encryption option, you'll be prompted to allow a security certificate access the first time you do this - allow the connection and you're on your way.
Finally, if you wish, you may then click the Advanced tab and in the section "Default remote directory:" type in the link to your home folder (usually /public_html ) - this isn't imperative but it means whenever you open your FTP client it will automatically open your main root directory on your remote server, where your WordPress install will live.
For now, leave this screen open, but don't Connect, we've a couple of other things to do first...
*FTP = File Transfer Protocol
2. Downloading and Unzipping WordPress
In your browser, navigate over to http://wordpress.org and download the latest version of WordPress, saving the zip file to your desktop. Then decompress/unzip that file which will put a directory called "wordpress" on your desktop or into the directory to which you've downloaded it.
Leave that directory there, we'll come back to that in a minute, too, next we need to get the database ready.
3. Setting Up the Database
This part is getting into new territory and can be a bit daunting, but hold tight, by the time you get to the end of this you'll be patting yourself on the back and telling your friends you've been tweaking MySQL and tripping them out with your nerd skills.
In this example, we're using the tools in our Control Panel (in this case cPanel, a pretty popular hosting interface) but the principles are the same whether you're on cPanel or Plesk or any other custom web hosting interface, follow along with me here and then if your control panel looks different, check out your host's documentation as to how to get this next part up and running using their tools. The principles will be the same even if the process is not.
- Open up your browser and log into the control panel for your hosting (for example http://mydomain.com/cpanel)
- To create the database and set it up we're going to use the MySQL Database Wizard which will take us through all three processes required:
- Create your Database
- Create a Database User and assign that user to your Database
- Finally, giving your Database User full privileges on the DB
1. Create the Database
You can call it whatever you like... but make a note of the name of your DB, you'll need it later.
2. Create the Database User and Assign It a Strong Password
You can also name the user whatever you want. Note down the name of your database user along with the password and database name. I tend to use the password generator and make a really strong password. But copy it somewhere safe, and write it down carefully, you're going to need it again soon and you need it to be right.
3. Assign All Privileges for Your User to the Database
This part allows your user, and by extension, WordPress to interact with the database.
OK, we're nearly ready to take the next step...
4. Uploading Your Files to the Server
Now it's time to go back to Filezilla or your FTP client and connect to your server - Hit Connect and the application will bring up the window which looks something like this:
There are a number of panels in that window and starting at the top they are...
- The Server connection pane that shows all the commands and responses you're sending/receiving to the server.
- On the next line there are two panels indicating which directories are currently selected, in the left pane, we're seeing the local machine (your computer) directories, and in the right, the remote machine directories (the server)
- Then there are the two panels that show the contents of the currently selected directories.
- Finally is the queue of files being sent/received between the local and remote machines (empty until we start transferring files).
Now that you're a little familiar with what you're seeing you need to make sure that the directory selected on the local side is the "wordpress" folder that we downloaded and unzipped at the beginning of this step.
You also need to make sure the remote directory selected is the directory you're planning on putting WordPress in. In my case above we're using a subdomain, so I'm putting it in a subfolder called testsite. For most installations you're likely to be putting it in the server's root directory (commonly called public_html or www).
When those directories are correct select all the files on the left and drag them into the right hand pane, FileZilla or your FTP client will then begin to copy the files from your local machine to the server.
Wait it out. The time the files take to transfer will depend on your connection speed.
When it's done you'll see that the queue has emptied, you should see that all files are transferred successfully, and if you right click the remote pane and select refresh you should see the pane refresh with a mirror of the file names in both panes (there may be additional files on the remote server, depending on what your host has installed in your new server space by default, in my example, you'll see a cgi-bin directory. Ignore that, it's not going to affect your WordPress install.
Ok, we're nearly there!
To recap, we've Installed an FTP client so you can put WordPress on your server, we've set up your Database ready to connect it to WordPress, downloaded WordPress, unzipped it and uploaded the WordPress files to your server. The next thing to do is tell WordPress where to find your Database, so have your newly created database credentials handy.
5. Connecting WordPress to Your MySQL Database
Open up your browser and navigate to your new domain, you should then see the following message on your screen.
"There doesn't seem to be a wp-config.php file. I need this before we can get started." This is good, it means WordPress is installed and we're ready to connect to our database.
Click the "Create a Configuration File" button which will open up a page asking you to be prepared with your Database credentials.
When you're ready, hit "Let's Go!"
Go ahead and fill in the form with your database credentials.
The database Host is most commonly the default 'localhost' so leave it as is. However, there may be some occasions when your web host calls their DB host something different, if this step doesn't succeed and you've checked your db name, user and password, check with your hosting details, or directly with your host as to what your DB host should be.
The table prefix, by default will be
wp_ and it's considered best practice to change this to something else as a security measure. You can change it to anything, and you can see in the image I've changed it to
xprt_ (finish it with an underscore just to keep some separation between the table prefix and the table's name).
When you've got all your form fields completed, press Submit to move onto the next step.
6. Naming Your Site and Creating the Site User
Once you hit Submit, you should be able to see the Welcome screen and a form to complete in which you name your new site and complete some important details with regards to your site's user credentials.
You can see below, I've called my site 'My New Website', and created a user called 'myname'. I've put in an email address, and finally, I've unchecked the Privacy checkbox in order to discourage Google from indexing my site until I'm ready.
No sense in Google or other search engines scouring my site when there's no content in it, right? We'll turn that back on again when I'm ready for the general public to know about it, as well.
The next step is to hit the Install button which will build the database tables in our database and populate our site with some temporary content.
There you have it - you should now be able to see the 'Success!" message and an invitation to Log In.
Hit the Log in button to show the Log in Form.
You can now log in here to have a look at your dashboard (we'll look at that more next time) or hit the " ⟵ Back to [Name of your site]" to see your new site! It will likely look something like this...
Congratulations! You're now rocking a brand spanking new WordPress install of your very own!
WordPress is famous for its 5 minute install. While it's reasonably safe to say it takes 5 minutes or less to get the site installed once you've got the files in the right place and the database up and running, there are a few steps, that first time around will take a little longer than that.
Having an understanding of the process rather than simply letting an auto installing script do the fiddlier work will make future 'under the hood tinkering' faster and a lot less daunting.
This technical baby step install is a great place to start getting comfortable with some of the more technical aspects of your WordPress installation.
Congratulations and welcome to the WordPress user community, we're glad you've joined us!