How to Install Joomla 3.9 on Ubuntu 20.04

Joomla is a free and open-source content management system (CMS) built in PHP Joomla allows users to publish different kinds of websites, such as personal blogs, government applications, corporate intranets and extranets, small and large business websites, etc. configure joomla 3.9 on ubuntu 20.04


In today’s article, we will guide you through the steps of installing the latest stable release of Joomla on an Ubuntu 20.04 VPS, with all necessary components, such as Apache web server, MySQL database server, and PHP.


How to Install Neos CMS on Ubuntu 20.04

Neos CMS is an open-source and PHP-based content management system created by over 100+ contributors around the world. It is highly extensible and follows a content repository pattern. Neos CMS can be integrated with other modern front-end technologies using JSON or GraphQL export formats. With Neos CMS, you can create your blog and website without any programming knowledge.

This tutorial will explain how to install Neos CMS with Apache on Ubuntu 20.04.


  • A fresh Ubuntu 20.04 VPS.
  • Access to the root user account (or access to an admin account with root privileges)

Log in to the Server & Update the Server OS Packages

First, log in to your Ubuntu 20.04 server via SSH as the root user:

ssh root@IP_Address -p Port_number

You will need to replace ‘IP_Address‘ and ‘Port_number‘ with your server’s respective IP address and SSH port number. Additionally, replace ‘root‘ with the username of the admin account if necessary.

Before starting, you have to make sure that all Ubuntu 20.04 OS packages installed on the server are up to date. You can do this by running the following commands:

apt-get update -y

Install Apache, MySQL and PHP

First, install the Apache web server and MySQL 8 on your server:

apt-get install apache2 mysql-server -y

After installing both packages, run the following command to install PHP with all required extensions:

apt-get install php7.4 libapache2-mod-php7.4 php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-bcmath php7.4-xml php7.4-cli php7.4-gmagick php7.4-zip curl unzip git -y

Once all the packages are installed the start the Apache and MySQL service with the following command:

systemctl start apache2
systemctl start mysql

Create MySQL Database and User

Neos CMS uses MySQL or MariaDB as a database backend. So you will need to create a user and database for Neos CMS.

First, connect to the MySQL with the following command:


Next, create a database and user with the following command:

mysql> CREATE DATABASE neos CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql> CREATE USER 'neos'@'localhost' IDENTIFIED BY 'securepassword';

Next, grant all the privileges on neos database with the following command:

mysql> GRANT ALL PRIVILEGES ON neos.* TO 'neos'@'localhost';

Next, flush the privileges and exit from the MySQL shell using the following command:

mysql> EXIT;

Install Neos CMS

Before starting, you will need to install the Composer to your server. Run the following command to install Composer:

curl -sS | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

Next, change the directory to Apache webroot and download the Neos CMS using the Composer:

cd /var/www/html/
composer create-project --no-dev neos/neos-base-distribution neoscms

Next, install the required module and update the Composer with the following command:

composer require guzzlehttp/psr7 "^1.8.2"
composer update

Next, set proper permission and ownership to the neoscms directory:

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

Configure Apache for Neos CMS

Next, create an Apache virtual host configuration file for Neos CMS:

nano /etc/apache2/sites-available/neoscms.conf

Add the following lines:

<VirtualHost *:80>
     DocumentRoot /var/www/html/neoscms/Web
     <Directory /var/www/html/neoscms/Web/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted

     ErrorLog ${APACHE_LOG_DIR}/neos_error.log
     CustomLog ${APACHE_LOG_DIR}/neos_access.log combined

     <Directory /var/www/html/neoscms/Web/>
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*) index.php [PT,L]

Save the file when you are done. Then, enable the Apache virtual host and rewrite module with the following command:

a2ensite neoscms.conf
a2enmod rewrite

Next, reload the Apache service to apply the configuration changes:

systemctl restart apache2

Access Neos CMS Installation Wizard

Now, you can access the Neos CMS web installation wizard using the URL as shown below:

install neos cms on ubuntu 20.04

Click on Go to setup button. You will be asked to provide a setup password as shown below:

installing neos cms on ubuntu 20.04

Type the password from the SetupPassword.txt file and click on the Login button. You should see the requirements check page:

set up neos cms on ubuntu 20.04

Click on the Next button. You should see the database configuration page:

configure neos cms on ubuntu 20.04

Provide your database details and click on the Next button. You should see the administrator account setup page:

installation of neos cms on ubuntu 20.04

Provide your admin username, password and click on the Next button. You should see the site configuration page:

guide on installing neos cms on ubuntu 20.04

Provide your Sitename and click on the Next button. Once the installation is completed, you should see the following page:

tutorial on installing neos cms on ubuntu 20.04

Click on the go to the backend. You should see the Neos CMS login page:

how do you install neos cms on ubuntu 20.04

Provide your admin username, password and click on the Login button. You will be redirected to the Neos CMS dashboard:

neos cms ubuntu 20.04

