Модуль 2. Задание 7.¶
Решение¶
HQ-SRV¶
Пакеты
На некоторых дистрибутивах может потребоваться установить пакеты apache2 mariadb-server mariadb-client.
apt-get update && apt-get install -y apache2 mariadb-server mariadb-client
PHP на облачном образе p11
Актуально только для облачной редакции ALT p11 из приложения к заданию 2 (Прил_5). В ней нет PHP, и без apache2-mod_php8.3 и php8.3-mysqlnd-mysqli вместо сайта будет отдаваться исходный код. Шанс встретить на экзамене именно эту редакцию p11 крайне мал.
apt-get install -y apache2-mod_php8.3 php8.3-mysqlnd-mysqli
Отключаем службу Alterator Frontend, если присутствует:
systemctl disable --now ahttpd
Запускаем службы:
systemctl enable --now httpd2 mysqld
Настраиваем СУБД:
mysql_secure_installation
В интерактивном режиме:
Enter current password for root (enter for none): <enter>
Switch to unix_socket authentication [Y/n] y
Change the root password? [Y/n] y
New password: toor
Re-enter new password: toor
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
Находим диск с нашим Additional.iso, его можно определить по весу. В районе 930 MB. В качестве примера будет использоваться название sr0.
lsblk
Тут убеждаемся, что он ещё не смонтирован, т. е. вывод пустой.
mount | grep -i "sr0"
df -h | grep -i "sr0"
Если ничего не смонтировано, то монтируем в /mnt/additional:
mkdir -p /mnt/additional/
mount /dev/sr0 /mnt/additional/
Если всё-же Additional.iso уже куда-то смонтирован, то просто подмените пути на свои.
Создаём базу данных и пользователя:
mysql
CREATE DATABASE `webdb`;
CREATE USER 'web'@'%' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON `webdb`.* TO `web`@'%';
FLUSH PRIVILEGES;
EXIT;
Импорт данных:
mysql webdb < /mnt/additional/web/dump.sql
Очищаем содержимое /var/www/html/:
Apache
На старых версиях пакета путь может отличаться, например /usr/share/doc/indexhtml/. Необходимо это учитывать, стоит перепроверить в /etc/httpd2/conf/sites-available/default.conf.
rm -rf /var/www/html/*
Копируем index.php и logo.png из /mnt/additional/web/ в корневой каталог сайта:
cp /mnt/additional/web/index.php /var/www/html/
cp /mnt/additional/web/logo.png /var/www/html/
Правим в index.php данные для подключения к БД (в исходнике там user, password и db), $servername не трогаем:
$username = "web";
$password = "P@ssw0rd";
$dbname = "webdb";
Удаляем все стандартные конфигурации Apache:
rm -f /etc/httpd2/conf/sites-enabled/*
Отключаем перенаправление на https:
# RewriteEngine On
# RewriteCond %{HTTPS} !=on
# RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [R,L]
Создаём символьную ссылку на default:
ln -s /etc/httpd2/conf/sites-available/default.conf /etc/httpd2/conf/sites-enabled/default.conf
Перезапускаем службу Apache:
systemctl restart httpd2
Проверка:
curl -4 -v localhost:80