Joomla installation on Linux VPS

Joomla is a content management system for a site or, in other words, a (English Content Management System), which uses the PHP scripting language and a or PostgreSQL . Joomla is easy to install, offers many features and settings that make it very flexible and easy to use for a novice user.

When ordering a VPS / VDS server , novice users have questions about how to create their own website. Consider installing a CMS on a Linux server.

System requirements

A prerequisite for installing Joomla on your server is the presence of the so-called LAMP (a bunch of Linux / MySQL PHP), or a LEMP stack (Linux Nginx MariaDB / MySQL PHP).

You also need to change some PHP settings that are in the php.ini file. Recommended php.ini parameter values:

  • memory_limit : minimum: 64M . Recommended: 128M or more;
  • upload_max_filesize : minimum: 20M ;
  • post_max_size : min: 20M ;
  • max_execution_time : minimum 120 . Recommended: 300 .

Settings and installation

All actions described in this article are performed as the root superuser . Download the installation package of our CMS:

root@webserver:~# wget

At the time of writing, the latest stable version is 3.9.13. You can download the latest stable installation package on the official Joomla website . From the official site it is possible to download the installation package packaged as .tar.bz2, .tar.gz and zip-archive. You need to create a new directory for the site on Joomla in the root directory of the web server and unpack the archive there:

Let’s create a directory:

root@webserver:~# mkdir /var/www/html/

Unpack the archive:

root@webserver:~# unzip -d /var/www/html/

For other formats:

root@webserver:~# tar -xvf file.tar.bz2 -C /var/www/html/
root@webserver:~# tar -xvf file.tar.gz -C /var/www/html/

Then we change the owner of the directory and assign the necessary rights to files and folders.

If LAMP is used :

root@webserver:~# chown -R www-data:www-data /var/www/html/

If LEMP is used :

root@webserver:~# chown -R nginx:nginx /var/www/html/

Directory permissions:

root@webserver:~# find /var/www/html/ -type d -exec chmod 755 {} ;

File permissions:

root@webserver:~# find /var/www/html/ -type f -exec chmod 644 {} ;

Let’s configure the virtual host in the web server configuration file.

For Apache2 :


root@webserver:~# nano /etc/apache2/sites-enabled/


root@webserver:~# nano /etc/httpd/conf.d/joomla.conf
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/
DirectoryIndex index.php index.html
DirectorySlash off
RewriteEngine on
RewriteBase /
AllowOverride all

Restart Apache2:


root@webserver:~# service apache2 restart


root@webserver:~# service httpd restart

For Nginx :

root@webserver:~# nano /etc/nginx/sites-enabled/
server {
listen 80;
listen [::]:80;
root /var/www/html/;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;

I restart Nginx:

root@webserver:~# service nginx restart

Rename the htaccess.txt file:

root@webserver:~# mv /var/www/html/ /var/www/html/

Now you can go to your site where the Joomla CMS graphical installer will be launched. Complete the installation of Joomla according to the instructions.


Welcome to the world of DomainRooster, where roosters (and hens) rule the roost! We're a one-stop shop for all your entrepreneurial needs, bringing together domain names and website hosting, and all the tools you need to bring your ideas to life. With our help, you'll soar to new heights and hatch great success. Think of us as your trusty sidekick, always there to lend a wing and help you navigate the sometimes-complex world of domain names and web hosting. Our team of roosters are experts in their fields and are always on hand to answer any questions and provide guidance. So why wait? Sign up today and join the ranks of the world's greatest entrepreneurs. With DomainRooster, the sky's the limit! And remember, as the saying goes, "Successful people do what unsuccessful people are not willing to do." So don't be afraid to take that leap of faith - DomainRooster is here to help you reach for the stars. Caw on!