• Get In Touch
April 22, 2016

How to Install WordPress on Ubuntu

Using Wordpress? Get our lightening fast Wordpress Optimised Hosting.
Get Wordpress Hosting

In this tutorial we will how to install WordPress on a VPS running Ubuntu. WordPress is a free, open source and powerful content management system. It is built on PHP and uses MySQL to store its data. It has a very user friendly interface and requires no knowledge of coding skills. WordPress powers more than 50 millions websites globally and has thousands of themes and plugins available to supercharge your website. You can almost create every type of website through WordPress like Blogs, eCommerce websites, Business portfolios, hotels and bookings etc.

The requirements for installing WordPress are that you must have PHP version 5.6 or greater and MySQL version 5.6 or greater. Additionally you must have a web server up and running in your VPS. Refer to the how to install LAMP with phpMyAdmin in Ubuntu tutorial for setting up the required environment for the installation of WordPress.

It is not necessary to have phpMyAdmin installed on your VPS but it makes managing databases easier. In this tutorial we look at both options, creating the database and user with the MySQL command line and also creating the database and database user using phpMyAdmin. You can use either method available to setup database for your WordPress Installation.

Create the Database and User using the MySQL Command Line

WordPress uses a MySQL database to store all of its data, hence we will start the installation with creating a MySQL database.

Login to your MySQL command line by using the following command in your terminal.

    mysql -u root -p

This command specifies that you are logging into MySQL using the username root, which is the administrative account for MySQL. It will ask you for the password of your MySQL root account, provide the password to login into MySQL command line. If you have not specified a root password, remove the -p option.

Once you are logged into MySQL, you can create a database using the following command.

    CREATE DATABASE ;

You can specify any name for your database at the place of “. In this tutorial we will use wpdata as the name of example database. The command

    CREATE DATABASE wpdata;

will create an empty database wpdata in MySQL.

Please note that each command in MySQL ends with a semicolon, use a semicolon where specified to avoid errors.

For security reasons it is recommended that we create a separate database user for the database which we are going to use with WordPress rather than using the MySQL root user. This also makes the management of the database easier. We will create a new MySQL database user who will have full access to only the database we have recently created i.e. wpdata. For example we will name this user wpuser, You can use any name you want for your database user. The command for creating a database user wpuser will be

    CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'MyStrongPassword';

You can use any password in the place of MyStrongPassword, you should create a very strong password. The above command will create a user named wpuser and the password for wpuser will be MyStrongPassword.

Now that we have created both database and user, but the user wpuser does not have access to the database wpdata, you can give wpuser all permissions for the database wpdata by executing the following command.

    GRANT ALL PRIVILEGES ON wpdata.* TO wpuser@localhost;

Now that we have made all necessary changes to MySQL we need to tell MySQL about the recent changes we have made. We can do so by executing the following command.

    FLUSH PRIVILEGES;

This command will flush all the privileges and MySQL will implement your recent changes immediately.

Now that we have all the things related to database are ready, you can exit from the MySQL command line using exit command.

Create Database and User using phpMyAdmin

phpMyAdmin provides a graphical user interface for managing databases. It’s a very handy tool for editing the information stored in a database.

If you have already setup the database using the MySQL command line skip this step and directly continue with Installing WordPress.

Login to your phpMyAdmin dashboard by opening the following URL in your browser.

    http:///phpmyadmin

For example if you have a public IP address of 100.20.30.25, then you would open:

    http://100.20.30.25/phpmyadmin

You can also use your domain name instead of IP address if you have this setup. Now login into phpMyAdmin using your MySQL root user and password.

To create a database through phpMyAdmin click on the New link from the left pane above the list of the databases.

In next step you will find interface to create a database as shown below, enter the name of the database you wish to create. In this tutorial we will use database named wpdata. Click on Create button to create the blank database.

Once the database has been created, you will see the name of the database on the left pane, click on the database to select it.

When the database is selected, it will show the structure of the database, since in your case the database is empty it will show you a message No tables found in database. Click on the Privileges tab from the top menu to view the users who have access to the database we have created.

You will see most of the users who has access to your database currently are global users like root. We will need to create a user for your database. Click on Add User to add another user to your database, you will see a interface to provide the username and password for your new user.

In Login Information section enter username for your new user. Leave the default value in Host text box which is %. Enter a strong password for your user, if you want you may generate the password instead.

In the Database for user section select the third checkbox on which Grant all privileges on database "wpdata". The name of database may change according to the database you have created earlier.

Finally Click on Go button to create a new user for your database and assign it full privilege on your database.

Now that we have database and database user setup, we can begin installing WordPress.

Installing WordPress

Start with logging in to terminal of your VPS.

If You are logged in using root account in your VPS, then you can omit using sudo command before all commands. If you logged in using an non root account then you will have to use sudo before all commands or you can use su command to switch to root account.

