Разворачиваем LAMP в Mongaro
Пошаговая инструкция по разворачиванию стека LAMP (Linux, Apache, MySQL, PHPMyAdmin) на базе дистрибутива Mongaro 22.0.2.
Обновляем систему до актуального состояния
Запускаем терминал и выполняем команду
sudo pacman -Syyu
Устанавливаем Apache
команда, для установки, в терминале
sudo pacman -S apache
после установки включаем автоматический запуск служб Apache
sudo systemctl enable httpd
затем даем команду на перезапуск Apache
sudo systemctl restart httpd
смотрим статус Apache
sudo systemctl status httpd
Результатом будет подобный вывод в терминале

Для выхода из данного состояния нажимаем Ctrl+C.
____
В некоторых статьях говорится, что для правильной работы необходимо открыть файл конфигурации /etc/httpd/conf/httpd.conf Закомментировать в нем строку LoadModule unique_id_module modules/mod_unique_id.so В моем случае данная строка была закомментирована по умолчанию изначально.
_____
Проверяем работу Apache
Сервер расположен на нашем компьютере в директории /srv/http
Для физической проверки создадим в этой директории файл index.html
Можете создать файл любым удобным для вас способом, я для удобства сделаю его в терминале редактором Nano, командой
sudo nano /srv/http/index.html
Редактор nano создаст этот файл и автоматически откроет его в терминале.
Помещаем в него, стандартное содержание файла index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Проверка работы Apache, файл index.html</h1>
</body>
</html>
Сохраняем файл комбинацией клавиш Ctrl+O, выходим из редактора nano Ctrl+X
Теперь открываем браузер и открываем адрес http://localhost/
Если все правильно то увидим содержание нашего файла index.html

Устанавливаем MySQL
Ставим MySQL командой
sudo pacman -S mysql
В Linux в качестве альтернативы MySQL используется MariaDB.
После ввода команды выбираем первый пункт — 1) MariaDB

Теперь выполняем команду для инициализации каталогов и баз (примерно так звучит перевод ниже приведенной команды, на многих англоязычных форумах).
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
Процесс может длится в некоторых случаях до нескольких минут — просто ждем. Результат будет таким.

Теперь включим автоматический запуск служб mysql
sudo systemctl enable mysqld
Запускаем службы mysql
sudo systemctl start mysqld
На данном этапе для проверки работы mysql введем команду
sudo systemctl status mysqld
Если все правильно увидим примерно такой вывод

Конфигурируем первоначальные настройки MariaDB и пользователя root
sudo mysql_secure_installation
Далее пойдут вопросы.
Если интересует значение этих вопросов можете воспользоваться переводчиком — станет все ясно, и вы сможете выбрать свой вариант ответа, я отвечал так:
На вопрос Enter current password for root (enter for none):
просто нажимаем Enter
На вопрос Switch to unix_socket authentication [Y/n]
Ответил N
На вопрос Change the root password? [Y/n]
Ответил Y
и задал свой пароль (пароль придумываем сами и запоминаем)
На вопрос Remove anonymous users? [Y/n]
Ответил Y
На вопрос Disallow root login remotely? [Y/n]
Ответил N
На вопрос Remove test database and access to it? [Y/n]
Ответил Y
На вопрос Reload privilege tables now? [Y/n]
Ответил Y
Результатом будет надпись спасибо за использование MariaDB!
Thanks for using MariaDB!
Устанавливаем PHP
в mongaro надо поставить два пакета php и php-apache, ставим одной командой
sudo pacman -S php php-apache
Теперь внесем изменения в файл /etc/httpd/conf/httpd.conf
Откроем файл в редакторе nano командой
sudo nano /etc/httpd/conf/httpd.conf
Найдем строчку и закомментируем строку
LoadModule mpm_event_module modules/mod_mpm_event.so
Ниже, как правило сразу, найдем и раскомментируем строку
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
Выглядеть результат будет так

Теперь для PHP версии 8 в самом конце этого же файла добавляем три строчки
LoadModule php_module modules/libphp.so
AddHandler php-script php
Include conf/extra/php_module.conf
Не забываем сохранить файл комбинацией клавиш Ctrl+O и выходим из редактора Ctrl+X
Теперь можно проверить PHP
создайте файл в директории /srv/http
sudo nano /srv/http/php-info.php
Файл будет содержать, всего одну строчку, стандартный код который выводит информацию о версии PHP, поместите его в этот файл:
<?php phpinfo(); ?>
Ка всегда сохраняем файл комбинацией клавиш Ctrl+O и выходим из редактора Ctrl+X
Перезапускаем Apache
sudo systemctl restart httpd
Открываем в браузере адрес
http://localhost/php-info.php
Если все работает правильно то увидим страницу с информацией о php

Ставим phpMyAdmin
sudo pacman -S phpmyadmin
Откроем файл /etc/php/php.ini
sudo nano /etc/php/php.ini
Раскомментируем две строчки
extension=bz2
extension=mysqli
Результат выглядит так

Не забываем сохранить файл комбинацией клавиш Ctrl+O и выходим из редактора Ctrl+X
Создаем конфигурационный файл /etc/httpd/conf/extra/phpmyadmin.conf
sudo nano /etc/httpd/conf/extra/phpmyadmin.conf
Помещаем в этот файл следующее содержание
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
DirectoryIndex index.php
AllowOverride All
Options FollowSymlinks
Require all granted
</Directory>
Открываем снова, как ранее, файл /etc/httpd/conf/httpd.conf
sudo nano /etc/httpd/conf/httpd.conf
В конец файла добавляем строчку кода
Include conf/extra/phpmyadmin.conf

Не забываем сохранить файл комбинацией клавиш Ctrl+O и выходим из редактора Ctrl+X
Перезапускаем сервер Apache
sudo systemctl restart httpd
Для проверки переходим по стандартному адресу http://localhost/phpmyadmin
Для входа используем логин root. Пароль используем тот который вы задали в разделе конфигурирования первоначальных настроек MariaDB и пользователя.
Рекомендации:
Директрория установленного и настроенного веб сервера /srv/http может не иметь достаточных прав, поэтому для дальнейшей работы советую дать ей, соответствующие вашим требованиям, права на чтение и запись.
Ранее рекомендовалось задавать пароль для шифрования в конфигурационном файле phpmyadmin. Так как у меня это тестовый локальный сервер, мне это не надо. Можете это сделать следующим способом, вводим команду которая откроет файл /etc/webapps/phpmyadmin/config.inc.php
sudo nano /etc/webapps/phpmyadmin/config.inc.php
Прокрутите файл до строки , которая начинается с $cfg[‘blowfish_secret’]
В единичных кавычках поставите любую комбинацию из 32 символов — пароль для шифрования
Если менее 32 — защита будет слабее, более 32 ничего не даст.

Естественно не забываем перезагрузить наш сервер
sudo systemctl restart httpd