Содержание

FastPanel: установка и тюнинг на VPS/VDS для эффективного управления

FASTPANEL одна из лучших панелей в настоящее время: Обзор ТОП 10 Панелей Управления Хостингом VPS.

Установка FASTPANEL проста и описана в официальной документации. И в большинстве случаев вам этого хватит. Ниже описаны настройки которые вам могут понадобиться для ускорения работы в первую очередь ваших сайтов.

Установим Fastpanel с самого начала на последнюю Ubuntu 24.04 LTS на VPS от заказанный у PQ.

Для установки Фастпанели требуется виртуальный (VPS) или выделенный сервер с root-доступом. Список поддерживаемых операционных систем я сократил, ибо анонсированная разработчиками Fastpanel поддержка CentOS 7 вызывает только умиление у некроадминов :-) Короче устанавливайте не ниже этих ОС:

  1. Ubuntu 22.04, 24.04
  2. Debian 11, 12
  3. Rocky Linux: 8
  4. AlmaLinux: 8.

Плюсы Fastpanel:

  1. Удобная настойка почтового сервера и DNS.

Минусы (проверялось на Ubuntu 22 LTS):

  1. По умолчанию база данных MySQL Server version: 8.0.39. К счастью разработчики предусмотрели вариант смены базы данных при установке панели, например на mariadb 10.6. На 2024 год для Wordpress рекомендуется MariaDB версии 10.5 или выше. Но мне не удалось сменить версию БД (смотрите ниже пункт)
  2. Чудеса с нас настройкой фаервола (iptables). Только самые элементарные правила, без учета IP. Настроить конечно можно, но через консоль Linux.

Шаг 1: Обновление пакетов ОС

Мой выбор в сфере VPS-хостинга пал на PQ Hosting, Aeza (AÉZA) и DigitalOcean. Приятно, что эти провайдеры ценят своих клиентов и сохраняют выгодные условия даже при изменении базовых тарифов. Они предлагают широкий выбор конфигураций, что позволяет подобрать оптимальный вариант под любые нужды. Кроме того, у них часто проводятся акции и действуют специальные предложения для постоянных клиентов, что позволяет значительно сэкономить на аренде сервера. У них отличная техническая поддержка, которая всегда готова помочь с любыми вопросами.

Помним?!!!

Любую панель управления хостингом можно установить только на чистую операционную систему без предустановленного программного обеспечения. Установка на сервер с преднастроенным ПО невозможна!

apt update
apt full-upgrade
reboot

Если будет обновлено ядро, рекомендую перезагрузить ОС, а потом продолжить процесс установки. Для перезагрузки используйте команду reboot.

Установим wget для скачивания инсталлятора Fastpanel.

apt install -y -qq wget curl

Шаг 2: Возможная ошибка имени сервера (hostname)

Если имя вашего сервера соответствует домену вашего сайта, который вы будите добавлять в виде сайта в Fastpanel - смените имя сервера. Если этого не сделать, Fastpanel может не разрешить добавить ваш домен.

Посмотреть текущее имя сервера, можно командой hostname.

hostname -f

Сменить имя сервера в Linux командой:

hostnamectl set-hostname mydomain

После окончания установки Fastpanel, добавьте ваш домен и только после этого ,если вы планируете использовать это домен для рассылки почты, измените имя сервера на правильное. И перезагрузите сервер, чтобы изменения были восприняты потовым сервером.

Шаг 3: Установка Fastpanel

Подготовка к установке самое важной, как корабль снарядишь так долго он и проплывет:)

Шаг 3.1: Выбор устанавливаемой версии MySQL vs MariaDB

По умолчанию FastPanel устанавливает MySQL 8.0. Мне такой их выбор мне не нравится. Разработчики предусмотрели смену базы данных, ну что ж проверим.

wget http://repo.fastpanel.direct/install_fastpanel.sh && bash install_fastpanel.sh --help | grep 'Available versions'
 
Available versions: default|mariadb10.6|mariadb10.11

Для установки нужно версии базы данных используем ключ -m с необходимым параметром:

bash install_fastpanel.sh -m mariadb10.6

Все чудесно я написал, но фокус не удался, все равно установился Mysql 8.0. Жесть.

Шаг 3.2: Можно уже устанавливать Fastpanel?

Приступим непосредственно к установке Fastpanel по умолчанию, если нужно выбрать специфическую версию базы данных смотрите пункт выше. Запуск установки:

wget http://repo.fastpanel.direct/install_fastpanel.sh -O - | bash -

