В предыдущем руководстве я описал процесс установки 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:
sudo systemctl start nginx
Настройте автоматический старт Nginx при старте сервера на Arch Linux.
sudo systemctl enable nginx
Убедитесь, что у вас установлена актуальная версия Nginx.
nginx - v
nginx version: nginx/1.17.1
Впишите IP-адрес вашего сервера Arch Linux в строку браузера. Если отображается указанный текст, это означает, что Nginx функционирует корректно.

Для проверки публичного 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.
sudo systemctl enable mariadb
После завершения установки запустите скрипт для обеспечения безопасности.
sudo mysql_secure_installation
Вам будет предложено ввести пароль для root пользователя MariaDB. Поскольку у вас пока нет пароля для root, просто нажмите клавишу Enter.

Если вас спросят, хотите ли вы использовать аутентификацию через 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.
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.

Файл 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! Если вам понравилась эта информация, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать еще больше полезных советов и рекомендаций.

