FASTPANEL одна из лучших панелей в настоящее время: Обзор ТОП 10 Панелей Управления Хостингом VPS.
Установка FASTPANEL проста и описана в официальной документации. И в большинстве случаев вам этого хватит. Ниже описаны настройки которые вам могут понадобиться для ускорения работы в первую очередь ваших сайтов.
Установим Fastpanel с самого начала на последнюю Ubuntu 24.04 LTS на VPS от заказанный у PQ. Для установки Фастпанели требуется виртуальный (VPS) или выделенный сервер с root-доступом. Список поддерживаемых операционных систем я сократил, ибо анонсированная разработчиками Fastpanel поддержка CentOS 7 вызывает только умиление у некроадминов Короче устанавливайте не ниже этих ОС:
Плюсы Fastpanel:
Минусы (проверялось на Ubuntu 22 LTS):
Мой выбор в сфере VPS-хостинга пал на PQ Hosting, Aeza (AÉZA) и DigitalOcean. Приятно, что эти провайдеры ценят своих клиентов и сохраняют выгодные условия даже при изменении базовых тарифов. Они предлагают широкий выбор конфигураций, что позволяет подобрать оптимальный вариант под любые нужды. Кроме того, у них часто проводятся акции и действуют специальные предложения для постоянных клиентов, что позволяет значительно сэкономить на аренде сервера. У них отличная техническая поддержка, которая всегда готова помочь с любыми вопросами.
Любую панель управления хостингом можно установить только на чистую операционную систему без предустановленного программного обеспечения. Установка на сервер с преднастроенным ПО невозможна!
apt update apt full-upgrade reboot
Если будет обновлено ядро, рекомендую перезагрузить ОС, а потом продолжить процесс установки. Для перезагрузки используйте команду reboot.
Установим wget для скачивания инсталлятора Fastpanel.
apt install -y -qq wget curl
Если имя вашего сервера соответствует домену вашего сайта, который вы будите добавлять в виде сайта в Fastpanel - смените имя сервера. Если этого не сделать, Fastpanel может не разрешить добавить ваш домен.
Посмотреть текущее имя сервера, можно командой hostname.
hostname -f
Сменить имя сервера в Linux командой:
hostnamectl set-hostname mydomain
После окончания установки Fastpanel, добавьте ваш домен и только после этого ,если вы планируете использовать это домен для рассылки почты, измените имя сервера на правильное. И перезагрузите сервер, чтобы изменения были восприняты потовым сервером.
Подготовка к установке самое важной, как корабль снарядишь так долго он и проплывет:)
По умолчанию 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
Приступим непосредственно к установке 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
Чтобы заказать лицензию, вам необходимо создать аккаунт на сайте. Проще всего перейти на веб-интерфейс вашей Fastpanel, которая предложит вам: Для выпуска лицензии введите email. Информация о созданной лицензии и учетной записи, а также ссылка для активации лицензии будут высланы на указанный почтовый адрес.
Получив на почту доступы, вам нужно залогиниться под ними и выпустить лицензию. Лицензия активируется моментально.
Я считаю для стандартных сайтов связка Nginx и PHP-FPM является самой быстрой. Поэтому в настройках сайта выбираю режим PHP-FPM, а Apache вообще выключаю из автозагрузки:
В этом разделе просто для информации описаны какие режимы работы PHP поддерживает Fastpanel. Возможно вам нужен какой-либо из них, я же предпочитаю как писал выше Nginx и PHP-FPM.
Вы можете выбрать один из следующих режимов работы:
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
#!/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
В документации Fastpanel написано, что через веб можно разрешать/блокировать по IP адресу, но у меня сейчас под рукой Ubuntu 24.04 и там такой возможности нет. Можно настраивать доступ только по портам и все.
Кстати UFW установить нельзя, потому что удалятся основной сервис fastpanel2.
Минимальная безопасная настройка iptables Fastpanel через веб-интерфейс показана на скриншоте. Правила по умолчанию в меню "Глобальные настройки" Запрещено все, что не разрешено. Проблемы возникающие при такой настройке:
Хорошо, нельзя так нельзя 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
По умолчанию Fastpanel разрешает доступ к своей панели управления, к почтовым ящикам RoundCube, phpmyadmin по IP и самоподписанным SSL сертификатом. На это ругаются браузеры. Можно приаккуратить такое поведение. Вы можете обращаться к панели по протоколу HTTPS — для этого потребуется добавить в качестве адреса панели домен (или поддомен) и выпустить для него SSL-сертификат.
Теперь вы почтовый ящик можете открыть в браузере не вызывая его гнев:) по ссылке https://yourdomain.com:8888/webmail/
Для того чтобы настроить почту на сервере с панелью Fastpanel во первых нам нужен DNS сервер. Вы его можете установить в Fastpanel и настроить, но я рекомендую для избежания задержек с ответом и других проблем использовать DNS сервера регистратора домена, в данном случае это NameCheap.
Реквизиты для настройки почтовых клиентов можно получить, кликнув на значок рядом с именем ящика. Если вы настроили SSL сертификат, вы также можете использовать порты с шифрованием: IMAP — 993, SMTP — 465, POP3 — 995.
Почтовые записи в DNS обычно обновляются в течении 1 часа. Пробуем отослать письма на gmail и отвечаем на него. Проверили почту в обе стороны. Это хорошо, но мало:) Далее проверяем сервисом https://www.mail-tester.com и стараемся достичь результат в 10 баллов.
Если не знали, да еще забыли:) пароль для входа в Fastpanel, но у вас есть доступ SSH. Пароль можно заменить как для обычного пользователя командой passwd
passwd fastuser
Или через многофункциональную утилиту mogwai которая входит в Fastpanel
mogwai chpasswd --username=fastuser --password=YOUR_PASSWORD
Я обычно захожу по 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 для правки конфигурационных файлов.