Joomla — одна из самых популярных систем управления контентом с открытым исходным кодом, на которой работают сотни тысяч веб-сайтов. Он написан на PHP и содержит массу функций, которые можно расширить с помощью бесплатных и дополнительных расширений и тем. С Joomla вы можете легко создать свой магазин электронной коммерции, личный веб-сайт, социальный сайт или блог.
В этом руководстве мы объясним, как установить Joomla на Ubuntu 18.04. Мы будем использовать стек LAMP с Apache в качестве веб-сервера, SSL-сертификат, последнюю версию PHP 7.2 и MySQL / MariaDB в качестве сервера базы данных.
Содержание
Подготовка
Прежде чем продолжить изучение этого руководства, убедитесь, что выполнены следующие предварительные условия:
- Имейте доменное имя, указывающее на общедоступный IP-адрес вашего сервера. Мы будем использовать
example.com
. - Вы вошли в систему как пользователь с привилегиями sudo .
- Apache устанавливается, следуя этим инструкциям .
- У вас установлен сертификат SSL для вашего домена. Вы можете установить бесплатный SSL-сертификат Let's Encrypt, следуя этим инструкциям .
Создание базы данных MySQL
Joomla может хранить свои данные, такие как статьи, категории, пользователи, расширения и настройки тем, в базе данных MySQL, PostgreSQL или MS SQL.
Мы будем использовать MySQL как внутреннюю базу данных. Если на вашем сервере Ubuntu не установлен MySQL, вы можете установить его, набрав:
sudo apt-get update
sudo apt-get install mysql-server
Войдите в консоль MySQL, набрав:
sudo mysql
Из оболочки MySQL запустите следующий оператор SQL, чтобы создать базу данных :
CREATE DATABASE joomla CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Затем создайте нового пользователя MySQL и предоставьте ему привилегии в новой базе данных:
GRANT ALL ON joomla.* TO 'joomlauser'@'localhost' IDENTIFIED BY 'change-with-strong-password';
После этого выйдите из консоли mysql, набрав:
EXIT
Установка PHP
PHP 7.2, который является версией PHP по умолчанию в Ubuntu 18.04, полностью поддерживается и рекомендуется для Joomla.
Установите PHP все необходимые расширения PHP с помощью следующей команды:
sudo apt update
sudo apt install php7.2 php7.2-cli php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-intl php7.2-xml php7.2-gd php7.2-zip php7.2-curl php7.2-xmlrpc php7.2-xmlrpc
Установите рекомендуемые параметры PHP, отредактировав файл php.ini
с помощью sed
:
sudo sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.2/apache2/php.ini
sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/apache2/php.ini
sudo sed -i "s/post_max_size = .*/post_max_size = 256M/" /etc/php/7.2/apache2/php.ini
sudo sed -i "s/output_buffering = .*/output_buffering = Off/" /etc/php/7.2/apache2/php.ini
sudo sed -i "s/max_execution_time = .*/max_execution_time = 300/" /etc/php/7.2/apache2/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/apache2/php.ini
Перезапустите apache, чтобы загрузились только что установленные расширения PHP:
sudo systemctl restart apache2
Скачивание Joomla
На момент написания этой статьи последней версией Joomla была версия 3.9.4.
Перед загрузкой архива Joomla сначала создайте каталог, в котором будут храниться файлы Joomla, и перейдите к нему:
sudo mkdir -p /var/www/example.com
cd /var/www/example.com
Затем загрузите текущую версию Joomla со страницы загрузок Joomla, используя следующую команду wget :
sudo wget https://downloads.joomla.org/cms/joomla3/3-9-4/Joomla_3-9-4-Stable-Full_Package.zip
После завершения загрузки распакуйте архив и переместите файлы в корневой каталог документов домена:
sudo unzip Joomla_3-9-4-Stable-Full_Package.zip
Измените владельца каталога на www-data
с помощью команды chown, чтобы веб-сервер имел полный доступ к файлам и каталогам сайта:
sudo chown -R www-data: /var/www/example.com
Настройка Apache
К настоящему времени у вас уже должен быть установлен Apache с сертификатом SSL в вашей системе, если нет, проверьте предварительные требования для этого руководства.
Следующим шагом является редактирование конфигурации виртуальных хостов Apache:
sudo nano /etc/apache2/sites-available/example.com.conf
Следующая конфигурация Apache [перенаправляет HTTP на HTTPS] и www на версию вашего домена без www и включает HTTP2. Не забудьте заменить example.com
своим доменом Joomla и указать правильный путь к файлам сертификатов SSL.
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
Protocols h2 http/1.1
<If "%{HTTP_HOST} == 'www.example.com'">
Redirect permanent / https://example.com/
</If>
DirectoryIndex index.html index.php
DocumentRoot /var/www/example.com
ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
<Directory /var/www/example.com>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Если не включен, включите виртуальный хост для домена. Эта команда создаст символическую ссылку с sites-available
на каталог sites-enabled
:
sudo a2ensite example.com
Чтобы новая конфигурация вступила в силу, перезапустите службу Apache, набрав:
sudo systemctl restart apache2
Завершение установки Joomla
Теперь, когда Joomla загружена и настройка сервера завершена, пора завершить установку Joomla с помощью веб-интерфейса.
Откройте браузер, введите свой домен, и появится экран, подобный следующему:
Выберите язык, который вы хотите использовать, и введите следующую информацию:
- Имя сайта — имя вашего нового веб-сайта Joomla.
- Описание — Описание сайта. Это резервное метаописание, которое будет использоваться на каждой странице без конкретного описания.
- Адрес электронной почты администратора — адрес электронной почты администратора. Используйте действующий адрес электронной почты. Если вы забудете свой пароль, вы получите ссылку для изменения пароля на этот адрес электронной почты.
- Имя пользователя администратора — имя пользователя с правами администратора. В целях безопасности установите для имени пользователя другое значение, кроме «admin».
- Пароль администратора — пароль администратора. Убедитесь, что вы используете надежный пароль. Введите тот же пароль в поле Подтверждение пароля администратора .
- Сайт не в сети — оставьте значение по умолчанию «Нет». Если вы выберете «Да», после завершения установки веб-сайт отобразит «Сайт не в сети».
Когда закончите, нажмите кнопку «Далее».
На следующем экране мастер настройки попросит вас ввести данные подключения к базе данных.
- Тип базы данных — оставьте значение по умолчанию «MySQLi».
- Имя хоста — оставьте значение по умолчанию «localhost». Если это руководство, база данных находится на том же сервере.
- Имя пользователя , пароль , имя базы данных — введите данные пользователя MySQL и базы данных, которые вы создали ранее.
- Префикс таблицы — оставьте автоматически созданный префикс.
- Старый процесс базы данных — оставьте параметр по умолчанию «Резервное копирование».
После нажатия кнопки «Далее» вы будете перенаправлены на страницу обзора:
Здесь вы можете выбрать установку демонстрационных данных и убедиться, что все проверки пройдены. Нажмите на кнопку « Install
, и после завершения установки вы попадете на страницу, информирующую вас о том, что Joomla установлена.
Если вы хотите установить дополнительные языки, нажмите кнопку «Дополнительные шаги: Установить языки».
По соображениям безопасности вам необходимо удалить каталог установки. Для этого вернитесь в терминал и выполните следующую команду rm
:
sudo rm -rf /var/www/example.com/installation
Чтобы получить доступ к вашей серверной части Joomla, нажмите кнопку « Adminstrator
. Отсюда вы можете начать настройку вашей установки Joomla, установив новые темы и плагины.
Выводы
Поздравляем, вы успешно установили Joomla с Apache на свой сервер Ubuntu 18.04. Документация Joomla — хорошая отправная точка, чтобы узнать больше о том, как начать работу с вашим новым сайтом Joomla.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.