Рассмотрим базовый набор сервера
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