How to Install WordPress on Ubuntu or Debian Cloud Server

By WP Saviour •  Updated: 02/27/21 •  12 min read

Cloud Server Internet hosting is achieve reputation due to its reliability, efficiency and value. If correctly configured the cloud servers are very safe and have excessive efficiency/value ratio. Today you will get a great cloud internet hosting in about $5/month. Together with the space for storing, you get a devoted I.P handle and full root entry. It means you may customise your server such as you need. One other nice benefit of utilizing a cloud internet hosting is you might be billed for the assets you employ. You’ll be able to simply scale your server in response to your want. Whereas shared internet hosting price greater than $10/month, you may deploy a cloud server in lower than $5/month which is far more highly effective than any shared internet hosting.

Desk of Contents

The issue folks face throughout deploying a server is to arrange the server accurately for his or her use. So on this information we’ll setup a cloud server to host a number of WordPress (or different) websites.

So step one is preliminary server setup. For that it is advisable to log in to your server utilizing SSH.

Log in utilizing Mac

  1. To log in on a Mac laptop, open the terminal program (within the utilities folder) and sort within the following command, logging in with the IP handle of your server:
  2. ssh [email protected]_ip_address
  3. Sort “sure” when the immediate asks if you wish to hook up with the host. When prompted, kind within the root password that was emailed to you and press enter. Though the password is entered if you kind, it doesn’t present up on the display for safety causes.
  4. You’ll then be linked to your Server.

Log in utilizing Home windows

  1. To log into your server on home windows, you will want to have PuTTY, an SSH consumer, put in in your laptop.
  2. You’ll be able to obtain this system right here. Select the home windows installer.
  3. As soon as PuTTY is downloaded and put in, beginning this system will take you to the configuration display.
  4. Fill within the “Host Identify (or IP handle)” subject with the IP handle of your server, ensure the port quantity is 22, and the connection kind is SSH.
  5. Moreover, click on on the sidebar entry, SSH, and choose “2 solely” as the popular SSH protocol model.
  6. As soon as the whole lot is configured, you may title and save these preferences for the long run by clicking on Session within the aspect bar and typing a title into the Saved Periods subject. Then click on save.
  7. Double click on on the session title to attach, and settle for the next pop up that asks if you wish to hook up with the host. After PuTTY begins up, kind within the root password that was emailed to you.
  8. You’ll then be linked to your Server.

Now when you’ve got logged in efficiently then go forward and observe the subsequent step.

1.2 Altering the foundation password

On this step we’ll change the foundation password for that kind:


After you alter the password it is advisable to log in once more with the brand new password.

1.Three Creating a brand new consumer with root privileges

The benefit of making a brand new consumer is it stop the consumer from destroying the system.

So as to add a brand new consumer, kind:

adduser demo

The place “demo” is the title of the brand new consumer. You need to use your title instead of demo.

Now you’ve got efficiently created a brand new consumer. Please be aware that it is advisable to use the section ‘sudo’ earlier than any command.

To offer the brand new consumer root privileges kind:


Discover the part referred to as consumer privileges specification. It appear to be this:

# Person privilege specification

Underneath that add this line, to grant root privilege to the brand new consumer.

demo    ALL=(ALL:ALL) ALL

Exchange ‘demo’ with the username you created earlier.

Sort ‘Ctrl+x’ and press Y after which press ENTER to save lots of the file.

To make the modifications take impact, kind this command.

reload ssh

1.four Logging in as new consumer

To log in as the brand new consumer kind:

ssh [email protected]

Use the brand new consumer to do any job with ssh as it’s going to stop your server from destroying-mistakes.

You will have now accomplished the preliminary server setup.

2 Putting in LAMP Stack

LAMP stack is a gaggle of software program which are required for net server to run purposes which makes use of PHP and MySQL.

2.1 Putting in Apache

First we’ll set up Apache server software program. To do that kind the next instructions

sudo apt-get replace
sudo apt-get set up apache2

Now you’ve got efficiently put in the apache net server software program.

2.2 Putting in MySQL

The following is to put in mysql server, to do that kind the next command.

sudo apt-get set up mysql-server libapache2-mod-auth-mysql php5-mysql

if the command written above provides error then do this command, each the instructions are similar the however within the new model of Ubuntu OS (13.0+) it is advisable to use the command written beneath:

sudo apt-get set up mysql-server php5-mysql

To activate the mysql software program kind the next command

sudo mysql_install_db

Now we’ll setup the mysql, for that kind:

sudo /usr/bin/mysql_secure_installation

Now the immediate will ask you for the present root password.

Sort it and press ENTER.

Then the immediate will ask you if you wish to change the foundation password. Go forward and select N and transfer on to the subsequent steps.

It’s best simply to say Sure to all of the choices. On the finish, MySQL will reload and implement the brand new modifications.

By default, a MySQL set up has an nameless consumer, permitting anybody
to log into MySQL with out having to have a consumer account created for
them. That is supposed just for testing, and to make the set up
go a bit smoother. You must take away them earlier than shifting right into a
manufacturing surroundings.
Take away nameless customers? [Y/n] y
... Success!

Usually, root ought to solely be allowed to attach from 'localhost'. This
ensures that somebody can't guess on the root password from the community.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'check' that anybody can
entry. That is additionally supposed just for testing, and ought to be eliminated
earlier than shifting right into a manufacturing surroundings.

Take away check database and entry to it? [Y/n] y
- Dropping check database...
... Success!
- Eradicating privileges on check database...
... Success!

Reloading the privilege tables will be sure that all modifications made thus far
will take impact instantly.

Reload privilege tables now? [Y/n] y
... Success!

