It is easy to create a WordPress blog on your own cloud server. Please note, however, that some technical knowledge is required before you can go down the stairs.

If you are new to technology/programming and want to blog, there are many alternatives on the market. These include,,, and others.

However, this tutorial is intended for technicians who are familiar with the terms hosting, cloud server, domain, and so on.


I assume you have basic knowledge about blogs, cloud servers, hosting and domain. Also some Linux commands. Follow this article if you are a developer.

Steps to set up a WordPress blog on your cloud server

1. Installing a Cloud Server

If you already have a cloud server, skip this step. Other, please configure your cloud server by referring to this step. Many companies offer cloud computing services. So choose the one that suits you best. Let’s look at prices and possibilities before we make a decision.

Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure are the giants on this list. Digital ocean, AWS light tail, Vultr, etc. – are the ones that are suitable for small projects like blogs.

In this article I don’t want to explain the whole process of configuring cloud servers. Because I did it in a previous article. Vultr is my chosen service provider. Refer to the following manual.

You need to set up a cloud server to follow this article.

Once you have configured the cloud server in Vultr, you will have access to your server’s console.

2. Preparing the server for WordPress

So we have the Ubuntu server in our hands, and we have to prepare it to run WordPress or other PHP applications.

2.1. Installing Apache2

A web server is required to run WordPress. Web servers such as Apache2 and NGINX are widely used nowadays. In this tutorial we work with Apache2 and it can be installed with the following command.

sudo apt-get install apache2

2.2. Installation of PHP and extensions

WordPress is built on PHP. Therefore, PHP and some of its extensions must be installed on our server.

sudo apt php install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

2.3. Installation of MySQL

We now need to configure the database server for our WordPress application. MySQL is used as the standard database server for WordPress. We can install it by following these steps.

sudo apt offers installation of the mysql
client sudo mysql_secure_installation

Here we can install the authentication data for our MySQL server.

Enter the current password of the root user (no entry) : (Press the Enter key)
Root password? [Y/n] Y
New password : (Enter the password for mysql DB)
Enter a new password: (Repeat password)
Delete anonymous users? [Y/n] Y
Denying access to remote root? [Y/n] O
Delete and access the test database? [Y/n]  Y
Restart the privilege tables now? [Y/n]  Y

In the latest version of MySQL the support for the root user has been removed. This way we cannot migrate the database with the root user. Create a new user and give him all the privileges.

sudo mysql –user=root mysql
CREATE USER ‘username’@’localhost’ identified with ‘password’;
WARRANT ALL PRIVILEGES to *.* for ‘username’@’localhost’ WITH GUARANTEE OPTION;

2.4 Installing phpMyAdmin

With phpMyAdmin we can easily work with our database via the graphical user interface (GUI).

sudo apt takes care of the phpmyadmin installation

We need to specify the MySQL data we installed in step 2.3.

You can now open the phpMyAdmin panel via your browser.

http://[ ipv4_address_of_our_server ]/phpmyadmin
bv:- http://144.144.21/phpmyadmin.

Note:- If the error in generating the requested URL /phpmyadmin was not found on this server, follow these steps.

1. Open the apache2.conf file on our server with a nano editor.

sudo -H nano /etc/apache2/apache2.conf

2. Add the following line to the end of the file.

Activate /etc/phpmyadmin/apache.conf

3. Restarting the Apache server

Resumption of the Sudo apache2 service

3. Database creation

Our cloud server is now ready to run WordPress and we need to clone WordPress on our server. But first we want to create a database for our WordPress blog.

So, from your terminal, enter MySQL and create a database.

mysql -u username -p
USE db name;

  • Replace the username with the MySQL username we created in step 2.3.
  • Enter your MySQL password when prompted.
  • Replace dbname with the name of the database we want to use.

Alternative method (with phpMyAdmin)

You can also create a database with phpMyAdmin.

  • Open the link in your browser. http://localhost/phpmyadmin.
  • Now enter your username and password (which we configured during the installation of phpMyAdmin in step 4).

You can now see the phpMyAdmin panel where you can manage all MySQL databases.

To create a database, click on Create in the left menu. Enter a database name and click Create.

  • Click on the New tab.
  • Enter the name of the database
  • Make the press

4. Download WordPress

In this step we download WordPress from the official WordPress website and unpack it in the root directory of our standard web server (/var/www/html).

sudo apt get unzip installation
unzip /var/wwwww/html
cd /var/wwwww/html
mv wordpress MyBlog

We now have a directory called MyBlog in /var/www/html, which is the directory of our WordPress project. Change the resolution of this folder with the following command.

sudo chmod -R 777 /var/www/html/MyBlog

Note:- With this permission, all users can read/write and modify the structure of our WordPress directory. It is therefore preferable to use 755 instead of 777. But here, I’ve been walking since 777.

5. Start installation

We can now begin the installation of WordPress. Enter the URL in our browser as shown below.

http://[ ipv4_adres_of_our_server ]/MyBlog
bv:- http://144.144.21/MyBlog.

This brings us into the installation phase.

5.1. Select the language.

First select a language from the list. From now on, the entire website will appear in this language. Here we choose English.

5.2. Enter the data from the database (see section 2.3).

In step 2.3 we provided a username and password for the installation of MySQL. In the third step, we also created a database. Fill in the same data here.

5.3. Enter the administrator data.

Now it’s time to install the administrator data. Enter the username and password you wish to use to secure the management area of this blog. You must enter this information each time you access the control panel.

