How to Install Drupal on Ubuntu 20.04

Install Drupal on Ubuntu 20.04

In this article, we will have explained the necessary steps to install and configure Drupal with LAMP on Ubuntu 20.04 LTS. Before continuing with this tutorial, make sure you are logged in as a user with sudo privileges. All the commands in this tutorial should be run as a non-root user.

Drupal, a free and open-source content management system built with PHP is easy to install and manage. It was first released in January 2001 to power personal blogs, corporate websites, and any kind of websites that people may need and be a valid alternative to more popular tools such as WordPress or Joomla.

Install Drupal on Ubuntu 20.04

Step 1. First, before you start installing any package on your Ubuntu server, we always recommend making sure that all system packages are updated.

sudo apt update
sudo apt upgrade

Step 2. Install LAMP Stack on Ubuntu.

Drupal is built with PHP. You can host it like you would any other web app is written in PHP. So, you’re going to need to set Ubuntu up as either a LAMP server. If you haven’t done so already, use our traditional LAMP guide to set up Ubuntu to serve PHP before you continue.

Step 3. Install Drupal on the Ubuntu system.

Now download the Drupal tarball, use the following wget command to grab the latest version directly:

wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz

Next, extract the tarball file:

tar xvf drupal.tar.gz
sudo mv drupal-*/ /var/www/html/drupal

Then, set the appropriate permissions:

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

Step 4. Creating a Database for Drupal.

Drupal uses the MySQL database to store all its data like posts, pages, users, plugins, and themes settings. Log in to your MySQL server with the following command and enter your MySQL root password:

mysql -u root -p

Once you’re in the MySQL console, create a new database:

CREATE DATABASE drupaldb;
GRANT ALL ON drupaldb.* TO ‘drupal_user’@’localhost’ IDENTIFIED BY ‘your_drupal_passwd’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Step 5. Configuring Apache for Drupal.

Create a new virtual host configuration file for your Drupal website, named your-domain.com.conf:

nano /etc/apache2/sites-available/your_domain.com.conf

And add the following content to the file:

<VirtualHost *:80>
     ServerAdmin admin@your-domain.com
     DocumentRoot /var/www/html/drupal/
     ServerName your-domain.com
     ServerAlias www.your-domain.com

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

     <Directory /var/www/html/drupal/>
            Options FollowSymlinks
            AllowOverride All
            Require all granted
     </Directory>
</VirtualHost>

To enable the virtual host we have just created, run the following command:

ln -s /etc/apache2/sites-available/your-domain.com.conf /etc/apache2/sites-enabled/your-domain.com.conf

For the new configuration to take effect, restart the Apache service by typing:

sudo a2ensite your_domain.com.conf
sudo a2enmod rewrite 
sudo systemctl restart apache2

Step 6. Secure Drupal with Let’s Encrypt SSL.

First, you will need to install the Certbot client to install and manage the Let’s Encrypt SSL. You can install it with the following command:

sudo apt install certbot python3-certbot-apache

Once the Certbot is installed, run the following command to download and install Let’s Encrypt SSL for your website:

certbot --apache -d your_domain.com

Step 7. Completing the Drupal Installation.

Open your favorite web browser and go to https://your_domain.com

That’s all you need to do to install Drupal on Ubuntu 20.04 LTS Focal Fossa. I hope you find this quick tip helpful. For further reading on Drupal Content Management System, please refer to their official knowledge base. If you have questions or suggestions, feel free to leave a comment below.