How to Install WordPress on Ubuntu 18.04 LTS

Install WordPress on Ubuntu 18.04 LTS with Apache2, MariaDB and PHP 7.1

This post shows users and new students that How to Install WordPress on Ubuntu 18.04 LTS. If you going to to install WordPress on Ubuntu then this article is best for you.

WordPress is the most popular blogging tool on the web and is used by millions of people around the world to create beautiful websites and blogs. It uses a Content Management System (CMS) allowing users to control their content in a simple and easy to use interface. It is completely customizable by the use of themes and plugins. “WordPress is web software you can use to create a beautiful website or blog.

For more details about WordPress, please check its official website.

Ubuntu is a free, and secure OS. Ubuntu is an operating system that is developed by a worldwide community of programmers. Ubuntu is based on the free and open-source software, means you do not pay any licensing fees for Ubuntu, and you can download, use the operating system free of charge.

OPEN SOURCE

One of the main reasons why WordPress is so popular is that you can edit everything about it and any one can change the way it works and looks. So people who are highly experienced can add, change and customise the framework and people who are new to it can just use the basic standard system. If you are willing to learn there are also a vast amount of tutorials and forums available online.

Follow the steps below to get started with installing WordPress on Ubuntu 18.04 LTS:

Step 1: Install Apache2 HTTP Server :
sudo apt update
sudo apt install apache2

After installing Apache2, the commands below can be used to stop, start and enable Apache2 service to always start up with the server boots.

sudo systemctl stop apache2.service
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
Step 2: Install MariaDB Database Server :
sudo apt-get install mariadb-server mariadb-client

After installing, the commands below can be used to stop, start and enable MariaDB service to always start up when the server boots.

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Run the commands below to secure MariaDB server by creating a root password and disallowing remote root access.

sudo mysql_secure_installation
When prompted, answer the questions below by following the guide.

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y
Restart MariaDB server :
sudo systemctl restart mariadb.service

Run the commands below to add the below third party repository to upgrade to PHP 7.1

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Update and upgrade to PHP 7.1

sudo apt update

Run the commands below to install PHP 7.1 and related modules

sudo apt install php7.1 libapache2-mod-php7.1 php7.1-common php7.1-mbstring php7.1-xmlrpc php7.1-gd php7.1-xml php7.1-mysql php7.1-cli php7.1-mcrypt php7.1-zip php7.1-curl

Install PHP 7.1, run the commands below to open PHP-FPM default file.

sudo nano /etc/php/7.1/apache2/php.ini

The value below are great settings to apply in your environments.

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Chicago
Step 4: Create WordPress Database

To logon to MariaDB database server, run the commands below.

sudo mysql -u root -p

Then create a database called wpdb

CREATE DATABASE wpdb;

Create a database user called wpdbuser with new password

CREATE USER 'wpdbuser'@'localhost' IDENTIFIED BY 'new_password_here';

Grant the user full access to the database.

GRANT ALL ON wpdb.* TO 'wpdbuser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

Save your changes and exit.

FLUSH PRIVILEGES;
EXIT;
Step 5: Download WordPress Latest Release
cd /tmp && wget https://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz
sudo mv wordpress /var/www/html/wordpress

 Run the commands below to set the correct permissions for WordPress to function.

sudo chown -R www-data:www-data /var/www/html/wordpress/
sudo chmod -R 755 /var/www/html/wordpress/
Step 6: Configure Apache2 HTTP Server

Run the commands below to create a new configuration file called wordpress.conf

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

Copy and paste the content below into the file and save it. Replace the highlighted line with your own domain name and directory root location.

<VirtualHost *:80>
     ServerAdmin admin@example.com
     DocumentRoot /var/www/html/wordpress/
     ServerName example.com
     ServerAlias www.example.com

     <Directory /var/www/html/wordpress/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Save the file and exit.

Step 7: Enable the WordPress and Rewrite Module

Enable it by running the commands below.

sudo a2ensite wordpress.conf
sudo a2enmod rewrite
Step 8 : Restart Apache2
sudo systemctl restart apache2.service
STEP 9: Configure WordPress

Run the commands below to create WordPress wp-config.php file.

sudo mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php

For open WordPress configuration file, run the commands below

sudo nano /var/www/html/wordpress/wp-config.php

Enter the highlighted text below that you created for your database and save.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wpdb');

/** MySQL database username */
define('DB_USER', 'wpdbuser');

/** MySQL database password */
define('DB_PASSWORD', 'user_password_here');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

Now open your browser and browse to your domain name to launch WordPress configuration wizard.

After That you see WordPress setup wizard to complete. Please follow the wizard carefully.

How to Install WordPress on Ubuntu 18.04 LTS

Then type the WordPress website name and create a new admin user and password, the click install.

That’s it !  You’ve successfully installed WordPress on Ubuntu.

Leave a Comment

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top