IconsPage/important.png This guide was written for Ubuntu Server 20.04 and Joomla 4.0 The guide may be applicable for other version of Joomla!, Ubuntu or other Debian based distributions, but they have not been tested. If you have success with using this guide on other versions of Ubuntu or other Debian based distributions please feel free to add a note to this document.

Joomla! Community Documentation

Joomla! provides an online collaborative community manual for Joomla! users, developers or anyone interested in learning more about Joomla! Currently, they have over 4000 articles written and maintained by Joomla! community members.


This guide assumes you have installed a LAMP SERVER. See: LAMP_SERVER. NOTE: The command line in the instructions to install the LAMP SERVER are incorrect, the correct command line is: sudo tasksel install lamp-server^

  • (Note the caret ^ at the end of the command line.)

There are several prerequisites before you start installing Joomla!.

PHP settings must be adjusted to install. The settings are usually in "/etc/php/7.4/apache2/php.ini"

The values for PHP.INI below are suggested values only.

 memory_limit - Minimum: 64M Recommended: 128M or better
 upload_max_filesize - Minimum: 30M
 post_max_size - Minimum: 30M
 max_execution_time: Recommended: 30

2. Create the MySql Database, the "JoomlaUser" and Grant Permissions to the Database

_Write this Information Down_

 sudo mysql -u root -p
 CREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'new_password_here';
 GRANT ALL ON joomla.* TO 'joomlauser'@'localhost';

SECURITY NOTE You do not want Joomla to use the mysql 'root user' to access the database. The above command creates a mysql user (other than the mysql root user) with privileges to use the joomla database. You will need to chose the yourusername and yourpassword.

3. Activate Uncomplicated FireWall

 sudo ufw enable
 sudo ufw allow 'Apache Full' 

An introduction to UFW can be found here: UFW


1. Create a temporary directory to download and extract the Joomla package.

 mkdir joomla
 cd joomla
 sudo wget -O joomla4.zip https://downloads.joomla.org/cms/joomla4/4-0-3/Joomla_4-0-3-Stable-Full_Package.zip?format=zip
 unzip joomla4.zip
 rm -f joomla4.zip

2. Move the files and change ownership

 cd ..
 sudo mv joomla /var/www
 sudo chown -R www-data:www-data /var/www/joomla

3. Change File, Directory Permissions, Owner and Group

sudo find /var/www/joomla/ -type f -exec chmod 644 {} +
sudo find /var/www/joomla/ -type d -exec chmod 755 {} +
sudo chown -R www-data:www-data /var/www/joomla


1. Create your Virtual Host

  •  sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mynewsite.conf
     sudo nano /etc/apache2/sites-available/mynewsite.conf

2. Copy the following into your newly created Virtual Host

 <VirtualHost *:80>
     ServerName mynewsite.com
     ServerAlias www.mynewsite.com
     ServerAdmin webmaster@mynewsite.com
     DocumentRoot /var/www/joomla
     LogLevel error

3. Enable your Virtual Host

 sudo a2ensite mynewsite
 sudo a2dissite 00-default.conf
 sudo systemctl restart apache2.service


Once the above requirements are met, a database created and the required Joomla! files in place, you are ready to install Joomla!.

Enter https://www.yoursitename.com into your browser, and you should see the installation screen.


Joomla will try to Select the Language automatically from your browser's language. You can change this if needed. Fill in the following information.

  • Site Name: The name of your website — this can be changed at any point later in the Site Global Configuration page. When everything on the first page is completed, click the Setup Login Data button to proceed:



You should now see the login data screen. Fill in the following information.

  • Real Name: The name of the Super User. This is how Joomla will greet you when you log in!

  • Super User account username: The username for the Super User. Avoid using admin (a good Security measure) or use My Profile in the Administration interface to change it later.

  • Admin Password: Remember that Super User has maximum control of the site (frontend & backend), so try to use a difficult password. Use My Profile in the Administration interface to change it later.

  • Super User Email Address: The Super User email address. Enter a valid email in case you forget your password. This is the email address where you'll receive a link to change the admin password.

