Как развернуть стек LAMP в Manjaro

LAMP Mongaro

Пошаговая инструкция по разворачиванию стека LAMP (Linux, Apache, MySQL, PHPMyAdmin) на базе дистрибутива Manjaro. На момент написания данной статьи использовалась версия Manjaro 22.0.2 с рабочим окружением XFCE.

Большинство наших действий будет производится в терминале с использованием редактора Nano, который установлен в системе по умолчанию. Вы можете использовать тот редактор, который вам более приемлем, например Vim (только не забудьте его предварительно установить).

Обновляем систему до актуального состояния

Запускаем терминал и выполняем команду

sudo pacman -Syyu

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

команда, для установки, в терминале

sudo pacman -S apache

после установки включаем автоматический запуск служб Apache

sudo systemctl enable httpd

затем даем команду на перезапуск Apache

sudo systemctl restart httpd

смотрим статус Apache

sudo systemctl status httpd

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

статус установленного Apache в терминале

Для выхода из данного состояния нажимаем Ctrl+C.

Примечание по конфигурации Apache

В некоторых статьях говорится, что для правильной работы необходимо открыть файл конфигурации /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

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

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

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

sudo pacman -S mysql

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

установка mysql в случае с linux это MariaDB

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

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

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

инициализация каталогов и баз MariaDB

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

sudo systemctl enable mysqld

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

sudo systemctl start mysqld

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

sudo systemctl status mysqld

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

проверяем статус 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

в Manjaro надо поставить два пакета 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

Теперь для 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, вверсия php и вся соответствующая информация

Ставим 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
Открываем снова, как ранее, файл /etc/httpd/conf/httpd.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

Если интересует как развернуть web-server на базе дистрибутивов Debian, Ubuntu или LinuxMint, вот ссылки на подробные инструкции:

в этих статьях вы найдете инструкции — как развернуть LAMP на базе дистрибутивов Debian, Ubuntu или LinuxMint.

Разворачивание LАMP на разных операционных системах Linux очень схожа. Изучив их, вы сможете, даже в инструкции к другому дистрибутиву, найти ответ который поможет решить ваш вопрос.

Информация была собрана с многочисленных форумов и статей, путем многочисленных переустановок. Для каждого случая может, что-то отличаться в зависимости от используемых версий и дистрбутивов. Поэтому, выше описанное, не может быть одинаковой инструкцией для всех. В моем случае все работает, функционирует и выполняет нужные мне задачи. Я использую данную комбинацию как локальный сервер для экспериментов и тестирования.

Если есть что добавить по теме или поделиться опытом пишите в комментариях.

Всем Удачи!

Про ПК
Добавить комментарий

  1. Юзер

    Mongaro?? Manjaro?

    Ответить