Joomla — это бесплатная система управления контентом (CMS) с открытым исходным кодом, одна из самых популярных в мире, которая позволяет пользователям создавать собственные веб-сайты и приложения.
Она построена на PHP и хранит свои данные в базе данных на базе SQL, такой как MySQL/MariaDB.
В этой статье рассмотрим, как установить Joomla.
Протестировано на:
Almalinux: 8|9|10
Ubuntu: 22.04
Обновление системы
Обновите операционную систему, чтобы убедиться, что все существующие пакеты имеют последнюю версию.
На RHEL-like дистрибутивах:
sudo dnf update На Debian-like дистрибутивах :
sudo apt update && sudo apt upgrade -yУстановка веб-сервера Apache.
Установить веб-сервер Apache можно следующими командами:
# RHEL-like:
sudo dnf install httpd
# Debian-like:
sudo apt install apache2После установки запустим службу Apache и добавим ее в автозагрузку, введя следующие команды:
# RHEL-like:
sudo systemctl start httpd
sudo systemctl enable httpd
# Debian-like
sudo systemctl start apache2
sudo systemctl enable apache2Проверьте статус службы Apache.
На RHEL-like:
sudo systemctl status httpd
На Debian-like:
sudo systemctl status apache2
Так же можно проверить работу, перейдя по адресу:
http://IP-адрес_сервера
Если все установлено правильно, вас должна приветствовать страница Apache2 по умолчанию, как показано ниже.

Настройка файрвола
Для открытия портов на серверах под управлением дистрибутивов на базе RHEL можно использовать следующую команду:
sudo firewall-cmd --add-port=80/tcp --zone=public --permanent
sudo firewall-cmd --reloadУстановка PHP и расширений PHP для Joomla .
Для установки последней версии PHP в дистрибутивах на базе RHEL, установим репозитории Remi
# Для Almalinux 8:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
# Для Almalinux 9:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm
# Для Almalinux 10:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-10.rpm Затем активируем модуль с последней доступной на сегодняшний день версией PHP 8.4 с помощью следующей команды:
sudo dnf module enable php:remi-8.4Теперь, когда Вы добавили репозиторий Remi PHP и включили модуль с PHP 8.4 в качестве версии по умолчанию, вы можете установить PHP 8.4 и необходимые зависимости с помощью следующей команды:
# На RHEL-like:
sudo dnf install php php-bcmath php-intl php-soap php-zip php-gd php-mysql
# На Debian-like:
sudo apt install php libapache2-mod-php php-dev php-bcmath php-intl php-soap php-zip php-curl php-mbstring php-mysql php-gd php-xmlПроверим установку PHP
php -v
Установка MariaDB и создание базы данных
Вы можете установить MariaDB с помощью следующей команды:
# На RHEL-like:
sudo dnf install mariadb-server
# На Debian-like
sudo apt install mariadb-serverЗапустим службу сервера базы данных, а также добавим его в автозагрузку с помощью следующих команд:
sudo systemctl start mariadb
sudo systemctl enable mariadbПроверим статус службы MariaDB с помощью следующей команды:
sudo systemctl status mariadb
После установки сервера базы данных войдите в командную строку MariaDB:
sudo mysql -u rootЧтобы создать базу данных, пользователя и предоставить ему все привилегии, выполните следующие команды:
CREATE DATABASE joomla_db;
CREATE USER 'joomla_user'@'localhost' IDENTIFIED BY 'Password';
GRANT ALL ON joomla_db.* TO 'joomla_user'@'localhost';
FLUSH PRIVILEGES;
EXITЗагрузка joomla.
Теперь мы загрузим последнюю версию Joomla с официального сайта.
Используйте следующую команду для загрузки Joomla 5 (На момент написания статьи последняя доступная версия: 5.3.2) :
sudo wget https://downloads.joomla.org/cms/joomla5/5-3-2/Joomla_5-3-2-Stable-Full_Package.zipИзвлеките файл в папку /var/www/html/joomla/ с помощью следующей команды:
sudo unzip Joomla_5-3-2-Stable-Full_Package.zip -d /var/www/html/joomlaНазначим права для файлов joomla пользователю веб-сервера Apache:
В RHEL-like:
sudo chown -R apache:apache /var/www/html/joomla/В Debian-like:
sudo chown -R www-data:www-data /var/www/html/joomla/Настройка веб-сервера Apache для Joomla.
Создайте файл конфигурации для joomla
# Для RHEL-like
nano /etc/httpd/conf.d/joomla.conf.
# Для Debian-like
nano /etc/apache2/sites-available/joomla.confДобавьте в него следующее содержание:
Для RHEL-like:
<VirtualHost *:80>
ServerAdmin webmaster@your-domain.com
ServerName your-domain.com
ServerAlias www.your-domain.com
DocumentRoot /var/www/html/joomla
<Directory /var/www/html/joomla/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/your-domain.com_error.log
CustomLog /var/log/httpd/your-domain.com_access.log combined
</VirtualHost>Для Debian-like:
<VirtualHost *:80>
ServerAdmin webmaster@your-domain.com
ServerName your-domain.com
ServerAlias www.your-domain.com
DocumentRoot /var/www/html/joomla
<Directory /var/www/html/joomla/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log
CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined
</VirtualHost>Сохраните файл и выйдите.
В RHEL-like дистрибутивах перезапустите сервер Apache
sudo systemctl restart httpd⚠️Если у вас включен SELinux, то необходимо будет изменить контекст безопасности для рабочей папки:
Bashchcon -Rv -t httpd_sys_rw_content_t /var/www/html/joomla/
В Debian-like дистрибутивах активируйте виртуальный хост Joomla:
sudo a2ensite joomla.confПерезапустите веб-сервер Apache:
sudo systemctl restart apache2Доступ к веб-установщику Joomla.
Откройте браузер, введите ip или доменное имя вашего сервера
http://ip_address/
И выполните следующие шаги для завершения установки.

Далее необходимо будет настроить имя пользователя — администратора сайта:

Настройки подключения к БД. Здесь необходимо указать данные, которые были указаны при настройке БД

И ждем окончание установки:

Нажмите «Открыть панель управления». Вы попадете на экран входа в систему:

Введите имя и пароль администратора Joomla, и нажмите «Log in». Вы увидите панель управления:

Заключение
Вот и все. Мы успешно установили CMS Joomla на Almalinux.
Если у вас есть какие-либо вопросы, пожалуйста, оставьте комментарий ниже.
Было ли это полезно?
1 / 0