We are now going to prepare our WordPress website. The URL below (IP/IPV4 address of our web server) is the address of our website.

6. Access to the administrator dashboard

You can open the toolbar using the URL below.

http://[ ipv4_adres_of_our_server ]/wp-admin
, for example: http://4452.442.43/wp-admin.

Enter your username and password.

You will be redirected to our blog management panel.

7. RangeConnection

So our WordPress blog is ready. We can now link the domain name to our blog.

7.1. DomainPurchase

We can buy a domain from any domain registrar. Some of them are listed below.

This is where I choose Godaddy to buy the estate.

7.1.1. Domain search

Log on to and search for the domain. If it is available, add it to the cart.

7.1.2. SelectPackaging options

Godaddy invites you to purchase a private domain, email address and domain hosting. I’d rather skip these package options here.

7.1.3. Complete purchase

Complete the purchase by entering invoice and payment details. You can buy a domain for a period of 1 to 5 years. Here, I’ll buy it for a year.

7.1.4. Modify DNS

Now select My products from the top menu. Here you can see the domain you bought.


Click on DNS and add two new items.

  1. Save with the @-name and the value of the IP address of the server.
  2. A CNAME record with the name www and the value @.

7.2. Creating an Apache2 configuration

Our blog is now linked to the domain. However, if we want to host multiple sites on our server, we have to configure them separately. So configure apache2 from our server.

Create a MyBlog.conf file in your website directory.

sudo nano /etc/apache2/sites-available/MyBlog.conf

Add the configuration information as shown below (change the email address and domain name with yours).

ServerAdmin [Email Protection] DocumentRoot /var/wwww/html/MyBlog

Options Indices FollowSymLinks
AllowOverride all
Requirement granted all

RewriteEngine On
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301.L] RewriteCond %{SERVERNAME} [OF] RewriteCond %{SERVERNAME}
RewriteRule ^ https://%{SERVERNAME}%{REQUEST_URI} [END,NE,R=Permanent].

Use the shortcut keys below to save the file in Nano Editor.

Press Ctrl + O (Record)
Press Enter
Press Ctrl + x (Exit)

Turn on the configuration we’ve created.

sudo a2ensite MyBlog.conf

Enabling the mod_rewrite module for Apache

sudo a2enmod account

Reboot Apache2.

Resumption of the Sudo apache2 service

8. SSL certificate installation

SSL (Secure Sockets Layer) Certificate, which establishes a secure connection between your website and the visitor’s browser. This ensures that the data sent from the user’s browser to our server is encrypted. This prevents intruders from reading the data. Currently all browsers give a warning if the website does not have an SSL certificate.

So we are going to install an SSL certificate for our blog. Let sEncrypt offer an easy way to set up a free SSL Certificate.

So follow the instructions to configure the SSL certificate for the blog we are going to create.

8.1. Add deposit

Start by adding the Certbot repository to our system.

sudo add-apt-repository ppa:certbot/certbot

8.2. System package update

The command below updates the lists of packets to be updated, as well as the new packets just entered into the repository.

sudo apt-get update

8.3. Installing the Certbot

Now install Certbot from the new depot.

sudo apt-get install python-courtboat apache

8.4. SSL CertificateConfiguration

Configure the SSL certificate with the following command.

sudo certbot –apache —d

  • Replace the domain name with your own name.

8.5. SSL Certificate Configuration for subdomains

You can set up a single SSL certificate valid for multiple domains or subdomains. In our case, we should also create So also install an SSL certificate for him.

sudo certbot –apache -d

8.6. Configuring auto-renewal for SSL certificate

Let’s encrypt the certificates for 90 days. But an order can update the certificate automatically.

Renew sudo certbot – test

8.7. Rebooting the Apache2 Server

All settings will appear on our server after Apache2 has been restarted.

Resumption of the Sudo apache2 service

9. Panel access

So your blog is ready to be used and the control panel is accessible via the URL below.

  • Replace the domain name with your own name.

10. Access to your blog

The blog is ready and we can write the content of the administration panel. The address of our blog will be,

  • Replace the domain name with your own name.


That’s why we created the WordPress blog on our cloud server and put it online. In this manual I have used the demo domain name Buy your own domain name to launch your blog.

Here we go:

Like the download…

You might like this.

wordpress blog examples,how to start a wordpress blog for free,posting using wordpress,blog setup service,free wordpress setup service,wordpress blogs to read,install wordpress on aws ubuntu,install wordpress on aws free tier,can we use wordpress on aws,wordpress linux ami,aws tutorial install wordpress,amazon ec2 wordpress install plugin,inmotion hosting softaculous,softaculous wordpress install,inmotion wordpress,how to install wordpress cloudways,wordpress docker digitalocean,digitalocean add gmail mx records,serverpilot documentation,namecheap digitalocean,installing wordpress on digitalocean droplet,top 10 wordpress themes 2020,codeinwp,start a blog for free,free i theme,free wordpress membership themes,free vintage wordpress themes,wordpress hosting,wordpress blog login,wordpress blog signup,wpbeginner free blog setup

You May Also Like

Can You Handle It? – VBA InputBox Cancel

Of all the problems you may encounter in MS Excel VBA, one…

Remove redirect virus from Mac

Among the security threats Mac users should be concerned about, browser hackers…

Excel VBA: If Cell Contains Value Then

In this article we will see how to automate the beginning of…

Ansible Playbook: Complete Beginners’s Guide

In the previous lesson, you learned how to use the Ansible ad…