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.
PREPARE FOR INSTALLATION
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!.
1. Recommended PHP.INI Settings
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 DATABASE joomla; CREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'new_password_here'; GRANT ALL ON joomla.* TO 'joomlauser'@'localhost'; FLUSH PRIVILEGES; EXIT;
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
DOWNLOAD JOOMLA!
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
YOUR APACHE VIRTUAL HOST
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 </VirtualHost>
3. Enable your Virtual Host
sudo a2ensite mynewsite sudo a2dissite 00-default.conf sudo systemctl restart apache2.service
START INSTALL
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.
1. MAIN CONFIGURATION
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:
2. LOGIN DATA
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.
3. DATABASE CONFIGURATION
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!
FINISHING UP THE INSTALLAION
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.
INSTALLING EXTRA LANGUAGES
- 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.
1. CHOOSE DEFAULT LANGUAGE.
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.
2. FINALISE
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!