Установка Joomla · 6 min read · Sep 12, 2025
Как установить Joomla с Nginx на сервере Ubuntu 24.04

Joomla — это гибкая и открытая система управления контентом для создания веб-сайтов и онлайн-публикаций. Работая на PHP, она может использоваться для множества сценариев, таких как форумы, фотогалереи, электронная коммерция и другие веб-приложения.
В этом руководстве мы покажем вам, как установить Joomla на сервере Ubuntu 24.04. Вы будете запускать Joomla с Nginx в качестве веб-сервера, MariaDB в качестве сервера баз данных и PHP-FPM. Вы также обеспечите безопасность Joomla с помощью HTTPS.
Предварительные требования
Чтобы завершить это руководство, убедитесь, что у вас есть следующее:
- Сервер Ubuntu 24.04.
- Пользователь, не являющийся root, с правами администратора.
- Доменное имя, указывающее на IP-адрес сервера.
Установка зависимостей
Joomla — это система управления контентом на основе PHP. Чтобы установить ее, вам необходимо установить PHP на вашу систему. В этом разделе вы будете устанавливать стек LEMP (Linux, Nginx, MariaDB и PHP-FPM) в качестве зависимостей для Joomla.
Сначала выполните команду ниже, чтобы обновить индекс пакетов Ubuntu.
sudo apt update
Установите зависимости стека LEMP с помощью команды ниже. Введите ‘ Y ‘, чтобы подтвердить установку.
sudo apt install nginx mariadb-server php-fpm php-curl php-common php-json php-intl php-xml php-gd php-mysql php-imagick php-mbstring php-zip
После завершения установки проверьте статус службы Nginx с помощью следующей команды:
sudo systemctl is-enabled nginx
sudo systemctl status nginxВы можете увидеть, что служба Nginx работает.

Теперь проверьте службу MariaDB, чтобы убедиться, что служба работает и включена с помощью команды ниже:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Наконец, выполните следующую команду, чтобы проверить службу PHP-FPM. PHP-FPM должен работать по умолчанию на сокет-файле.
sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm
Настройка PHP-FPM
Теперь, когда стек LEMP установлен, вы настроите установку PHP-FPM и измените некоторые параметры по умолчанию, если это необходимо для Joomla.
Откройте конфигурацию PHP-FPM ‘ /etc/php/8.3/fpm/php.ini ‘ с помощью редактора ‘ nano ‘.
sudo nano /etc/php/8.3/fpm/php.iniИзмените конфигурацию по умолчанию следующим образом:
memory_limit=512M
upload_max_filesize=64M
post_max_size=64M
max_execution_time=120
output_buffering = Off
extension=intlСохраните файл и выйдите из редактора.
Теперь перезапустите службу PHP-FPM, чтобы применить ваши изменения.
sudo systemctl restart php8.3-fpmНаконец, вы можете проверить сокет-файл PHP для службы PHP-FPM с помощью команды ниже.
ss -pl | grep phpВы можете увидеть, что сокет-файл для PHP-FPM находится по адресу ‘ /var/run/php/php8.3-fpm.sock ‘.

Настройка сервера MariaDB
В этом разделе вы обеспечите безопасность установки сервера MariaDB, а затем создадите новую базу данных и пользователя для Joomla. Вы будете использовать ‘mariadb-secure-installation’, чтобы обеспечить безопасность сервера MariaDB, а затем через клиент ‘mariadb’ создадите новую базу данных и пользователя.
Чтобы обеспечить безопасность сервера MariaDB, выполните команду ‘ mariadb-secure-installation ‘ ниже.
sudo mariadb-secure-installationТеперь вам будет предложено настроить сервер MariaDB следующим образом:
- Для установки сервера MariaDB по умолчанию без пароля root нажмите ENTER, когда вас спросят о пароле.
- Локальная аутентификация для пользователей root MariaDB по умолчанию защищена, введите ‘n’, когда вас спросят о смене метода аутентификации на ‘unix_socket’.
- Введите ‘Y’, чтобы создать новый пароль root для MariaDB. Затем введите надежный пароль для вашего пользователя root MariaDB и повторите его.
- Когда вас спросят о отключении удаленной аутентификации для пользователя root MariaDB, введите ‘Y’, чтобы согласиться.
- Установка сервера MariaDB по умолчанию включает базу данных ‘test’ и позволяет анонимному пользователю получить к ней доступ.
- Введите ‘Y’ для обоих параметров, чтобы удалить базу данных по умолчанию ‘test’ и удалить анонимные привилегии.
- Наконец, введите ‘Y’, чтобы подтвердить перезагрузку привилегий таблиц.
После того как MariaDB будет защищена, вы создадите новую базу данных и пользователя для Joomla.
Войдите в сервер MariaDB с помощью команды ‘ mariadb ‘ ниже. Введите свой пароль root MariaDB, когда вас попросят.
sudo mariadb -u root -pТеперь выполните следующие запросы, чтобы создать новую базу данных ‘ joomladb ‘ и нового пользователя ‘ joomla ‘ с паролем ‘ p4ssword ‘.
CREATE DATABASE joomladb;
CREATE USER joomla@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON joomladb.* TO joomla@localhost;
FLUSH PRIVILEGES;
Далее выполните запрос ниже, чтобы проверить привилегии для пользователя ‘ joomla ‘. Вы увидите, что пользователь ‘ joomla ‘ может получить доступ к базе данных ‘ joomladb ‘.
SHOW GRANTS FOR joomla@localhost;Наконец, введите ‘ quit ‘, чтобы выйти из сервера MariaDB.

