Установка LEMP stack на Arch Linux

Что такое LEMP stack?

LEMP – это стек открытого программного обеспечения для запуска веб-сервера. Акроним LEMP расшифровывается как «Linux, nginx (произносится Engine x), MySQL и PHP». Поскольку на сервере уже установлена операционная система Arch Linux, осталось установить только последние три компонента.

Требования

Для выполнения данного руководства необходимы привилегии root. Чтобы узнать об этих привилегиях подробнее, читайте статью «Начальная настройка сервера Arch Linux».

1: Обновление системы

Менеджер пакетов Arch Linux по имени Pacman является пакетом «плавающего релиза» (rolling release), потому нужно обновить систему Arch Linux и ее репозитории, прежде чем продолжить.

sudo pacman -Syu

2: Установка MySQL

После обновления системы приступайте к установке программного стека; для начала установите систему управления базами данных (СУБД)  MySQL.

sudo pacman -S mysql

После установки запустите MySQL и скрипт безопасной установки. На данном этапе можно установить root-пароль для MySQL.

sudo systemctl start mysqld && mysql_secure_installation

При первом запросе root-пароля MySQL просто нажмите enter, поскольку это свежая установка СУБД, и такого пароля просто нет. В целом, процесс установки имеет примерно такой вид:

Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorization.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!

В завершение перезапустите MySQL:

sudo systemctl restart mysqld

3: Установка Nginx

После MySQL можно установить веб-сервер Nginx.

sudo pacman -S nginx

После установки Nginx не запускается автоматически. Для этого нужно выполнить команду:

sudo systemctl start nginx

Чтобы убедиться, что установка Nginx прошла успешно, направьте браузер на свой IP.

Примечание: чтобы узнать IP-адрес своего виртуального выделенного сервера, запустите следующую команду.

curl -s icanhazip.com

4: Установка PHP-FPM

Для обработки PHP-приложений нужно установить php-fpm.

sudo pacman -S php-fpm

После установки запустите программу:

sudo systemctl start php-fpm

В завершение нужно настроить Nginx для запуска PHP при помощи php-fpm. Для этого нужно открыть конфигурационный файл Nginx:

sudo nano /etc/nginx/nginx.conf

Найдите в нем блок location, который отвечает за приложения PHP, и замените его содержимое следующим кодом:

location ~ \.php$ {
fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index  index.php;
root   /srv/http;
include        fastcgi.conf;
}

Сохраните и закройте файл, а затем перезапустите Nginx:

sudo systemctl restart nginx

5: Тестирование LEMP stack

Чтобы быстро протестировать установку LEMP stack, а заодно узнать подробности конфигурации PHP, можно создать страницу Info. Для этого сначала создайте новый файл:

sudo nano /srv/http/info.php

В него добавьте следующую строку:

<?php
phpinfo();
?>

Затем сохраните и закройте его.

Перезапустите nginx:

sudo systemctl restart nginx

Чтобы узнать подробности настройки nginx и php-fpm, посетите http://ip_адрес_сервера/info.php.

Готово! Теперь программный стек LEMP установлен, настроен и готов к работе.

6: Настройка автоматического запуска LEMP

Чтобы программы LEMP запускались автоматически при загрузке сервера, выполните:

sudo systemctl enable nginx mysqld php-fpm

Tags: , , , , , ,

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