How To Install WordPress On Contabo VPS (Without cPanel/Webmin) – Steps By Steps

Our website contains links to affiliate websites and we receive an affiliate commission for any purchase made to the affiliate website by clicking the links on our website. Learn More. Our reviews are not affected by participation in such programs

In this post, We will discuss the process of installing the latest WordPress CMS on Contabo VPS server with the app name LAMP and without any requirement of cPanel & Webmin (since these panels will cost additional money), with this you can save cPanel & Webmin monthly pricing.

We will install WordPress CMS cause this is the most popular CMS and is widely used by website designers and bloggers.

What Is Contabo VPS (Virtual Private Server)?

As we know that WordPress is a CMS that falls into Web Applications, and web app must be hosted publicly, for the people to visit on site.

Now It is simple to host the Web App, you just have to upload the files and web database into the public server, so that everyone can access the files over the internet from anywhere.

Two Hosting Ways

In this, we want to host the Website files including WordPress CMS for that we have two most affordable options:

Shared Hosting:

This type of hosting is uploading the Website on a server like Godaddy, Bluehost, and Namecheap EasyWp hosting, this Easy wp is called managed hosting which uses a cloud server that is more secure than the shared ones.

These hosting are cheap cause they host your site with hundreds of other Websites on the same server, so your files co-exist with files of the other website.

Now, this way these hosting services become cheap but at the same time, it concerned the security of the website, if not kept intact.

VPS Hosting:

VPS hosting is called a Virtual Private Server, when you buy a VPS service you will get your own server to host your website separately and your files will not coexist with other website files and hence it reduces the concern for securities and Malware.

Which Is Better Overall?

We will not discuss the in-depth technical comparison between the two hosting services but we can assure you that VPS is the better option when it comes to security, website speed, and its management.

If you are building a website in 2021 then website speed is an important factor from the perspective of customer experience or if you are a blogger then search engines like Google prefer a fast over some clunky server website.

As usual thinking VPS services should be expensive, Right? Well not exactly, here we have an option of VPS service which is a lot cheaper than some shared hosting.

Contabo VPS service starts with 3.99 Euros per month which is equivalent to most of the shared hosting services these days.

Ok then what’s the catch? The only catch here is you have to require some technical guidance to set up and configure your WordPress website.

And fortunately, that is what we covered here in a step-by-step process where you will have every step until you completely set up your WordPress website.

How To Install Worpress On Contabo VPS.

To Install the CMS on Contabo VPS follow every single step shown in this guide with precision and have patience while it starts the process.

Now let’s Get Started!

#1. Domain Name

Domains name is a really important part of building a website and it’s very simple also, you can easily register a brand new domain name with Godaddy or you can prefer the .com domain from NameCheap.

I would prefer to check out both the services for the better offers, you might save more money when you go through offers on the service.

However, if you already have the domain, you can always use that for building the website. Now let continue with the VPS configuration.

#2. Register VPS Server with Contabo

# Contabo Hosting Service

Navigate to the Contabo VPS hosting service page. Now as you reach the service page you will see four plans that are curated with different machine configurations.

Choose the basic plan which is the cheapest option, and it will be good enough for the starters. After some time when your website will grow, you can always have a more powerful VPS service with higher machine resources, which helps to handle visiter.

# Configure Your VPS

On the next page of the VPS, you will see the server configuration. Now in the “Initial Contract Period” option, you have to Select for 12 months which comes with No Setup Fees.

In the region section, by default is set to European Union which is free, but if you want to change the region area you have to pay more. I would recommend you to select European Union which does not increase the price.

In the next section, you will have to select the “OS” with “Apps and Panel“.

For the OS, select Ubuntu 18.04, which is completely free for use.

For the “Apps and Panel“, select the LAMP with Ubuntu 18.04, as shown in the screenshot:

Now scroll down and click on the “Next” button, you will be navigated to the building page without the information properly and confirm your order.

In almost 24 hours, the Contabo team will set up the server for you and send the complete details via Email, keep this email secure cause we will need this information for configuring the website.

Now you have your server and we just the process by mapping the domain.

#3. Domain Mapping To the VPS Server

Alright, so as we already have the domain name and we got our VPS server, we have to connect both of them in order to build a website.

In the mail, Contabo sent you your IP address which will be used to access the VPS server. We can easily access your VPS server through IP and build a website with it, but visitors will not want to come to the website that does not have the Domain name and using the Ip address as a domain.

So to prevent that, we will simply map your domain name to your VPS IP address, by which we can use both domain name and IP address to access the WordPress website.

# Setting Up The DNS Records :

Open the DNS management it is own in your domain registrar dashboard and edit the main “A record” as shown in the screenshot below:

  • Host: @
  • Points To: Your Server IP Address (Comes in with the Email)

And Done, now click on the Save button.

#4. WordPress Insallation On VPS Using Putty

Now we map the domain with the server and it’s completely ready for the installation process of WordPress.

Firstly we have to connect our VPS server to the SSH client like putty, for that follow below:

Download the Putty from the above link and install it on the computer. After the installation opens the software and enters the Server IP, Name, and press the open button as shown in the screenshot.

CMD window will open and it will ask you to log in, just enter “root” as the user, and then type the password which is sent to you by the Contabo via Email.

Remember: When you typing in the password in the CMD window, for security purposes it will hide your password, just keep typing correctly, it will work fine.

install wordpress on contabo

After the successful login, you will see the above screenshot. Now follow The below steps to start the installation process.