Загрузка исходного кода Joomla
На этом этапе вы установили и настроили зависимости для Joomla. Теперь вы загрузите исходный код Joomla и настроите директорию document-root/webroot для установки Joomla.
Перейдите в директорию ‘/var/www’ и загрузите исходный код Joomla с помощью команды ‘wget’ ниже. Проверьте страницу загрузки Joomla и получите ссылку на последнюю версию.
cd /var/www/
wget https://downloads.joomla.org/cms/joomla5/5-1-4/Joomla_5-1-4-Stable-Full_Package.zipТеперь выполните команду ‘unzip’ ниже, чтобы извлечь исходный код Joomla в директорию ‘joomla’.
unzip Joomla_5-1-4-Stable-Full_Package.zip -d joomlaНаконец, выполните команду ‘chmod’ ниже, чтобы изменить владельца директории ‘/var/www/joomla’ на пользователя ‘www-data’.
sudo chown -R www-data:www-data /var/www/joomlaНастройка блока сервера Nginx
Теперь вы создадите новую конфигурацию блока сервера Nginx для запуска Joomla. Убедитесь, что у вас есть готовое доменное имя, указывающее на IP-адрес сервера.
Создайте новый файл сервера Nginx ‘ /etc/nginx/sites-available/joomla ‘ с помощью редактора ‘ nano ‘.
sudo nano /etc/nginx/sites-available/joomlaВставьте конфигурацию ниже и измените параметр ‘ server_name ‘ на ваше доменное имя.
server {
listen 80;
server_name howtoforge.local;
server_name_in_redirect off;
access_log /var/log/nginx/localhost.access_log;
error_log /var/log/nginx/localhost.error_log info;
root /var/www/joomla;
index index.php index.html index.htm default.html default.htm;
# Поддержка API
location /api/ {
try_files $uri $uri/ /api/index.php?$args;
}
# Поддержка чистых (также известных как удобных для поисковых систем) URL
location / {
try_files $uri $uri/ /index.php?$args;
}
# добавление глобального заголовка x-content-type-options
add_header X-Content-Type-Options nosniff;
# запрет выполнения скриптов внутри записываемых директорий
location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi.conf;
}
# кэширование файлов
location ~* \.(ico|pdf|flv)$ {
expires 1y;
}
location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 14d;
}
}Сохраните файл и выйдите из редактора.
Теперь выполните команду ниже, чтобы активировать блок сервера ‘ joomla ‘ и проверить вашу конфигурацию Nginx. Если у вас правильные настройки Nginx, вы увидите вывод ‘ Синтаксис в порядке ‘.
sudo ln -s /etc/nginx/sites-available/joomla /etc/nginx/sites-enabled/
sudo nginx -tНаконец, выполните команду ‘systemctl’ ниже, чтобы перезапустить службу Nginx и применить ваши изменения.
sudo systemctl restart nginx
Обеспечение безопасности Joomla с помощью HTTPS
В этом руководстве вы обеспечите безопасность Joomla с помощью HTTPS. Если вы используете публичное доменное имя, вы можете обеспечить безопасность Joomla через SSL/TLS сертификаты с помощью Certbot и Letsencrypt.
Установите ‘Certbot’ и плагин Certbot Nginx с помощью команды ‘apt’ ниже. Введите ‘Y’, чтобы подтвердить установку.
sudo apt install certbot python3-certbot-nginxПосле завершения установки выполните следующую команду ‘certbot’, чтобы сгенерировать SSL/TLS сертификаты и обеспечить безопасность вашей установки Joomla с помощью HTTPS. Убедитесь, что вы изменили доменное имя и адрес электронной почты на свои данные.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.localКогда все будет готово, ваша установка Joomla будет защищена с помощью HTTPS через SSL/TLS сертификаты от Letsencrypt.
Установка Joomla
Откройте веб-браузер и перейдите на ваше доменное имя Joomla, например https://howtoforge.local/. Вы увидите мастер установки Joomla.
Выберите ваш язык по умолчанию и введите название вашего сайта.

Введите нового администратора, электронную почту и пароль для Joomla.

Введите данные вашей базы данных MariaDB и пользователя, затем нажмите ‘ Установить Joomla ‘, чтобы продолжить установку.

После завершения установки нажмите ‘ Открыть сайт ‘, чтобы открыть главную страницу по умолчанию, или ‘ Открыть администратор ‘, чтобы получить доступ к панели управления Joomla.

На главной странице Joomla по умолчанию вы увидите следующее.

Теперь введите своего администратора и пароль и нажмите ‘ Войти ‘.

Если у вас правильный пользователь и пароль, вы увидите следующую панель управления Joomla.

Заключение
Поздравляем! Вы установили Joomla на сервере Ubuntu 24.04. Вы запустили Joomla с веб-сервером Nginx, сервером баз данных MariaDB и PHP-FPM. Вы также обеспечили безопасность Joomla с помощью HTTPS через Certbot и Letsencrypt.
Get new posts in your inbox
No spam. Unsubscribe anytime.