Ждем окончанию установки и получаем данные для доступа (ссылку, логин, пароль) к панели.

Congratulations! FASTPANEL successfully installed and available for you at https://1.2.3.4:8888
Login: fastuser
Password: password

Шаг 4: Получение бесплатной лицензии

Чтобы заказать лицензию, вам необходимо создать аккаунт на сайте. Проще всего перейти на веб-интерфейс вашей Fastpanel, которая предложит вам: Для выпуска лицензии введите email. Информация о созданной лицензии и учетной записи, а также ссылка для активации лицензии будут высланы на указанный почтовый адрес.

Получив на почту доступы, вам нужно залогиниться под ними и выпустить лицензию. Лицензия активируется моментально.

Шаг 5: Nginx и PHP-FPM

Я считаю для стандартных сайтов связка Nginx и PHP-FPM является самой быстрой. Поэтому в настройках сайта выбираю режим PHP-FPM, а Apache вообще выключаю из автозагрузки:

Шаг 5.1: Какие режима работы PHP поддерживает Fastpanel

В этом разделе просто для информации описаны какие режимы работы PHP поддерживает Fastpanel. Возможно вам нужен какой-либо из них, я же предпочитаю как писал выше Nginx и PHP-FPM.

Вы можете выбрать один из следующих режимов работы:

Шаг 6: Тюнинг ОС

www-data soft nofile 65535
www-data hard nofile 65535

или если не уверены от какого пользователя запущен вебсервер, добавьте так

* soft nofile 65535
* hard nofile 65535
#!/bin/bash
 
cat > /etc/sysctl.conf << TUNES
net.core.netdev_max_backlog=30000
net.core.somaxconn=65535
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_max_syn_backlog = 720000
net.ipv4.tcp_max_tw_buckets = 720000
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_fin_timeout = 60
net.ipv4.tcp_keepalive_time = 7200
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_intvl = 75
net.core.wmem_max = 134217728
net.core.rmem_max = 134217728
net.core.rmem_default = 16777216
net.core.wmem_default = 16777216
net.ipv4.tcp_rmem = 4096 65536 33554432
net.ipv4.tcp_wmem = 4096 65536 33554432
net.ipv4.tcp_moderate_rcvbuf =1
net.ipv4.tcp_no_metrics_save = 0
net.ipv4.tcp_congestion_control=htcp
net.netfilter.nf_conntrack_max = 134217728
net.nf_conntrack_max = 134217728
net.ipv4.ip_forward=1
TUNES
sysctl -p /etc/sysctl.conf

Шаг 7: Настройка iptables в Fastpanel

В документации Fastpanel написано, что через веб можно разрешать/блокировать по IP адресу, но у меня сейчас под рукой Ubuntu 24.04 и там такой возможности нет. Можно настраивать доступ только по портам и все.

Кстати UFW установить нельзя, потому что удалятся основной сервис fastpanel2.

Хорошо, нельзя так нельзя UFW:( Смотрим как Fastpanel реализовывает работу с iptables. Значит они запускают сервис netfilter-persistent. И мы можем вручную добавить свои правила, например FASTPANEL по умолчанию использует порт 8888, и мы можем разрешить доступ к нему только для одного IP-адреса и ограничить доступ для любого другого IP-адреса. Для этого в конфигурационный файл /etc/iptables/rules.v4 добавьте строки (IP 10.10.10.10 замените на свой):

-A fastpanel_rules -s 10.10.10.10/32 -p tcp -m tcp --dport 8888 -j ACCEPT
-A fastpanel_rules -p tcp -m tcp --dport 8888 -j DROP

Для применения новых правил перезапустите службу netfilter:

systemctl restart netfilter-persistent.service

Шаг 8: Как настроить доступ к Fastpanel, RoundCube, phpmyadmin по HTTPS

По умолчанию Fastpanel разрешает доступ к своей панели управления, к почтовым ящикам RoundCube, phpmyadmin по IP и самоподписанным SSL сертификатом. На это ругаются браузеры. Можно прикуратить такое поведение. Вы можете обращаться к панели по протоколу HTTPS — для этого потребуется добавить в качестве адреса панели домен (или поддомен) и выпустить для него SSL-сертификат.

  1. Перейдите в раздел «Настройки» — «Основные» и выберите вкладку «Адреса панели».
  2. Нажмите «Добавить адрес» и введите домен или поддомен, по которому вы хотите открывать панель. У домена в качестве A-записи должен быть указан IP-адрес вашего сервера.
  3. Нажмите «SSL» и выберите вариант «Let's Encrypt».

Теперь вы почтовый ящик можете открыть в браузере не вызывая его гнев:) по ссылке https://yourdomain.com:8888/webmail/