When everything on the second page is completed, click the Setup Database Connection button to proceed.

  • joomla2.png


Grab the information you wrote down when you Created your MySql Database, above.

These instructions are a reference to installing with a MySQLi database. They are on the installation page and are self explanatory, but here they are for reference:

  • Database Type: MySQLi is the common database used

  • Hostname: Where your database is located. Common is localhost, but some hosts use a specific database server such as dbserver1.yourhost.com

  • Username: The username used to connect to the database

  • Password: The password for the database's user

  • Database Name: The name of the database

  • Table Prefix: This is generated automatically and can be a helpful security step, but you can change it. For example, jos3_ can be used. Just don't forget to put the underscore character (_) at the end of the prefix.

  • Connection Encryption: specifies how the connection to the database should be encrypted. If you don't know - then it's best to stick to the default. However, this allows enterprises with two way SSL encryption to the database to provide it.

All these choices and more can be edited on the Site Global Configuration page, under Server Options after the installation is completed. Note, you will break your installation if you change these settings after installation unless you have a complete copy of the current database being used by the Joomla installation. Common uses would be to update the username and password of the database or to complete a move of an existing installation to a new host with different parameters.

After you click the Install Joomla button, you should see the Joomla logo spinning. Once the installation completes, you should see the success page!



Congratulations! Joomla! 4 is now installed. If you want to start using Joomla right way without installing extra languages

  • there is one last step to complete the installation. You must delete the Installation Folder. Click on Remove installation folder and a success message will appear. Now you can navigate to the Administrator Dashboard log in by clicking Complete & Open Admin or go right to your site by clicking Complete & Open Site. You may see a section with recommended PHP settings.

  • Recommended Settings: These settings are recommended in your PHP configuration, but will not prevent Joomla! from being installed. You can refer to the above instructions on how they may be changed if there is a need to do so.



  • Now you have a decision to make. If you wish to complete the installation without Installation Extra Languages,delete the 'installation folder'. As part of the Joomla installation process you are given the opportunity to install additional languages before you complete the installation by deleting the Installation Folder.To do this click on the Install Additional Languages button. This will take you to an extra installation page allowing you to select the languages you require.

A list of language packs is displayed. Select up to 3 languages you wish to install (more than 3 at once can cause timeout issues - you can install more later). Remember the following:

  • Language packs included in custom distributions will not be listed at this stage as they are already installed.
  • A version of the packs proposed will match the Joomla Major version (4.0.x, 4.1.x, etc.). The minor version of the pack may not correspond, e.g. you are installing version 4.0.3 and a 4.0.2 language pack is shown.
  • Unmatched language packs may have un-translated strings.
  • The unmatched language packs will be offered as an update when the packs are updated by the registered Translation teams.

    The available update will be shown in the Control panel as well as in Extensions

Manager → Update. This behaviour is similar to Extensions Manager → Install Languages.

Click Next and a progress bar will be display while the language pack or packs are installed.

  • joomla5.png


When the installation of the languages is complete you will now be presented with a very similar Congratulations,Your Joomla site is ready. The difference will be a list of the installed languages allowing you to select the default language for the Site and the Administrator interface.

  • Select the default language you wish to use.
  • When you have selected the default language, click the Set default language button to confirm.

  • A system message will be displayed confirming Joomla has set the default ADMINISTRATOR and SITE language. That message can be closed.



You must now delete the Installation Folder. Click on Remove Installation folder. You will get a confirmation message and now can navigate to the Administrator Dashboard log in by clicking Complete & Open Admin or go right to your site by clicking Complete & Open Site. _

Congratulations and welcome to the world of Joomla!

Joomla (last edited 2021-10-12 01:49:26 by arthurjohnston)