Step 1: Create the MySQL database.

To store the files WordPress CMS uses my SQL database for managing the information. The MySQL installation comes with the package which is already installed as a LAMP Stack, but for making use of it we have to create the database and a profile user for WordPress.

Firstly login into your MySQL root administrative account by inserting the below command:

mysql -u root -p

This command will bring you in for the root password, copy and paste it and hit the “Enter” button.

Now, Create an individual database that WordPress will use and you can name this according to your needs, but here in this, we will call it “wordpress“. You can run the following command in order to create a WordPress database.


Always enter semi-colon (;) by the end of every MySQL command.

Next step, we will create a separate MySQL user account that will be used separately to operate our newly created database. When we create one function database and user account, it helps in the management and the security purpose. We are going to name the user account “wordpressuser” in the process, you can use whatever you want for the name.

We will create the account, and set a strong password and provide access to the database. Copy and paste the following command and always remember to you have a strong password for the database user.

CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'Enter_Your_Password_Here';
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'enter_a_custom_password_here';

Now you have a database with the user account which you individually created for WordPress. We need to provide the privileges so that the current instance of MySQL will know the recent changes, run the following command.


Now we will exit MySQL by entering the following command.


Congratulation you have completed the process.

Step 2. PHP Extension Installation

To run the WordPress CMS system with plugins efficiently we will leverage some additional PHP extensions.

We can automatically download and install the required PHP extension for WordPress by entering the following command.

sudo apt update

Enter this now.

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

To load these new extensions, we will restart the Apache webserver in the next part. And if you are installing the additional plugins you can always restart Apache now by typing the following command

sudo systemctl restart apache2

Step 3. WordPress downloading

We have configured our server software and now we can download and set up the WordPress CMS. Always download the latest version of WordPress for the security patches and the compatibility with the plugins.

Run the following command to change the directory to /Html.

cd /var/www/html

To download the WordPress file enter:

curl -O https://wordpress.org/latest.tar.gz

Now the file with download is compressed and we have to extract this file to create the WordPress directory system.

tar xzvf latest.tar.gz

We have downloaded WordPress, our server is fully configured and set up, now simply we need to connect things.

Now we have some minor steps to follow which can be understood easily with this small video we attached below. All the commands in the video are included in the guide, so you can easily copy and paste, just follow the video.

Credit: H-educate

Step 4. Adjustment for Apache’s Configuration

Now we need to configure the apache in order to access the website by the domain name. To configure, open the WinSCP again and just go to this directory: /etc/apache2/sites-available/

Next, create a new empty file to name it “domain.conf” (Here: Just Change the “domain” to your domain name)

Open the domain.conf and then simply Copy & Paste the below content in the file and save it.

<VirtualHost *:80>
     ServerAdmin admin@domain

     DocumentRoot /var/www/html/
     ServerName domain

     ServerAlias domain

     <Directory /var/www/html/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

Note: Remember to change the “domain” with your domain name in the above code.

#5. Finishing Configuration For Apache & Restart The Service

Run the following commands to finish the configuration

sudo a2ensite domain.conf
sudo a2enmod rewrite
sudo systemctl restart apache2.service 


#6. WordPress Directory Configuation

Finally, we are going to finish the configuration and installation of WordPress, We will arrange some items in our WordPress directory.

#. Setting Up Ownership And File Permissions

Now that we have confused your so many requirements the one thing that we need to set up is specific files permissions and ownerships.

The first thing will start by providing all the ownership of the files to the www-data user and group. Providing permission to this user cause this will run as an Apache web server and most importantly Apache should be able to read and write WordPress files in order for the website to work and perform proper updates.

Update and change the ownership with Chown :

sudo chown -R www-data:www-data /var/www/html

In the next step, we will use to find commands to set up the required permission for the WordPress directories and files:

sudo find /var/www/html/ -type d -exec chmod 750 {} \;
sudo find /var/www/html/ -type f -exec chmod 640 {} \;

#. Setting Up WordPress Configuration

In this section, we will need to make a few modifications to the main configuration file of WordPress, the wp-config file mentioned in the above video.

After opening the file, the first thing that you want to do is to prepare some secret keys so that you will have more security in our installation. WordPress automatically provide a secure key generator for these type of values so that you don’t have to come up with some Complex key on your own.

These keys will only be going to use internal, so it is not a problem to use such a Complex key, it is just for security purposes. Now the grab the secure value from the secret key generator and type in putty:

curl -s https://api.wordpress.org/secret-key/1.1/salt/

You will get some unique values that look like the below keys:

Outputdefine('AUTH_KEY',         '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H');
define('SECURE_AUTH_KEY',  'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3');
define('LOGGED_IN_KEY',    'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88');
define('NONCE_KEY',        'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g');
define('AUTH_SALT',        'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES  07VC*Lj*lD&?3w!BT#-');
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY');
define('LOGGED_IN_SALT',   'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|');
define('NONCE_SALT',       'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');

We can directly paste the above configuration lines in the configuration files to set the secure keys. Simply Copy the output you received.

Now simply just open the WordPress configuration file with WinSCP and replace these lines shown in the above image.

Step 7. Finalising The Installation With The Web Interface

The server configuration is completed and now is the time to complete the installation of WordPress through the Web interface.

In the web browser, Enter the server’s domain name or public Ip address:


Now choose your preferred language in the WordPress language select window

Congratulation! You have successfully installed WordPress CMS in your Contabo VPS!

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *