- Установка Joomla 3.9 на Astra Linux Orel 2.12
- Установка Mysql
- Установка Joomla
- Сборка PHP 7.4 с поддержкой Mysqli
- Включаем SEF URL (ЧПУ - Человекопонятные URL )
- Заключение
- Astra linux web server
- Установка и настройка Nginx, PHP, MySQL
- Операционные системы Astra Linux
- Установка и настройка Apache2 на Astra Linux
- Подготовка системы
- Установка и настройка Apache2
Установка Joomla 3.9 на Astra Linux Orel 2.12
В прошлой статье мы установили PHP 7.4 на Astra Linux Orel 2.12 . Сегодня мы проверим корректность установки и наличие всех необходимых расширений PHP для нормальной работы Joomla .
Установка Mysql
Для работы Joomla необходима база данных — СУБД. Самой популярной и простой в настройке СУБД является Mysql. В силу ряда изменений в лицензионной политики Mysql сообществом был создан, полностью совместимый с Mysql, форк — MariaDB. Установим MariaDB :
sudo apt install mariadb-server
echo -e '\n\nPa$$w0rd\nPa$$w0rd\ny\nn\ny\ny' | sudo mysql_secure_installation 2>/dev/null
Скрипт настройки задает множество вопросов, строка выше позволяет автоматизировать процесс настройки. Пароль для root задается между двумя символами \n
use mysql; CREATE USER 'root'@'192.168.1.30' IDENTIFIED BY 'Pa$$w0rd'; GRANT ALL on *.* TO 'root'@'192.168.1.30' WITH GRANT OPTION; update user set plugin='mysql_native_password' where user='root'; FLUSH PRIVILEGES;
Здесь мы создаем пользователя root для доступа с удаленного ПК с адресом 192.168.1.30 и предоставляем ему максимальные права доступа к серверу. Так же обратите внимание на строку:
update user set plugin='mysql_native_password' where user='root';
sudo mysql -u root --password='Pa$$w0rd' < setauth.sql
sudo mcedit /etc/mysql/mariadb.conf.d/50-server.cnf
#skip-external-locking #bind-address = 127.0.0.1
sudo service mysql restart
Теперь вы можете попробовать зайти на сервер с удаленного ПК, для управления Mysql серверами я использую HeidiSQL https://www.heidisql.com Создадим базу и пользователя для Joomla
use mysql; CREATE DATABASE `joomla` COLLATE 'utf8mb4_general_ci'; CREATE USER 'joomla'@'localhost' IDENTIFIED BY 'Pa$$w0rd'; GRANT ALL on *.* TO 'joomla'@'localhost' WITH GRANT OPTION; update user set plugin='mysql_native_password' where user='joomla'; FLUSH PRIVILEGES;
Установка Joomla
На момент написания статьи последняя версия Joomla 3.9.28 , ссылку на свежую версию вы можете найти на официальном сайте: https://downloads.joomla.org/ Перейдем в папку сервера и скачаем Joomla 3.9
cd /var/www/html sudo wget --output-document=joomla.zip https://downloads.joomla.org/cms/joomla3/3-9-28/Joomla_3-9-28-Stable-Full_Package.zip?format=zip
Обратите внимание! Для нормальной работы на папки и файлы необходимо установить разрешения:
для папок - 755 для файлов - 644
sudo find /var/www/html -type f -exec chmod 644 <> \;
sudo find /var/www/html -type d -exec chmod 755 <> \;
sudo chown -R www-data /var/www/html sudo chgrp -R www-data /var/www/html
http://192.168.1.240:9999/installation/
Заполним поля на первом экране: На следующем экране у нас возникает следующая проблема – в списке БД нет Mysqli . Проверим тестовую страницу PHP http://192.168.1.240:9999/test.php Упоминание Mysqli есть только в блоке Module Authors Значит нам придется пересобрать PHP 7.4 с поддержкой mysqli !
Сборка PHP 7.4 с поддержкой Mysqli
sudo service php-7.4-fpm restart
Обновим страницу: http://192.168.1.240:9999/test.php У нас появился блок с mysqli Обновим страницу http://192.168.1.240:9999/installation/ Заполним первую страницу и перейдем ко второй: У нас появилась строчка с Mysqli Заполним поля на следующем экране. В качестве пароля укажем
это важно! На следующем экране нажмите «Установка» Нажмите «Удалить директорию» Нажмите «Сайт»: Давайте попробуем зайти в админ-панель сайта:
http://192.168.1.240:9999/administrator/
Как видите всё работает!
Включаем SEF URL (ЧПУ - Человекопонятные URL )
Напоследок исправим файл конфигурации nginx, для настройки Mod Rewrite, чтобы у нас заработали SEF URL ( Search Engine Friendly URLs ) или ЧПУ ( Человекопонятные URL ):
sudo mcedit /etc/nginx/sites-available/default
sudo service nginx restart
Заключение
Сегодня мы установили Joomla 3.9 на Astra Linux Orel. Установили сервер MairaDB и создал пользователя для Joomla. Скачали и распаковали Joomla Настроили права доступа и группы для папок и файлов Joomla Добавили поддержку Mysqli в PHP 7.4 и пересобрали его. Установили Joomla и проверили работоспособность фронтэнда и админ-панели. Внесли изменения в файл конфигурации таким образом, чтобы обеспечить поддержку SEF URL (ЧПУ - Человекопонятные URL ).
Astra linux web server
Заходим в систему под суперпользователем: Настраиваем сеть. В Astra Linux это делается также как и в Ubuntu:
* В данном примере мы настроили сетевой интерфейс eth0 (задали IP-адрес 192.168.0.15 маску 255.255.255.0 и шлюз по умолчанию 192.168.0.1) Для применения настроек необходимо перезапустить сетевую службу:
В Astra Linux по умолчанию не настроены репозитории для установки пакетов, поэтому необходимо это сделать:
Для синхронизации времени установим пакет ntpdate, синхронизируем время и настроим автоматическое задание: # apt-get install ntpdate
# ntpdate ru.pool.ntp.org
# mkdir -p /var/cron/tabs && echo ‘0 0 * * * /usr/sbin/ntpdate ru.pool.ntp.org’ >> /var/cron/tabs/crontab && crontab /var/cron/tabs/crontab && crontab -l
Установка и настройка Nginx, PHP, MySQL
Теперь можем обновлять список пакетов и устанавливать веб-сервер nginx: # apt-get update
# apt-get install nginx Демон запускается автоматически. Попробуйте открыть браузер и ввести IP-адрес сервера. Вы должны увидеть приветствие от Nginx. Устанавливаем php и php-интерпретатор: # apt-get install php5 php5-fpm В Astra Linux по умолчанию nginx работает от учетной записи nginx, а php-fpm — от www-data. В результате этого при попытке использовать веб-сервер с php-скриптами мы получим ошибку. Для решения этой проблемы необходимо поменять пользователя, от которого будет работать либо nginx, либо php-fpm. В данном примере, nginx:
expires modified +1w; * site.local необходимо заменить на домен вашего веб-приложения или сайта.
** /var/www/site.local — директория, в которую мы поместим файлы сайта.
*** allow 192.168.0.0/16 — подсеть, для которой мы разрешаем доступ к сайту. Если ограничивать не требуется, удалите строчку и следующую за ней deny all.
**** Остальные параметры я рекомендую изучить самостоятельно. Создаем директорию для сайта, которую мы указали в конфигурационном файле: Создаем в нем файл index.php с функцией phpinfo: Перезапускаем наши демоны: # service php5-fpm restart && service nginx restart Проверьте работоспособность сервера, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.0.15). Сервер должен вернуть много параметров в различных таблицах.
Также в данных таблицах вы должны увидеть «MySQL Suppert — Enabled». Это говорит о том, что сервер готов к работе с базой MySQL. Источник
Операционные системы Astra Linux
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении. Astra Linux Common Edition предназначена для автоматизации коммерческих предприятий и органов государственного управления. Astra Linux Special Edition предназначена для применения в автоматизированных системах в защищенном исполнении, обрабатывающих информацию ограниченного распространения, включая государственную тайну до степени секретности «особой важности» . На сайте представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения. Кроме того, предоставлена возможность скачать дистрибутивы и исходные тексты операционной системы Astra Linux Common Edition, а также задать интересующие вопросы разработчикам . Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков. Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить на нашем сайте. Источник
Установка и настройка Apache2 на Astra Linux
В данной статье приведён пример установки и настройки Apache HTTP Server (Apache2) на OC Astra Linux SE. Если в ОС уже настроен виртуальный дисплей xvfb, то подготовка системы не требуется и можно перейти сразу к установке Apache2.
Подготовка системы
Выполните следующие действия: Разрешите доступ к DISPLAY 0.0. Для этого откройте файл X0.hosts, выполнив в терминале команду: sudo nano /etc/X0.hosts
В открывшемся файле добавьте строку: Примечание . Если у вас физический дисплей настроен на другой номер, то после X необходимо указать соответствующую цифру. Откройте конфигурационный файл xserverrc: sudo nano /etc/X11/xinit/xserverrc exec /usr/bin/X -nolisten tcp «$@» Откройте конфигурационный файл fly-dmrc: sudo nano /etc/X11/fly-dm/fly-dmrc
sudo service fly-dm restart После перезагрузки X-сервера запустите его заново командой startx и авторизуйтесь. Для корректной работы сервисов должен быть произведён вход пользователем в графическое окружение системы из физической консоли.
Установка и настройка Apache2
В стандартной поставке Astra Linux SE Apache2 доступен только в конфигурации prefork. В связи с этим для Astra Linux используется Apache2 собственной сборки, собранный с модулем coworker. Apache HTTP Server поставляется с архивом платформы и распаковывается в каталог /opt/ Foresight /fp9.2 -biserver/bin/apache/2.2. Примечание . При смене каталога расположения Apache HTTP Server надо изменить в файле conf/httpd.conf значения параметров ServerRoot, DocumentRoot, Directory и ScriptAlias, где указан путь до /opt/ Foresight /fp9.2-biserver/bin/apache/2.2, на соответствующий новому расположению веб-сервера. Перенесите init-файл apache2-fp9.2 в каталог /etc/init.d/ командами в терминале: sudo cp /opt/ Foresight /fp9.2 -biserver/bin/apache/2.2/apache2-fp9.2 /etc/init.d/ sudo chmod +x /etc/init.d/apache2-fp9.2
init-файл запуска Apache2 можно создать вручную, вставив листинг скрипта ниже в файл /etc/init.d/apache2-fp9.2. Откройте файл для редактирования: sudo juffed /etc/init.d/apache2-fp9.2 Вставьте текст скрипта и сохраните файл apache2-fp9.2: # Required-Start: $local_fs $remote_fs $network $syslog $named # Required-Stop: $local_fs $remote_fs $network $syslog $named # Default-Start: 2 3 4 5 # Short-Description: Start/stop apache2 web server