Of course, you don’t need to do any of this if your server is covered by our Managed Linux Support services in which case you can simply ask our expert Linux admins to install Neos CMS onto your Ubuntu 20.04 server for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post, please share it with your friends on the social networks using the buttons below, or simply leave a comment in the comment section. Thanks




how to fix 502 bad gateway error in nginx

How To Fix “502 Bad Gateway” Error In Nginx

The 502 Bad Gateway error is an HTTP status code that means that one server received an invalid response from another server. In more technical words, A 502 Bad Gateway means that the proxy (gateway) server wasn’t able to get a valid or any response from the upstream server.

fixing 502 bad gateway error in nginx

If you are seeing a 502 bad gateway error on a website, it means that the origin server sent out an invalid response to another server that acted as a gateway or proxy. It can be a tricky investigation to locate what and where is the process which caused the issue. However, there are some general troubleshooting steps that you can follow to get it solved.

For example, if you use Nginx as the webserver and you encounter this issue, it could be that Nginx is unable to communicate with the upstream server, this upstream server could be PHP-FPM or other application that you want to access through Nginx, like Odoo, NodeJS, etc. (more…)

ssh tunnel using putty and firefox

SSH Tunnel using Putty and Firefox

ssh tunnel with putty and firefoxIn this tutorial, we will show you how to create an SSH Tunnel using Putty and Firefox. SSH tunnel is an encrypted tunnel created through an SSH protocol. SSH Tunnel will be used to transfer unencrypted data over a network through an encrypted channel. If your service provider or some organization has blocked certain sites using their proxy filter you can bypass them with a SOCKS 5 proxy tunnel. In general, SOCKS is a protocol that establishes a TCP connection and exchanges network packets between a client and a server through a proxy server. If you can connect to an external SSH server, you can create an SSH tunnel to forward a port on your local machine to a port in the other machine which will be the other end of the tunnel.


how to speed up a website on debian 9

How To Speed Up a Website on Debian 9

speed up website debian 9Speeding up a website is a very important process because most of the visitors will leave a slow website and visit a competitor’s website instead of suffering a delay. Also, they would not return to a website with poor loading speed. A faster page load speed gives visitors a better user experience. The impact of website speed is huge on search engine rankings too. If you strive to achieve good rankings on search engines, make sure to optimize your website for speed. Before we start working on improving the website speed, it is a good idea to know what is an acceptable web page speed. In general, the best practice is around three seconds.

There are many different steps we can take to increase website speed and improve user experience. In this guide, we will show you how to speed up a website on a Debian 9 VPS. (more…)

how to install asterisk on ubuntu 20.04

How to Install Asterisk on Ubuntu 20.04

Asterisk is an open-source framework used for building communications applications including VoIP gateways, and conference servers. It is used by small businesses, enterprises, call centers, and governments worldwide. Asterisk uses a VoIP protocol that allows you to make a call using the TCP/IP without any cost. It provides very useful features including, voicemail, call recording, automatic call, music on hold, messaging, and more.install asterisk on ubuntu 20.04

Asterisk can run on multiple operating systems, although it was originally created for Linux. Today, NetBSD, macOS, and Solaris users, among others, can install and use the Asterisk software with ease. (more…)

how to create a new user and grant permissions in mysql

How To Create a New User and Grant Permissions in MySQL

MySQL is one of the most popular and open-source relational database management systems around the world. It provides a lot of management options like creating and managing a user with specific permissions to databases and tables.

how to create a new user and grant permissions in mysql

When you hire a new developer to manage MySQL databases then you may need to grant specific permission to manage those databases such as deleting or modifying the information. In that case, it is essential for your to know how to grant specific privileges to the MySQL user account.

how to install thelia on ubuntu 18.04

How to Install Thelia on Ubuntu 18.04

We will show you how to install Thelia 2 on Ubuntu 18.04 using Apache web-server and a MySQL database. Thelia is an open-source tool for creating e-business websites and managing online content. It is written in PHP and it is published under a free license. Developed in accordance to web development standards and based on Symfony 2, Thelia meets the following objectives: performance and scalability. It is fairly easy to install Thelia 2 on an Ubuntu 18.04 VPS. The installation process should take about 10 minutes if you follow the very easy steps described below.


how to install laravel on ubuntu 18.04

How to Install Laravel on Ubuntu 18.04


Laravel is a PHP web application framework that is intended for the development of web applications following the model–view–controller (MVC) architectural pattern. It has an expressive, elegant syntax and provides tools needed for large, robust applications. In this tutorial, we will show you how to install Laravel on Ubuntu 18.04.



install mahara on ubuntu 20.04

How to Install Mahara on Ubuntu 20.04

installing mahara on ubuntu 20.04Mahara is a free and open-source electronic portfolio management system written in PHP. It is a web-based application mainly used in academic institutions to provide a platform to share their knowledge. It helps you to create a digital classroom and organize a student’s progress. You can also create a blog, build a resume, file repository, and a competency framework using Mahara. Compared to other Learning Management Systems, Mahara is distributed and user-focused.

In this tutorial, we will show you how to install Mahara on Ubuntu 20.04 server. (more…)