Joomla User Manual
Manual Index
Joomla CLI Installation
Introduction¶
The Joomla CMS is usually installed via a web browser interface. However, experienced users may wish to install Joomla using commands in a terminal interface. This allows rapid deployment of multiple Joomla instances.
System Requirements¶
Joomla requires PHP, a database and a web server. For the latest information about the supported software and the minimum and recommended versions, please visit the Technical Requirements page.
The installation can be performed in two different ways:
- Manual installation
- Script-driven automatic installation
Manual installation¶
Manual installation offers good control during the installation process. Each
step is visible in the terminal and can be aborted with Ctrl+C
in case of
an incorrect entry.
Steps to be accomplished¶
- Upload the installation package zip or tar file to the web server.
- Uncompress the zip or tar file.
- Rename the uncompressed folder and move it to an appropriate place in the web server document root.
- Change to the folder containing the Joomla code and run the following
command:
php installation/joomla.php install
- You will be prompted for the parameters required for installation, as in the following example transcript:
php installation/joomla.php install
Install Joomla
==============
Checking system requirements...OK
Collecting configuration...
Enter the name of your Joomla site:
> J51
Enter the real name of your Super User:
> John Doe
Set the username for your Super User account:
> johndoe
Set the password for your Super User account:
>
Enter the email address of the website Super User:
> johndoe@example.com
Database type. Supported: mysql, mysqli, pgsql [mysqli]:
>
Database host [localhost]:
>
Database username:
> j4
Database password:
>
Database name [joomla_db]:
> j51
Prefix for the database tables [u5dke_]:
>
Encryption for the database connection. Values: 0=None, 1=One way, 2=Two way [0]:
>
Relative or absolute path to the public folder []:
>
OK
Validating DB connection...OK
Creating and populating the database...OK
Writing configuration.php and additional setup ...OK
Deleting /installation folder...OK
[OK] Joomla has been installed
Once the script is successfully completed the new website can be accessed via your web browser.
Notes¶
- Pay careful attention to your input. It is not possible to step back in the script. If the input is incorrect, the script must be aborted.
- The name of your Joomla site appears in the Adiministrator Title bar so keep it short and distinctive. It can be changed later.
- The real name of your Super User can be changed later.
- The username for your Super User account should avoid a name similar to admin. It is potentially insecure as it can be guessed easily by a hacker.
- The User password must be 12 characters.
- The Database type default is mysqli. Supported database types are MySQL (mysql) and PostgreSQL (pgsql) databases and compatible types such as MariaDB.
- The Database host is almost always
localhost
. An IP address or a host name should be entered here only if the responsible database server is installed on another host. However, the terminal user has to have write permissions on the selected host. You will get this information from your internet provider (ISP). - The Database username is usually different from the name of the Super User.
- The Database password for the Joomla database is almost always different from the Super User password.
- The Database name defaults to
joomla_db
but other names are often used. - The Prefix for the database tables is set to a random selection of five characters. The value is used to separate Joomla tables from other tables contained in the database if it is used also by other applications.
- The Encryption setting for the database connection is rarely used. Unless advised otherwise by your ISP leave this value at the default [0].
Script-driven automatic installation¶
The installation of Joomla is controlled by a joomla.php file located in the installation subfolder after unpacking the Joomla package file. Any programming language that allows calling and executing PHP files allows you to create a script that automates the necessary preparations and the actual installation using custom variables. A list of parameters can be obtained with the following command:
php installation/joomla.php help install
Here is an example shell script named jinstall.sh placed in the Joomla root folder created for a simple Joomla installation:
#!/bin/bash
php installation/joomla.php install \
--site-name=SITE-NAME \
--admin-user=ADMIN-USER \
--admin-username=ADMIN-USERNAME \
--admin-password=ADMIN-PASSWORD \
--admin-email=johndoe@example.com \
--db-type=mysqli \
--db-host=localhost \
--db-user=j51 \
--db-pass=Garbage1n0ut \
--db-name=j51 \
--db-prefix=xyz12_ \
--db-encryption=0 \
--public-folder=j51
With its permissions set to 700 it is a simple matter to call the script
from the command line with ./jinstall.sh
and Joomla is installed literally
in a flash. The script could have been edited to change placeholder values or
they could be changed later after Administrator login.
If you use this approach remember to delete your jinstall.sh script or move it out of your web tree for use elsewhere later. The installation folder is removed at the end of the installation process. So running the jinstall.sh script a second time will not work.