FastPanel: установка и тюнинг на VPS/VDS для эффективного управления
FASTPANEL одна из лучших панелей в настоящее время: Обзор ТОП 10 Панелей Управления Хостингом VPS.
Установка FASTPANEL проста и описана в официальной документации. И в большинстве случаев вам этого хватит. Ниже описаны настройки которые вам могут понадобиться для ускорения работы в первую очередь ваших сайтов.
Установим Fastpanel с самого начала на последнюю Ubuntu 24.04 LTS на VPS от заказанный у PQ. Для установки Фастпанели требуется виртуальный (VPS) или выделенный сервер с root-доступом. Список поддерживаемых операционных систем я сократил, ибо анонсированная разработчиками Fastpanel поддержка CentOS 7 вызывает только умиление у некроадминов Короче устанавливайте не ниже этих ОС:
- Ubuntu 22.04, 24.04
- Debian 11, 12
- Rocky Linux: 8
- AlmaLinux: 8.
Плюсы Fastpanel:
- Удобная настойка почтового сервера и DNS.
Минусы (проверялось на Ubuntu 22 LTS):
- По умолчанию база данных MySQL Server version: 8.0.39. К счастью разработчики предусмотрели вариант смены базы данных при установке панели, например на mariadb 10.6. На 2024 год для Wordpress рекомендуется MariaDB версии 10.5 или выше. Но мне не удалось сменить версию БД (смотрите ниже пункт)
- Чудеса с нас настройкой фаервола (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. Жесть.
Радость! Значит панель развивается и ошибки фиксятся. Сегодня устанавливал Fastpanel на Ubuntu Server 24.04 LTS Noble Numbat удалось установить нужную версию базы данных
Available versions: default|mariadb10.11|mysql8.0|percona8.0 bash install_fastpanel.sh -m mariadb10.11
Шаг 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.
Вы можете выбрать один из следующих режимов работы:
- Модуль Apache (mod_php). В этом режиме используется серверная версия PHP и выбрать альтернативную версию невозможно. В качестве фронтенд-сервера используется Nginx, в качестве бэкенда — Apache. Скрипты обрабатываются модулем mod_php. Apache работает в режиме MPM-ITK.
- CGI. Можно выбирать альтернативные версии PHP. В качестве бэкенда используется Apache, для каждого запроса создается отдельный PHP-процесс.
- FastCGI. Можно выбирать альтернативные версии PHP. В качестве фронтенд-сервера используется Nginx, в качестве бэкенда — Apache. Скрипты обрабатываются модулем mod_fcgid. В отличие от CGI, для каждого скрипта не запускается отдельный процесс, благодаря чему меньше расходуются ресурсы и увеличивается скорость работы сайты. В случаях, когда требуется альтернативная версия PHP, рекомендуется выбирать этот режим.
- PHP-FPM (Nginx + PHP-FPM). Можно выбирать альтернативные версии PHP. В качестве фронтенд-сервера используется Nginx, в качестве бэкенда — PHP-FPM. В этом режиме не обрабатывается файл .htaccess. Все настройки .htaccess необходимо указывать в конфигурации Nginx.
Шаг 6: Тюнинг ОС
- Добавляем /etc/security/limits.conf строки
www-data soft nofile 65535 www-data hard nofile 65535
или если не уверены от какого пользователя запущен вебсервер, добавьте так
* soft nofile 65535 * hard nofile 65535 www-data soft nofile 65535 www-data hard nofile 65535
- В этот файл /etc/sysctl.conf бездумно копировать не нужно, предварительно почитайте об этих параметрах sysctl утилита, предназначенная для управления параметрами ядра
#!/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.
Проблемы настройки фаервола через веб-интерфейс Fastpanel
Минимальная безопасная настройка iptables Fastpanel через веб-интерфейс показана на скриншоте. Правила по умолчанию в меню "Глобальные настройки" Запрещено все, что не разрешено. Проблемы возникающие при такой настройке:
- Если вы используете IPv6, все будет заблокировано в том числе и ping для это протокола.
- Нет возможности разрешить доступ к SSH и панели только с определённых IP
Решение проблем
Хорошо, нельзя так нельзя 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
Полный листинг настроек для IPv6 /etc/iptables/rules.v6. Добавляем правило для ICMP и IP с которых разрешаем доступ ко всем портам. Соответственно закрываем доступ для остальных по SSH и к Fastpanel
# Generated by ip6tables-save v1.8.10 (nf_tables) on Mon Nov 18 11:09:05 2024 *filter :INPUT DROP [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :fastpanel_rules - [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -j fastpanel_rules -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p ipv6-icmp -m comment --comment "ICMP6" -j ACCEPT #-A INPUT -p ipv6-icmp -m icmp6 --icmpv6-type 135 -j ACCEPT #-A INPUT -p ipv6-icmp -m icmp6 --icmpv6-type 136 -j ACCEPT #-A fastpanel_rules -p tcp -m tcp --dport 8888 -j ACCEPT #-A fastpanel_rules -p tcp -m tcp --dport 22 -j ACCEPT -A fastpanel_rules -p tcp -m tcp --dport 80 -j ACCEPT -A fastpanel_rules -p tcp -m tcp --dport 443 -j ACCEPT -A fastpanel_rules -s 2a09:xxxx:x:xx::x -j ACCEPT -A fastpanel_rules -s 2a02:xxxx:xxxx:xxxx::x -j ACCEPT -A fastpanel_rules -s 2a03:xxxx:xxxx::xxxx:xxxx -j ACCEPT COMMIT # Completed on Mon Nov 18 11:09:05 2024
Полный листинг настроек для IPv4 /etc/iptables/rules.v4.
# Generated by iptables-save v1.8.10 (nf_tables) on Mon Nov 18 11:09:05 2024 *filter :INPUT DROP [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :fastpanel_rules - [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -j fastpanel_rules -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT #-A fastpanel_rules -p tcp -m tcp --dport 8888 -j ACCEPT #-A fastpanel_rules -p tcp -m tcp --dport 22 -j ACCEPT -A fastpanel_rules -p tcp -m tcp --dport 80 -j ACCEPT -A fastpanel_rules -p tcp -m tcp --dport 443 -j ACCEPT -A fastpanel_rules -s xxx.xxx.xxx.50/32 -j ACCEPT -A fastpanel_rules -s xxx.xxx.0.0/19 -j ACCEPT COMMIT # Completed on Mon Nov 18 11:09:05 2024
Для применения новых правил перезапустите службу netfilter:
systemctl restart netfilter-persistent.service
Шаг 8: Как настроить доступ к Fastpanel, RoundCube, phpmyadmin по HTTPS
По умолчанию Fastpanel разрешает доступ к своей панели управления, к почтовым ящикам RoundCube, phpmyadmin по IP и самоподписанным SSL сертификатом. На это ругаются браузеры. Можно приаккуратить такое поведение. Вы можете обращаться к панели по протоколу HTTPS — для этого потребуется добавить в качестве адреса панели домен (или поддомен) и выпустить для него SSL-сертификат.
- Перейдите в раздел «Настройки» — «Основные» и выберите вкладку «Адреса панели».
- Нажмите «Добавить адрес» и введите домен или поддомен, по которому вы хотите открывать панель. У домена в качестве A-записи должен быть указан IP-адрес вашего сервера.
- Нажмите «SSL» и выберите вариант «Let's Encrypt».
Теперь вы почтовый ящик можете открыть в браузере не вызывая его гнев:) по ссылке https://yourdomain.com:8888/webmail/
Шаг 9: Настройка почты в Fastpanel
Для того чтобы настроить почту на сервере с панелью Fastpanel во первых нам нужен DNS сервер. Вы его можете установить в Fastpanel и настроить, но я рекомендую для избежания задержек с ответом и других проблем использовать DNS сервера регистратора домена, в данном случае это NameCheap.
- В панели Fastpanel установите приложение bind9. Для этого перейдите в раздел «Настройки» — «Приложения» и найдите в списке bind9 и кликните на значок установки.
- В Fastpanel перейдите в раздел «Управление» — «Почта». Кликните на «Новый домен». Введите ваш домен и сохраните изменения.
- В Fastpanel перейдите в раздел «Управление» — «DNS-домены». Если вашего домена там нет создайте. И далее кликните на «DNS-записи».
- В целом, на этом настройку можно завершить и перейти к созданию ящиков. Если ваш почтовый домен совпадает с доменом сайта, созданного в Fastpanel, и для него уже выпущен SSL, вам остается сделать только 1 шаг, перейдите в раздел «Управление» — «Почта». Кликните на значок шестеренки у почтового домена. В пункте «Сертификат» выберите выпущенный SSL и нажмите «Сохранить».
- Создание почтового ящика. Перейдите в раздел «Управление» — «Почта» и кликните на «Почтовые ящики». Кликните на «Новый ящик». Заполните поля и нажмите «Сохранить».
Реквизиты для настройки почтовых клиентов можно получить, кликнув на значок рядом с именем ящика. Если вы настроили 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 для правки конфигурационных файлов.
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах