In this tutorial I am going to teach you how to install WordPress in a way that will serve you for any situation: a hosting server, a corporate server or a local installation on a PC or Mac.
Within these installation variants, I am going to focus especially on the installation of WordPress in a hosting.
In addition, we will perform the installation with the cPanel tool. Virtually all good hostings use cPanel and that logically includes also the most popular hostings like ionos (1&1), BlueHost or SiteGround.
The installation in a hosting is the stage is the most frequent stage of the readers who come to this blog and surely, in general. Also, as you will see later, the installation of WordPress in the other scenarios works basically the same as doing it in a hosting.
Before starting with the installation itself, it is important that you are clear about what options to create a WordPress site exist, what their differences are and what the best is for you.
If you are clear about these differences, skip this section and go directly to the next (How to install WordPress in a hosting) where I already start with the concrete steps of the installation, but many people express doubts about this. So here is a little preliminary guidance.
Install WordPress – Options and their differences
The process of installing WordPress on a hosting server is quite simple.
The steps to install WordPress are basically these:
- Check that your domain is operational.
- Download the WordPress application from WordPress.org.
- Access cPanel from your hosting account or your own server (on your PC or from your company).
- Upload WordPress files to the server.
- Create and configure the database for WordPress.
- Start the automatic WordPress installer.
However, there are different scenarios for creating a WordPress site that should be clear before starting and that qualify this initial scheme somewhat.
In WordPress.com there is no installation
Let’s start with the simplest scenario, creating a blog with WordPress.com.
Although this is obvious, there are not a few users who are confused with this and who ask us, for example, what hosting to hire for a WordPress.com blog.
They are not clear that, although the product used is the same, a blog on wordpress.com is something completely different from a blog with wordpress.org and its own hosting.
In wordpress.com everything is already installed, it is a cloud service, the installation has already been done in wordpress.com, and you simply register a user account (similar to how it is done in Gmail, for example).
This initially simplifies your life, but the counterpart is that a WordPress blog created in this way, both in its free and paid options, is quite limited in its possibilities.
Instead, with wordpress.org (which is the version we use here in this post), as you will see later, you have to download the WordPress application and install it yourself on a server.
It is a little more than initial work, but the reward for this little extra effort with respect to wordpress.com is that this way you really access the full potential of WordPress, which is enormous, and you will have 100% control over your website.
Hosting server or local server which is better?
Before I commented that you can install WordPress on a hosting server, a corporate server or a local one.
The difference of hosting with these last two cases is that it already saves you a lot of work: in a hosting, the software environment you need for a website is already installed and ready to use (the web server, the database, etc.).
In addition, a good hosting provider will provide you with additional services such as corporate email, security measures (anti-hacking measures, backups, etc.) and the Internet connection of your server.
In the case of installing WordPress (or mounting any other type of web) on your own server, you have to install this entire database yourself. It is not trivial and there are many hours of work, plus the work of the future maintenance of this basic software and security configuration.
Thanks to software packages like Xampp this task has been greatly simplified, but even so, the numbers do not usually come out; that is, in front of a website mounted on a corporate server, hosting is usually much cheaper and, needless to say, much less laborious.
Another different thing would be to mount a small installation of WordPress with Xampp on a PC or Mac to mess around or make small developments and be able to test them without risk before passing them to your real site with hosting. In that case, a local installation with Xampp can be very interesting. We will see more about this later.
Installation with wizards versus manually
One last important decision point among the options you can choose from is the type of tool to use when you perform an installation on a hosting server.
Here you have two options:
- Perform the installation with the assistant of your hosting, different and specific to the hosting used.
- Perform the installation “manually”, that is, in the original WordPress way, “the famous 5 minute installation”, as they call it and it is always the same, install WordPress where you install it.
Virtually all hostings have installation wizards for a wide range of applications, including WordPress. The idea is to simplify the process for the user by hiding some details and making some decisions for him and that is what they recommend to their clients.
You can use it if you prefer, but I highly recommend that you use the installation without a wizard. I do it for the following reasons:
- In time it will take, at most, 1-2 minutes more than with an assistant.
- You really see what it is to install WordPress: the installation of the files, the creation of a database for the contents, the creation of a user for that database. They are a few very simple concepts that you should know. They will make your day-to-day easier with WordPress.
- You have 100% control of all the details. Attendees sometimes make poor decisions, such as presupposing a certain email for the administrator, which then does not exist.
There are more reasons to use option 2, but I do not want to entertain myself too much and the exposed ones already seem to me of enough weight so as not to go the way of the assistants.
The installation that I am going to follow in this tutorial is the original WordPress, both for the reasons mentioned and so that you can follow the tutorial, whatever hosting you have. Even if it were a hosting without cPanel (which I do not recommend), you can do it the same with the equivalent tools of your hosting.
How to install WordPress on a hosting
But let’s stop preludes and let’s get to work
Remember that we are talking about installing WordPress.org, therefore, you need a hosting. If you already have it, great, if not, you need to hire it first.
Having a contracted hosting, you are ready to start with the installation.
To do this, as you prefer, you can follow the installation process in the following video or, step by step in the text below with image captures for each step.
1. Check your domain
In order for your WordPress site to be visible in public, you logically need an Internet domain under which to publish that website.
When you hire a hosting, there is always a main domain associated with that hosting. That domain you may have contracted with your hosting or with a different provider.
In case you have hired it on the same hosting, you no longer have to worry about anything, but if you have it with a different provider, you need to configure the domain so that it points to the hosting you want to use it with (if you don’t know how to do it, the support of your domain provider must tell you).
Make sure you have the domain ready and working. If you are not sure, don’t worry; a few steps later we will check it.
2. Download WordPress from WordPress.org
The next step is to download the application from wordpress.org, the portal of WordPress.org in Spanish. As you can see in the screenshot below, it is a compressed .zip file
The application consists of a simple package of files with PHP code that we will then place in the appropriate folder on our hosting server.
3. Access cPanel
What we have to do now is upload the compressed file to our hosting server.
Access to your hosting server is done through cPanel. In order for you to access your cPanel, your provider must have sent you an email with the access data, that is:
- The cPanel access URL
- Your administrator user
- And your password
If you do not have this information, contact the support of your hosting so that they can provide it to you again.
An important tip is that you save the access URL to your cPanel as a bookmark in your browser; so you will always have it at hand.
Also save the username and password very carefully. If these data fall into the hands of another person, they will have full access to your website and your emails (if you use your hosting email). One of the main causes of hacked websites is laxity with security measures as simple as this one.
Once you have entered your username and password, a screen very similar to one of the following two should appear:
Since cPanel supports theme (layout templates), the appearance of the interface can vary considerably, as you can see if you can compare the screenshot above this paragraph with the next one, which comes a little further down.
However, both screens contain exactly the same functional elements. The differences are all by design.
For example: the search engine to locate the different modules of cPanel such as the file manager, databases, etc., above is the field that says “Quickly find the functions by typing here” and in the capture and below the widget in the bar left side “cPanel Search”.
In the tutorial we are going to use the template that you can see in the first screenshot, since it seems clearer and also more aesthetic.
Look at the icon at the top left, the File Manager. This is where we are going to enter now to upload the WordPress application files to the server.
4. Upload WordPress files to the server
If you click on the file manager icon in the screens above
This is the view of the file system of your hosting server, similar to what you see, for example, with Windows File Explorer on your computer’s hard drive.
As it is a shared hosting, what we are seeing, in reality, is not the entire disk of the server, but the “piece” that we have been assigned for our account. If you look closely, you can see in the left panel (above), what is hanging under the “home / c2cero ” directory.
Of all the folders seen here, we are really only interested in one: public_html. Take a good look at it. It is possible that in some hosting, this is also called “www”, but the normal is public_html. You can even find the two folders where one is a shortcut (an alias) to the other.
This public_html folder is very important because it is the one associated with your primary domain.
That is, the files that are here and in successive subfolders are the ones that will be seen under your domain.
If you download, for example, the file “test-domain.html” below and place it immediately under public_html, you can access it under the following web address (replacing “yourdomainprincipal.com” with your domain):
Downloading this file, placing it in public_html and accessing the URL above is an easy way to check that your domain is operational. If everything is OK, it should show you this message:
If we had created a “tests” folder inside public_html and within tests the aforementioned file, the access URL would have been:
This is the default operation and the most used by far. It can also be sophisticated, if you want, by creating a folder in public_html for each domain, which would allow us to host several websites with different domains. But these are already topics that require a little more advanced special configuration and that are completely out of the scope of this tutorial. So we ignore it, but you should know that the possibility exists.
Understanding the basic philosophy of your server’s file system, let’s upload the WordPress application. To do this, click on the “Upload” menu that you can see above in the screenshot, and then on the “Select file” button seen in the screenshot below to take the WordPress file from your computer.
When you have selected you will see how a blue progress bar appears that indicates the status of the upload, as you can see in the image above this paragraph.
Once the upload is complete, click the “Back to … / public_html” button below.
This will take you back to the contents of public_html where you will see the .zip you just uploaded:
Since the compressed file as it is not worth it, we must decompress it to install the WordPress files.
Luckily, cPanel can also do this: select the .zip and click the “Extract” option, as you can see in the screenshot above.
You can see the result in the following screenshot:
Note that when unzipping, the “wordpress” folder was created since the .zip also contained it. In it are all the other files. However, that is not the right place to install WordPress. The correct place is directly in public_html, that is, we have to move the files from “wordpress” to “public_html”.
Since we are going to move the contents of “wordpress” to this location, it is not convenient that there are other files here, since we would be mixing websites. In normal mode, with a single domain, without folders differentiated by domain, public_html will be exclusively for the WordPress website.
In particular, it is important that there is no file type “index.html” or “index.php” in public_html. That would give us trouble.
Therefore, if you already had things that you want to keep, it should be moved from here. In the example I have created the “tmp” folder precisely for this; so we put all the “old” things here and we have them located.
After this, “public_html” has remained like this:
Now the only thing missing is to move the files that are inside “wordpress” to public_html.
This is also very easy in cPanel: we enter “wordpress” and with the “Select all” menu we select the complete list of files, as seen in the image below.
Then we can move all these files by dragging them, keeping the left mouse button pressed, to the public_html folder that is seen in the left sidebar.
Once the files are moved, we will see this inside public_html:
With this we already have the WordPress code files where they have to be and we already have the “wordpress” folder, since moving the files has left it empty. Therefore, we can delete it (make sure it is really empty before doing so).
We will keep the “tmp” folder, but be careful: whatever is in tmp will be visible on the Internet at the URL of:
Therefore, ask yourself if, for security, you really want it to be this way or if it is not better to take the contents of tmp to another site, to your personal computer, for example.
5. Create and configure the database
We are done with the files part and now touch the database part.
The main reason for needing to create a database is that WordPress stores the contents in a database, it does not store them as HTML files, which makes WordPress much more powerful.
To do this we return to the main cPanel screen by clicking on the CP icon at the top left on the cPanel screen. You can also enter the initial URL of cPanel again if you get mixed up:
Now, we search cPanel for the MySQL module. To do this, simply type MySQL in the search field, as shown in the image above. Among the icons that appear, select the “MySQL Databases” icon.
This starts the cPanel database management module:
And here I also want to make a very important comment: have an application such as the Windows Notepad or similar on hand, to write down three data that you will later need a little later in the installation:
- The name of the database.
- The user for the database.
- And that user’s password.
As we create these data, write them down because if you later forget them, you will not be able to continue with the installation.
In my case, as you can see in the image above, the name that I am going to use for the database is c2cero_installdemo.
We click on the “Create database” button and, if everything went well, the database creation confirmation screen should appear:
Now we are going to create a new user for the database. To do this, click on the “Back” link, you will return to the previous screen and you will have to scroll down until you reach the section that can be seen in the following screenshot.
As you can see in that same screenshot, the user that I am going to create is called c2cero_demo.
And on the same screen also enter the password you want. But for security, use a password that is not trivial to guess and in that sense provide a minimum of security.
After doing these actions, as before, a confirmation screen appears that everything went well:
To finish this part, only one step is missing: give the user access permissions on the database that we have just created.
This section is on the same screen as before, still a little lower.
To perform this action, we select the database and the user, and link them with the “Add” button:
By doing this, cPanel will ask us what permissions (privileges) we want to grant to the user in question on the database.
As the permissions that WordPress needs to function are quite wide, here we are not going to eat our heads much and we are simply going to grant them all the permissions that are there by clicking on the “All privileges” mark, which will select all other permissions.
Also here will be a confirmation screen:
And with this we have also finished the configuration part of the database
6. Start automatic WordPress installation
In principle, we no longer need to work in cPanel. Now we already work from the web, that is, we access our domain, the main domain associated with the blog.
If you haven’t made a mistake in the previous steps, you should see this screen:
Here we are going to simply give the button “Let’s go!” which leads us to a first form in which we will have to retrieve the data that we wrote down before to fill it with them.
With these data we are “connecting” the WordPress application to our database:
We click on the “Send” button and this screen appears, telling us that now everything is ready to install the application. Click “Run installation”:
Also in the part of the automated installation of WordPress a series of data is requested.
In this case, it is the data for the blog itself, not for the database.
- The administrator user of your WordPress site(not to be confused with the previous database user, they are different things). This is the “boss” user of your website and can do everything on it.
- The password for that user. Here security is especially important, since with the username and password you can access your blog from the Internet. Therefore, use a very good password; otherwise, you will be exposed to hackers. For this reason, WordPress offers you a default one. You can use your own, but WordPress will warn you if it is considered too weak and will ask you to confirm that you really want to use a “weak” password, an insecure password.
- The email administrator. WordPress will communicate with you on different occasions by sending you emails, therefore, it needs an email address to send these emails to.
And once you click the end of this screen, WordPress will start the automatic installation, which will take a few seconds.
When the installation process has finished, you will see the following screen from which you can access the WordPress desktop that will be your WordPress workplace for creating content and managing WordPress:
When you click the “Login” button, WordPress will display the desktop login screen. I recommend that you take advantage of adding it to the bookmarks of your web browser, because you are going to use it constantly:
In any case, you can also always use this access URL:
Here you have to enter the WordPress administrator user and the password you just created. Be careful, the WordPress username and password, not the database username and password:
And the website that the other users will see under your domain will be this (it may change if you don’t use the exact same version of WordPress as the one in this tutorial):
And with this we have definitely finished the installation of WordPress
You can now create and publish content on your website, although to do things really well, we are still missing some settings that I will comment below.
Let’s now also talk about some other scenarios that occur in the installation of a WordPress site. I will not go into the details because each one deserves their own tutorial, but I do want to tell you, at least, the general lines of each one.
How to install WordPress on a local server
If you want to install on a local server, either on your personal computer as a test and development facility or as a real installation on a corporate server, the steps are actually the same.
The difference is that on a local server you have to take care of the part that has already prepared the hosting service for you: the basic software that is the software for the web server, the installation of a MySQL database and the installation of a PHP environment.
I will not go into depth on how to prepare a server with this basic software because it is completely out of the scope of this post, but I do leave you a post that describes one of the best options, which is a free software package the Apache Foundation that with a single installation prepares everything for you: Xampp.
In addition, there are versions of Xampp for Windows, Linux and Mac OS.
With this, installing WordPress is basically reduced to installing Xampp first and then installing WordPress in a very similar way as we have done here. It is not exactly the same because cPanel is not used in Xampp, but it works in a very similar way.
Migrate a WordPress site from another hosting
If what you really want to do is migrate a WordPress site that is already working on another site, really the way is not to install WordPress, as seen in the previous steps.
That case is simpler, it basically consists of making a backup of the site in the old hosting and restoring it in the new hosting, along with some adjustments such as the configuration of the new domain (in case it has changed, if not even that).
You can do this in two ways:
- A “manual” migration: basically consists of creating a copy of the WordPress files in the old hosting and also exporting the database. In new hosting, files are restored, the database is restored, and configuration details are set in wp-config.php (for example, the domain, if it changes, and the new database names, user, password, etc.).
- An automatic migration: this is done with specialized tools (plugins) such as Duplicatoror XCloner. I leave you as an example the following post:
Import a WordPress.com blog or Blogger
This case is quite frequent, since many people who have started with WordPress.com, Blogger, Squarespace, Webnode and the like reach the ceiling of the possibilities of these tools and realize that, to continue evolving in their project, they need to migrate your website at WordPress.org with your own hosting.
How to configure WordPress once installed
Now that you have WordPress installed, let me give you a tip: focus on creating the first content and spreading it that is your # 1 priority.
I am talking about the first 4-5 contents, since they will be the cover letter of your blog. That is what matters now and not that the site has a great design or other similar things, which are now flourishes.
That said, there are important things to configure on your blog, things that you adjust in a moment and will not distract you from creating the content.
I mean things like setting the time zone (important that scheduled posts are posted at the correct time), if you want to post the entries in summary or full mode in the feed, the order of the comments (from newest to most old or vice versa),
There are other issues that don’t get set up that fast, like installing a good design template (Divi is recommended here) or installing and configuring basic plugins on any WordPress site. But these are things you don’t need to do immediately; you can deal with them as you go along with your first content.
Creating a blog or WordPress website with your own hosting is not as trivial as opening an account in cloud services such as Blogger, WordPress.com, Wix and the like. But, as I think you have seen in this post, it is not a titanic task either, it is something that with a good guide you can do in a matter of minutes.
In exchange for this small investment in effort and time, you will access a potential light years from cloud solutions without mentioning that, in addition, you will have 100% control over your website and you will not be captive of the cloud service in question, in which you have created your website.
And finally remember that on a WordPress site with hosting, logically, the choice of hosting is critical, it will be the basis on which everything else will work.
Good hosting today is not expensive, but you have to choose your provider well.
The best providers that I can recommend for my good experiences, and in this order, are Ionos (1&1), SiteGround and BlueHost.
If you are looking to speed up the maximum prices (I do not recommend it), the most decent ones I have tried are 1and1 Ionos and Hostgator. They have an acceptable quality and very aggressive discounts.