How to Install WordPress on Ubuntu 20.04 for Free

install wordpress on ubuntu
Install WordPress on Ubuntu

This post will help you to Setup and Install WordPress on Ubuntu 20.04 for Free.

Table of Contents

How to Install WordPress on Ubuntu 20.04

WordPress is one of the very popular and demanding content management system (CMS) over the internet world. It helps us to create a Beautiful, Flexible, SEO friendly, Responsive, Customizable blogs or websites with the support of MySQL at the backend and PHP. user can easily manage and administrate everything related to the websites through browser that is available as a web frontend.

In order to have the complete wordpress installation, we would need to install Apache, MySQL, Php, WordPress on Ubuntu 20.04 Linux Servers. We call this in short as LAMP Stack.

Install required dependencies

use apt-get command to update and install the required dependency packages.

selva@wordpress-hosting:~$ sudo apt-get update
selva@wordpress-hosting:~$ sudo apt-get -y install apache2 ghostscript libapache2-mod-php mysql-server php php-bcmath php-curl php-imagick php-intl php-json php-mbstring php-mysql php-xml php-zip

Install WordPress on Ubuntu

Get latest wordpress package directly from the official site as below rather than installing the wordpress available in apt package repository.

selva@wordpress-hosting:~$ sudo mkdir -p /var/www
selva@wordpress-hosting:~$ sudo chown www-data: /var/www
selva@wordpress-hosting:~$ curl https://wordpress.org/latest.tar.gz | sudo -u www-data tar zx -C /var/www

Configure Apache for WordPress

Let’s create a apache configuration file for our wordpress site with below contents.

selva@wordpress-hosting:~$ cat /etc/apache2/sites-available/wordpress.conf
<VirtualHost *:80>
    DocumentRoot /var/www/wordpress
    <Directory /var/www/wordpress>
        Options FollowSymLinks
        AllowOverride Limit Options FileInfo
        DirectoryIndex index.php
        Require all granted
    </Directory>
    <Directory /var/www/wordpress/wp-content>
        Options FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>

Enable the site using the command a2ensite.

selva@wordpress-hosting:~$ sudo a2ensite wordpress
Enabling site wordpress.
To activate the new configuration, you need to run:
  systemctl reload apache2

Also enable URL rewriting using the command a2enmod.

selva@wordpress-hosting:~$ sudo a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
  systemctl restart apache2

We dont need the default site anymore, hence disable it.

selva@wordpress-hosting:~$ sudo a2dissite 000-default
Site 000-default disabled.
To activate the new configuration, you need to run:
  systemctl reload apache2

Restart Apache service for the changes to take effect.

selva@wordpress-hosting:~$ sudo service apache2 reload

Configure MySQL Database for WordPress

Lets’s create and configure MySQL database for WordPress.

selva@wordpress-hosting:~$ sudo mysql -u root
mysql> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.01 sec)
mysql> CREATE USER wordpress@localhost IDENTIFIED BY 'adminpass';
Query OK, 1 rows affected (0.01 sec)
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON wordpress.* TO wordpress@localhost;
Query OK, 1 rows affected (0.02 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0,00 sec)
mysql> quit
Bye

Once database is created, start the mysql service.

selva@wordpress-hosting:~$ sudo service mysql start

Integrate MySQL Database with WordPress

In order to integrate and connect wordpress to MySql database, we need to create a configuration file. But we have sample files available already, we can just copy and make the necessary changes as per our request.

selva@wordpress-hosting:~$  sudo -u www-data cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php

Lets add our database and user details in the configuration file. Here just replace the highlighted word as per your details.

selva@wordpress-hosting:~$ sudo -u www-data sed -i 's/database_name_here/wordpress/' /var/www/wordpress/wp-config.php
selva@wordpress-hosting:~$ sudo -u www-data sed -i 's/username_here/wordpress/' /var/www/wordpress/wp-config.php
selva@wordpress-hosting:~$ sudo -u www-data sed -i 's/password_here/adminpass/' /var/www/wordpress/wp-config.php

Now be careful with the below steps as this is very important to make sure our site is not vulnerable from any attacks.

We need to get authentication tokens, secrets and values from the link given below and that has to be replaced properly.

selva@wordpress-hosting:~$ curl -s https://api.wordpress.org/secret-key/1.1/salt/
define('AUTH_KEY',         'v;,s)d)ha@Jo!88!n~F/p(5`:f[yn1!5;*LytDfpmP]H!p&OUo[w`Fc/U{iIzu^r');
define('SECURE_AUTH_KEY',  'ejrWb!-|44Tku}p5Twpm{++F/yLbC(mUxTJF@oeRD,{#p9~u[LlH,rtG>sm4ytrF');
define('LOGGED_IN_KEY',    'RAd=H6G& ?[_4ovX5`Hv:r?8r-G]=?MPXgKhEC<0h2Nky51=8Ii_+?1iRHK_IH E');
define('NONCE_KEY',        'ss#A|3~Ozs14yMWFp5K^z)+ %_RA!8Lfwzkp!qK]gFfqev*|Py//{3f:R{t`EyP*');
define('AUTH_SALT',        'xB ,+05Ar@A]!=>cy(=E3|R3Jy.fP9_PK(vEyNPd}RWcs5:c`K.)(uNf/Wj,Myw|');
define('SECURE_AUTH_SALT', 'OeR6G~?/^r! _S2}y2oo4y>?xw4K~*0{x{Auz)>gsku&{(;T#Temi*fIDB%^e$<{');
define('LOGGED_IN_SALT',   'G{5%YgSaTr6~g/^+Ll:oA{3M#1j&WZIA5f$$xX<>NjP+s:Q8`*2Vl,ME wzvINfK');
define('NONCE_SALT',       '}A8Ucv*b)5i|9*y;3nYSKJCaH[CL 8)^I=4P3u?H:_+Pl2kehq{>Wq.q0?kipzJT');

Above command gives you all the values required for the configurations.

Lets open the configuration file wp-config.php.

Find each values and replace the values with the above output.

selva@wordpress-hosting:~$ sudo -u www-data vim /var/www/wordpress/wp-config.php

Once the values are replaced, save and exit from the configuration file.

Configure WordPress

Thats it, we are done with wordpress installation on Ubuntu.

Open the browser and enter http://localhost or http://127.0.0.1 to access our wordpress site.

You will be welcomed with WordPress dashboard where you just follow the instructions to setup your login details to access your WordPress Dashboard.

Hope this post helped you to Install WordPress on Ubuntu 20.04.

If you are interested in learning, Request you to go through the below recommended tutorial.

DevOps Full Course Tutorial for Beginners – DevOps Free Training Online
Docker Full Course Tutorial for Beginners – Docker Free Training Online
Kubernetes Full Course Tutorial for Beginners – Kubernetes Free Training Online
Ansible Full Course Tutorial for Beginners – Ansible Free Training Online
Openstack Full Course Tutorial for Beginners – Openstack Free Training Online

Keep practicing and have fun. Leave your comments if any.

Support Us: Share with your friends and groups.

Stay connected with us on social networking sites, Thank you.

YouTube | Facebook | Twitter | Pinterest | Telegram