WordPress needs some additional packages to work properly and to perform additional tasks like sending emails, editing images etc. It’s recommended that you install these packages also. To install recommended php packages run the following command in your terminal.

    sudo apt-get install php5-cli php5-dev php5-fpm php5-cgi php5-mysql php5-xmlrpc php5-curl php5-gd php-apc php-pear php5-imap php5-mcrypt php5-pspell

If you have some packages already installed then the system will update them.

Now download latest copy of your WordPress CMS by executing following command in your terminal.

    wget http://wordpress.org/latest.tar.gz

Extract this archive by executing the following command.

    tar -xzvf latest.tar.gz

This will extract all the files from archive to a directory wordpress. Move the files from wordpress to your Apache Web root directory by executing the following command.

    sudo mv wordpress/* /var/www/html/

If you have still not deleted the Apache Default Page from /var/www/html/ directory, you may do so by executing the following command.

    sudo rm /var/www/html/index.html

Next we will need to change ownership of the directory /var/www/html to the Apache web server user which is www-data. This will increase the security of the directory as well as allowing Apache web server permission to create and modify any file or directory. Otherwise WordPress will not be able to create any file or directory to store the files. To change the ownership to Apache web server process, execute the following command.

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

Now we will need to go to web interface of WordPress to complete the installation.

Access your website through any web browser, by public IP of your VPS or Your domain name.
You will see a welcome screen by WordPress and you will be asked to select your preferred language of installation.

Select your preferred language and click the Continue button. In next step you will be told to make sure that you have database name, database username and password and host ready. Click on the button Let’s go! to continue the installation.

Next, you will be asked for a Database Name, User name and Password. Fill these fields according to the database we have created before. For Database Host, leave this field as localhost, In the Table Prefix field you can leave this option as it is. Once you have filled in all the information, click on the Submit button to go the the next step.

If WordPress can establish a successful connection to the database it will tell you that WordPress can talk with the database and you can run the install. Click on the Run the install button. WordPress will now start the installation.

In next step it will ask you for the title of your website, and a username, password and email for your WordPress Administrator. Click on the Install WordPress button and It will write the changes to the database. Fill out the details accordingly and make a note of your Email address and Password, as you’ll need this to login to your WordPress Admin dashboard.

If successful you will see a success message like shown below.

WordPress has been installed. You may now login to your WordPress administrator dashboard by clicking on the Log in button. You may always login to your WordPress administrator dashboard by going to following link by a web browser.

    http:///wp-login.php
    http:///wp-admin/

##Summary
In this tutorial we have learned how to create a database and database user using MySQL command line, or via phpMyAdmin. We then learned how to install WordPress on LAMP stack. You now have a WordPress installation in your VPS now which may be used for creating many types of websites.

Using Wordpress? Get our lightening fast Wordpress Optimised Hosting.
Get Wordpress Hosting

Share this Article!

Related Posts

Node.js Authentication – A Complete Guide with Passport and JWT

Node.js Authentication – A Complete Guide with Passport and JWT

Truth be told, it’s difficult for a web application that doesn’t have some kind of identification, even if you don’t see it as a security measure in and of itself. The Internet is a kind of lawless land, and even on free services like Google’s, authentication ensures that abuses will be avoided or at least […]

Node.js and MongoDB: How to Connect MongoDB With Node

Node.js and MongoDB: How to Connect MongoDB With Node

MongoDB is a document-oriented NoSQL database, which was born in 2007 in California as a service to be used within a larger project, but which soon became an independent and open-source product. It stores documents in JSON, a format based on JavaScript and simpler than XML, but still with good expressiveness. It is the dominant […]

Using MySQL with Node.js: A Complete Tutorial

Using MySQL with Node.js: A Complete Tutorial

Although data persistence is almost always a fundamental element of applications, Node.js has no native integration with databases. Everything is delegated to third-party libraries to be included manually, in addition to the standard APIs. Although MongoDB and other non-relational databases are the most common choice with Node because if you need to scale an application, […]

Node.Js Vs Django: Which Is the Best for Your Project

Node.Js Vs Django: Which Is the Best for Your Project

Django and NodeJs are two powerful technologies for web development, both have great functionality, versatile applications, and a great user interface. Both are open source and can be used for free. But which one fits your project best? NodeJs is based on JavaScript, while Django is written in Python. These are two equally popular technologies […]

Nodejs Vs PHP:  Which Works Best?

Nodejs Vs PHP: Which Works Best?

Before getting into the “battle” between Node.js and PHP we need to understand why the issue is still ongoing. It all started with the increased demand for smartphone applications, their success forcing developers to adapt to new back-end technologies that could handle a multitude of simultaneous requests. JavaScript has always been identified as a client-side […]