Разворачиваем 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

Результатом будет подобный вывод в терминале

apache-status

Для выхода из данного состояния нажимаем 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

apache-index-fle

Устанавливаем MySQL

Ставим MySQL командой

sudo pacman -S mysql

В Linux в качестве альтернативы MySQL используется MariaDB.

После ввода команды выбираем первый пункт — 1) MariaDB

install-mysql

Теперь выполняем команду для инициализации каталогов и баз (примерно так звучит перевод ниже приведенной команды, на многих англоязычных форумах).

sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Процесс может длится в некоторых случаях до нескольких минут — просто ждем. Результат будет таким.

init-mysql

Теперь включим автоматический запуск служб mysql

sudo systemctl enable mysqld

Запускаем службы mysql

sudo systemctl start mysqld

На данном этапе для проверки работы mysql введем команду

sudo systemctl status mysqld

Если все правильно увидим примерно такой вывод

test-mysql

Конфигурируем первоначальные настройки 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-conf

Теперь для 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

php-info

Ставим phpMyAdmin

sudo pacman -S phpmyadmin

Откроем файл /etc/php/php.ini

sudo nano /etc/php/php.ini

Раскомментируем две строчки

extension=bz2
extension=mysqli

Результат выглядит так

php-ini

Не забываем сохранить файл комбинацией клавиш 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
php-conf2

Не забываем сохранить файл комбинацией клавиш 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 ничего не даст.

phpmyadmin

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

sudo systemctl restart httpd
Оставить комментарий

Ваш email не будет опубликован.

Вы можете использовать следующие HTML тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>