Установка стека LEMP, включающего Nginx, MariaDB и PHP7, на сервер с операционной системой Arch Linux в 2019 году

В предыдущем руководстве я описал процесс установки Arch Linux на KVM VPS. Теперь мы рассмотрим, как установить Nginx, MariaDB и PHP7, образуя таким образом LEMP-стек, на сервере с Arch Linux. Вы также можете использовать это руководство для установки LEMP-стека на своем домашнем компьютере, работающем под управлением Arch Linux.

Обновление сервера на базе Arch Linux

Прежде чем устанавливать какие-либо пакеты в Arch Linux, настоятельно рекомендуется обновить репозиторий и провести обновление системы. Для этого введите следующую команду в терминале для обновления программного обеспечения.

sudo pacman - Syu

Инсталляция веб-сервера Nginx

В репозитории Arch Linux представлены две версии веб-сервера Nginx: nginx и nginx-mainline. Версия nginx является более старой и стабильной, тогда как nginx-mainline представляет собой актуальную версию. Это не указывает на то, что nginx-mainline менее надежен. На самом деле, сайт nginx. org рекомендует применять nginx-mainline, если нет серьезных оснований для использования более ранней версии.

Чтобы установить предыдущую версию:

sudo pacman - S nginx

В данном руководстве осуществляется установка версии mainline.

sudo pacman - S nginx-mainline

По умолчанию перечисленные команды также установят пакеты geoip и geoip-database. После завершения установки проверьте состояние Nginx.

systemctl status nginx

● nginx.service - Высокопроизводительный веб-сервер и сервер обратного прокси Загружен: загружен (/usr/lib/systemd/system/nginx.service; включено; предустановка поставщика: отключена) Активен: активен (работает) с Вт 2016-04-12 13:10:57 CST; 1 день 7 часов назад Главный PID: 2010 (nginx) Задачи: 2 (ограничение: 512) CGroup: /system. slice/nginx.service ├─2010 nginx: мастер-процесс /usr/bin/nginx - g pid /run/nginx. pid; daemon on; master_process on └─2011 nginx: рабочий процесс

Если он не работает, активируйте его с помощью команды systemctl:

Читайте также:  Настройка Monit на Linux: Пошаговое руководство

sudo systemctl start nginx

Настройте автоматический старт Nginx при старте сервера на Arch Linux.

sudo systemctl enable nginx

Убедитесь, что у вас установлена актуальная версия Nginx.

nginx - v

nginx version: nginx/1.17.1

Впишите IP-адрес вашего сервера Arch Linux в строку браузера. Если отображается указанный текст, это означает, что Nginx функционирует корректно.

Установите стек LEMP (Nginx, MariaDB, PHP7) на сервер Arch Linux.

Для проверки публичного IP-адреса вашего сервера используйте следующую команду.

curl http://icanhazip.com

При установке Nginx на домашний компьютер с Arch Linux достаточно ввести 127.0.0.1 или localhost в адресной строке браузера.

Установка базы данных MariaDB.

С 2013 года в Arch Linux используется MariaDB в качестве стандартной реализации MySQL. Oracle MySQL был перемещен в AUR, что подтверждает стремление Arch Linux перевести пользователей с MySQL на MariaDB.

MariaDB доступна в комплекте с пакетом mariadb.

sudo pacman - S mariadb

Перед тем как запустить службу MariaDB, необходимо подготовить каталог данных. Для этого можно воспользоваться командой mariadb-install-db.

sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Теперь начните работу с MariaDB.

sudo systemctl start mariadb

Убедитесь, что она функционирует.

systemctl status mariadb

● mysqld.service - сервер базы данных MariaDB Загрузено: загружено (/usr/lib/systemd/system/mysqld.service; отключено; предустановка поставщика: отключена) Активно: деятельно (функционирует) с Ср 2016-04-13 21:09:45 CST; 5 секунд назад Процесс: 8373 ExecStartPost=/usr/bin/mysqld-post (код=вышел, статус=0/УСПЕХ) Основной PID: 8372 (mysqld) Задачи: 26 (лимит: 512) CGroup: /system. slice/mysqld.service └─8372 /usr/bin/mysqld --pid-file=/run/mysqld/mysqld. pid

