Установка и настройка LEMP

08-08-2022 - 1 minute, 54 seconds -

Рассмотрим базовый набор сервера

1. Установка Nginx

Начнем с установки Nginx.

sudo apt-get install nginx

2. Установка Percona Server

Установим GnuPG, (GNU Privacy Guard):

sudo apt install gnupg2

Получим пакет репозиториев:

wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb

Установим скачанный пакет с помощью dpkg.

sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb

После установки пакетов, репозитории Percona должны быть добавлены. Вы можете посмотреть их в файле /etc/apt/sources.list.d/percona-original-release.list.

Не забудьте обновить локальный кеш:

sudo apt update

Выберете вашу версию Percona:

percona-release setup ps80

И после этого установите сервер:

sudo apt install percona-server-server

После установки, добавьте дополнительные функции:

mysql -e "CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'"
mysql -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'"
mysql -e "CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'"

3. Установка PHP

Установим необходимые пакеты:

apt-get install ca-certificates apt-transport-https software-properties-common wget curl lsb-release -y

Добавим репозиторий:

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

Обновим систему:

sudo apt update
sudo apt upgrade

Установим PHP с необходимыми модулями:

apt install php8.1-{fpm,curl,intl,xml,mysql,mbstring,gd,dom,zip}

Проверим:

php -v

4. Установка composer

Необходимо его скачать:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

И затем переместить скачанный файл, что бы сделать его доступным от корня

sudo mv composer.phar /usr/local/bin/composer

5. Установка Redis

Всё по стандарту:

apt install redis-server

Затем в файле настроек

nano /etc/redis/redis.conf

Необходимо указать директиву supervised . Эта директива позволяет объявить систему инициализации для управления сервисом Redis, предоставляя вам больше контроля над ним. По умолчанию директива supervised имеет значение no. Если вы используете Debian, укажите здесь systemd:

supervised systemd

Там же, в файле настроек раскомментируйте директиву requirepass и задайте ей сложное значение, например:

requirepass RsOJ9cCNoGCKhleBwQGYri1g+atWgn4Xn4HwNUbtzoVxAYxkiYBi7aufl4SOTv1nxBqR4L6NNzI0X6cE

Сохраните изменения и перезапустите сервер:

systemctl restart redis.service

Чтобы убедиться, что аутентификация настроена правильно, откройте командную строку Redis:

redis-cli

Для проверки работоспособности пароля Redis используйте такую последовательность команд. Первая команда пытается установить ключ без пароля:

Redis должен вернуть ошибку:

set key1 10
(error) NOAUTH Authentication required.

Следующая команда пройдет аутентификацию:

auth your_redis_password
OK

После того как Redis принял пароль, попробуйте снова добавить ключ:

set key1 10
OK

6. Установка Certbot

Для начала необходимо установить snapd

apt install snapd

затем, установить его ядро:

snap install core

Затем уже можно установить сам certbot:

snap install --classic certbot

И создайте символическую ссылку:

ln -s /snap/bin/certbot /usr/bin/certbot