Cleansing up...

Now you’ve got put in apache and mysql software program on you server. Lets transfer on and set up php on the server.

2.Three Putting in PHP

Now run the next command to put in php:

sudo apt-get set up php5 libapache2-mod-php5 php5-mcrypt

Now we’ll set up the important php modules required to run WordPress and different apps. Sort the next command:

sudo apt-get set up php5-cgi php5-cli php5-curl php5-dbg php5-dev php5-gd php5-mysqlphp5-odbc php5-pgsql php5-snmp php5-xmlrpc php5-xsl

Restart apache, so that each one the modifications take impact. Sort this command:

sudo service apache2 restart

Congratulations you’ve got put in LAMP stack in your server.

Three Putting in WordPress

Now its come to the simplest a part of this tutorial i.e. Putting in WordPress in your server.

3.1 Downloading Newest WordPress on the Server

To put in WordPress on the server you will want to obtain it on the server. To do that kind this command.


Principally what is strictly does it if you kind cd and press Enter button it modifications you present listing to the customers /dwelling listing. And wget command obtain the newest model of WordPress in your server.

Now lets transfer to the subsequent factor i.e. Unzip the WordPress installer. To do that kind this command.

tar xzvf newest.tar.gz

3.2 Creating Website Database and Customers

Each WordPress web site want a database to retailer posts, feedback and settings. So on this step we’ll create a MySQL database for our WordPress web site.

To do MySQL associated stuff first we have to log in into the mysql administrator account. To do that kind.

mysql -u root -p

You’ll be prompted to enter the MySQL root password. Sort the password and press enter.

Now when you’ve got entered the right password you’ll be dropped in to MySQL immediate.

To create a brand new database kind the next command.


Change the “FirstDatabase” with the database title you wish to use.

Now the database is created. Now we’ll add a brand new consumer to this database. To do that kind.

CREATE USER [email protected];

Exchange the “FirstUser” with the consumer title you need and press enter.

It is extremely essential to guard the brand new consumer account with a password. To do that kind.

SET PASSWORD FOR [email protected]= PASSWORD("FirstPassword");

Remember to substitute the “FirstUser” together with your consumer title you created within the above step and “FirstPassword” with a robust password. And press enter.

Now final step of making database is to supply the brand new consumer all of the privileges. To do that kind:

GRANT ALL PRIVILEGES ON FirstDatabase.* TO [email protected] IDENTIFIED BY 'FirstPassword';

and press enter.

Refresh the MySQL privilege info by this command.


and exit the MySQL to the shell session by typing:


and press enter.

3.Three Creating web site root listing

We might want to create separate directories for various websites, in order that we will host a number of websites on one server.

On this step we’ll create a listing for the positioning within the “/var/www”.

Change the listing to “/var/www”:

cd /var/www

Create a listing for the positioning in “/var/www” with mkdir command:

sudo mkdir siteName

Activate the WordPress pattern configuration file by renaming it:

cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php

Copy all of the information and folder of “/wordpress” listing to the positioning root:

sudo rsync -avP ~/wordpress/ /var/www/siteName/

Make certain to interchange the textual content in pink together with your respective listing title.

Giving possession of the “/var/www” listing to the consumer.

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

Exchange the “linux_username” with the username you created in first step ( 1.3) .

3.four Configuring Digital Host

As we now have put in WordPress in “/var/www/siteName” listing, we might want to arrange the digital host file. So when the guests kind the positioning URLs they directed to the correct listing.

To create a digital host file in Apache, first we have to go to the “/and many others/apache2/sites-available” listing.

cd /and many others/apache2/sites-available

Now create new digital host file for you web site positioned in “/var/www/siteName”.

sudo cp default siteName

After new digital host file is created. We have to add the knowledge into it.

For enhancing we now have a default CLI textual content editor in Ubuntu and Debian referred to as “nano”. We’ll edit the digital host configuration file with nano. To do that kind:

sudo nano siteName

Now substitute the knowledge within the digital host configuration file which a marked in pink with you web site info.

              ServerAdmin your_email_address

             DocumentRoot /var/www/siteName
            Choices FollowSymLinks
            AllowOverride None
               Choices Indexes FollowSymLinks MultiViews
              AllowOverride All
             Order permit,deny
             permit from all

Add the two-line ServerName and ServerAlias beneath the ServerAdmin line.

If in case you have www within the default URL then add www within the ServerName and take away www from ServerAlias , In order that the primary four strains appear to be this.

              ServerAdmin your_email_address



Additionally be sure to have modified the “AllowOverride None” within the “” block to “AllowOverride All”.  This can allow fairly permalinks.

Save the file by urgent ctrl+x then kind Y and hit enter.

Now kind this command to allow mod_rewrite for the gorgeous permalinks to work:

sudo a2enmod rewrite

Allow the digital host file by this command:

sudo a2ensite siteName

Exchange the “siteName” with the positioning title you’ve got created in step 3.3

Now restart the Apache to make the modifications take impact.

sudo service apache2 reload

3.5 WordPress five-minutes Set up

Now go to your web site and end the set up with WordPress 5 minutes set up wizard.

If in case you have not made modifications to your area nameservers then go to the IP handle of the server on which you’ve got put in WordPress.

for instance: up.php

Congratulations, Now you’ve got efficiently put in WordPress in your server. Are you planning to maneuver your WordPress weblog to cloud server? Do let me know when you’ve got any questions or points whereas putting in WordPress in your cloud server. Don’t overlook to share this tutorial together with your geek mates on Fb and Google plus.

gp-2436315 as-4698763

WP Saviour

I am a WordPress specialist. My mission is to help you create beautiful websites with ease!