Настройте автоматический запуск MariaDB при старте Arch Linux.

Читайте также:  Конвертация текстов с помощью команды Dos2unix

sudo systemctl enable mariadb

После завершения установки запустите скрипт для обеспечения безопасности.

sudo mysql_secure_installation

Вам будет предложено ввести пароль для root пользователя MariaDB. Поскольку у вас пока нет пароля для root, просто нажмите клавишу Enter.

Настройка безопасности MySQL на Arch Linux.

Если вас спросят, хотите ли вы использовать аутентификацию через unix_socket, просто нажмите Enter. Учтите, что «Y» написано с заглавной буквы, что указывает на то, что это значение по умолчанию. Когда появится запрос на изменение пароля root, выберите «n», так как аутентификация через unix_socket не требует наличия пароля у пользователя root MariaDB. После этого можете просто нажимать Enter для всех остальных вопросов, чтобы удалить тестовую базу данных, анонимного пользователя и отключить удалённый доступ для root.

Для доступа к консоли MariaDB просто введите следующую команду.

sudo mysql - u root

exit

Файл конфигурации по умолчанию располагается в /etc/my. cnf.

Инсталляция PHP7

Самая свежая версия PHP в репозитории Arch Linux — 7.3.6. Для её установки используйте следующую команду:

sudo pacman - S php php-fpm

После установки необходимо настроить Nginx для работы с PHP через php-fpm.Для этого следует внести изменения в файл /etc/nginx/nginx.conf.

sudo nano /etc/nginx/nginx.conf

Найдите раздел «местоположение».~.php$ (строка 65) необходимо изменить следующим образом.

location ~ \.php$ < root /usr/share/nginx/htmlfastcgi_passunix:/run/php-fpm/php-fpm.sockfastcgi_index index.php; fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name; include fastcgi_params; >

Сохраните файл и закройте его. После этого проверьте настройки Nginx.

Читайте также:  Разрушение мифов о Linux для новых пользователей

sudo nginx - t

После успешного завершения теста перезагрузите Nginx.

sudo systemctl reload nginx

Затем активируйте и запустите службу php-fpm с помощью следующих команд:

sudo systemctl start php-fpm sudo systemctl enable php-fpm

Проверка работы с PHP

Создайте файл с именем test.php в основном каталоге вашего веб-сервера.

sudo nano /usr/share/nginx/html/test.php

Вставьте в файл следующие записи.

Сохраните и закройте документ. Затем введите в адресной строке вашего браузера http://your-server-ip/test.php. Вам должна отобразиться полная информация о PHP. Если вы настраиваете LEMP на своем настольном компьютере или ноутбуке с Arch Linux, введите 127.0.0.1/test.php или localhost/test.php.

установить стек LEMP на Arch Linux

Файл test.php создан исключительно для тестовых целей. В целях безопасности его теперь можно удалить.

sudo rm /usr/share/nginx/html/test.php

Активация расширений PHP

Измените файл конфигурации /etc/php/php. ini.

sudo nano /etc/php/php. ini

Ищите строки 922 и 926, уберите точки с запятой, чтобы активировать эти два расширения.

;extension=mysqli ;extension=pdo_mysql

Для активации расширений mysqli и pdo_mysql в Arch Linux вы можете воспользоваться двумя командами, что позволит избежать необходимости вручную редактировать файл и искать нужные строки.

sudo sed - i 's/;extension=mysqli/extension=mysqli/g' /etc/php/php. ini sudo sed - i 's/;extension=pdo_mysql/extension=pdo_mysql/g' /etc/php/php. ini

Перезапустите службу php-fpm, чтобы новые настройки начали действовать.

sudo systemctl reload php-fpm

Файл mysqli. so служит для установления соединения PHP с базами данных MariaDB/MySQL. Расширение pdo_mysql. so нужно для работы сайтов на платформе Drupal. Также может потребоваться активация расширения imagemagick для PHP, чтобы обрезать и поворачивать изображения на таких CMS, как WordPress.

Завершение

Поздравляем! Вы успешно настроили Nginx, MariaDB и PHP7 на своем сервере с Arch Linux! Если вам понравилась эта информация, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать еще больше полезных советов и рекомендаций.