VK Cloud logo
Updated atNovember 10, 2023   10:48 AM

Installing Joomla! on Linux

Joomla! is a content management system (CMS) written in PHP and JavaScript languages and using MySQL DBMS as a database storage.

This instruction will help you deploy CMS Joomla version 4.3.4 in the Almalinux 9 operating system in VK Cloud, as well as configure a DNS record for domain name access. MySQL 8.0 Single configuration is used as a DBMS.

Preparatory steps

  1. Register at VK Cloud.

  2. Create network1 network with internet access and a subnet with the address 10.0.0.0/24.

  3. Create VM:

    • name: Almalinux_9_Joomla;
    • operating system: Almalinux 9;
    • network: network1 with subnet 10.0.0.0/24;
    • assign a public IP address. The example will use 87.239.105.44;
    • security groups (firewall settings): default, ssh+www.
  4. Create DB instance:

    • name: MySQL-7313;
    • DBMS: MySQL 8.0;
    • configuration type: Single;
    • network: network1;
    • DB name: MySQL-7313;
    • DB username: user;
    • DB password: AN0r25e0ae4d626p;

    In the example, the internal IP of the created instance: 10.0.0.7.

  5. Create DNS zone.

  6. Create an record in the selected zone:

    • record type: A;
    • name: for example, site-joomla.example.vk.cloud;
    • IP address: external VM address 87.239.105.44.
  7. (Optional) Check the name resolution to the IP address using the command nslookup site-joomla.example.vk.cloud. Output upon successful operation:

    1Non-authoritative answer:
    2Name:   site-joomla.example.vk.cloud
    3Address: 87.239.105.44

2. Install Joomla! on VM

  1. Connect to the Almalinux_9_Joomla VM.

  2. Update the packages to the current version and reboot the VM using the commands:

    1sudo dnf update -y
    2sudo systemctl reboot
  3. Download the necessary repositories by sequentially executing the commands:

    1sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm -y
    2sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
    3sudo dnf module enable php:remi-8.2 -y
    4sudo dnf install wget httpd php php-mysqlnd php-gd php-xml php-mbstring php-intl php-pecl-zip -y
  4. Launch the httpd daemon:

    sudo systemctl enable httpd.service --now
  5. Download the Joomla CMS repository! and deploy it in the joomla subdirectory on the running web server:

    1wget https://github.com/joomla/joomla-cms/releases/download/4.3.4/Joomla_4.3.4-Stable-Full_Package.tar.gz
    2sudo mkdir -p /var/www/html/joomla
    3sudo tar xzf Joomla_4.3.4-Stable-Full_Package.tar.gz -C /var/www/html/joomla/
    4sudo chown -R apache:apache /var/www/html/joomla
  6. Set the SELinux parameters for the correct operation of the web server:

    1sudo setsebool -P httpd_enable_cgi on
    2sudo setsebool -P httpd_unified on
    3sudo setsebool -P httpd_builtin_scripting on
    4sudo setsebool -P httpd_can_network_connect on
  7. In the browser, enter the VM's public IP address with /joomla. In the current instruction it is 87.239.105.44/joomla.

  8. In the installation wizard, specify the English language and the name of the site — site-joomla.example.vk.cloud.

  9. At the “Account Settings” step, specify the CMS administrator credentials.

  10. At the “Database Parameters” step of the database, specify the parameters MySQL-7313:

    • Database type: MySQL (PDO).
    • Hostname: 10.0.0.7.
    • Database username: user.
    • Password of the database user: AN0r25e0ae4d626p.
    • Database name: MySQL-7313.
  11. (Optional) Create or delete a file in the directory /var/www/html/joomla/installation: the file name and its location will be displayed in the pop-up window of the installation wizard.

3. Check the functionality of Joomla!

In the browser, go to http://site-joomla.example.vk.cloud/joomla/. Upon successful installation, the CMS Joomla! home page will open.

Delete unused resources

Deployed virtual resources are charged. If you don't need them anymore:

  • Delete Almalinux_9_Joomla VM.
  • Delete MySQL-7313 instance.
  • If necessary, delete 87.239.105.44 floating IP address.
  • Delete site-joomla.example.vk.cloud DNS record.