Шаг 9: Настройка почты в Fastpanel

Для того чтобы настроить почту на сервере с панелью Fastpanel во первых нам нужен DNS сервер. Вы его можете установить в Fastpanel и настроить, но я рекомендую для избежания задержек с ответом и других проблем использовать DNS сервера регистратора домена, в данном случае это NameCheap.

  1. В панели Fastpanel установите приложение bind9. Для этого перейдите в раздел «Настройки» — «Приложения» и найдите в списке bind9 и кликните на значок установки.
  2. В Fastpanel перейдите в раздел «Управление» — «Почта». Кликните на «Новый домен». Введите ваш домен и сохраните изменения.
  3. В Fastpanel перейдите в раздел «Управление» — «DNS-домены». Если вашего домена там нет создайте. И далее кликните на «DNS-записи».
  4. Настройка DNS для домена (напоминаю, что я эти настройки делаю у регистратора домена NameCheap, а не в Fastpanel). На стороне держателя NS-серверов пропишите для домена DNS-записи (A, MX, DKIM, SPF, DMARC), используя указанные в Fastpanel значения.
  5. В целом, на этом настройку можно завершить и перейти к созданию ящиков. Если ваш почтовый домен совпадает с доменом сайта, созданного в Fastpanel, и для него уже выпущен SSL, вам остается сделать только 1 шаг, перейдите в раздел «Управление» — «Почта». Кликните на значок шестеренки у почтового домена. В пункте «Сертификат» выберите выпущенный SSL и нажмите «Сохранить».
  6. Создание почтового ящика. Перейдите в раздел «Управление» — «Почта» и кликните на «Почтовые ящики». Кликните на «Новый ящик». Заполните поля и нажмите «Сохранить».

Реквизиты для настройки почтовых клиентов можно получить, кликнув на значок рядом с именем ящика. Если вы настроили SSL сертификат, вы также можете использовать порты с шифрованием: IMAP — 993, SMTP — 465, POP3 — 995.

Проверка работы почты Fastpanel

Почтовые записи в DNS обычно обновляются в течении 1 часа. Пробуем отослать письма на gmail и отвечаем на него. Проверили почту в обе стороны. Это хорошо, но мало:) Далее проверяем сервисом https://www.mail-tester.com и стараемся достичь результат в 10 баллов.

FAQ 1: Как сбросить пароль для входа в FASTPANEL

Если не знали, да еще забыли:) пароль для входа в Fastpanel, но у вас есть доступ SSH. Пароль можно заменить как для обычного пользователя командой passwd

passwd fastuser

Или через многофункциональную утилиту mogwai которая входит в Fastpanel

mogwai chpasswd --username=fastuser --password=YOUR_PASSWORD

FAQ 2: Как обновить панель FASTPANEL

Я обычно захожу по SSH и запускаю бинарный файл из поставки Фастпанели. Как видите в листинге, после запуска происходи обновление репозиториев и установка новых версий пакетов.

root@best:~# /usr/local/fastpanel2/app/updater
[2024-07-31T11:33:50-04:00]  INFO Retrieve FASTPANEL installed package list
[2024-07-31T11:33:50-04:00]  INFO CMD: dpkg '-l'
[2024-07-31T11:33:50-04:00]  INFO package: fastpanel2, current version: 1.10-ubuntu24.04p539, candidate version: 1.10-ubuntu24.04p548
[2024-07-31T11:33:51-04:00]  INFO CMD: apt-get 'update'
[2024-07-31T11:34:00-04:00]  INFO Start update 'fastpanel2' package
[2024-07-31T11:34:00-04:00]  INFO CMD: apt-get 'update'
[2024-07-31T11:34:09-04:00]  INFO CMD: apt-get 'install' 'fastpanel2' '-y' '-o' 'Dpkg::Options::=--force-confdef' '-o' 'Dpkg::Options::=--force-confold' '--force-yes' '--allow-unauthenticated'
[2024-07-31T11:35:29-04:00]  INFO Package 'fastpanel2' have been updated successful
root@best:~#

Заключение

Надеюсь вам это руководство пригодилось. Дам еще совет, если вы установили на свой сервер какую либо панель, то все изменения старайтесь делать только через панель! И только в исключительных случаях используйте консоль SSH для правки конфигурационных файлов.