Это меню похожее на то, что было у Bitrix VM, но не для CentOS систем, а для Debian 12 / Debian 13 / Ubuntu 24.04. За основу был взят этот репозиторий EduardRe/DebianLikeBitrixVM. Основном отличием является использование php-fpm и mpm_event вместо libphp и mod_prefork, а также использование разных пользователей для разных ядер
Проект пока находится в стадии тестирования.
- При установки окружения устанавливается все необходимое, а также устанавливается и настраивается Push and Pool сервер
- Поддержка композита из коробки, в том числе отдача файлов композита из nginx (как в bitrix-env)
- Отдача статики через Brotli / Zstd из коробки
- Гибко применять свои конфиги для Nginx не меняя стандартные конфиги
- Показывать список сайтов
- Создавать сайты, как полноценные, так и на символических ссылках
- Удаление сайтов, как полноценных, так и на символических ссылках
- При создании полноценного сайта агенты автоматически переводятся на CRON
- Выпускать SSL Let`s Encrypt сертификаты
- Включать и выключать редирект с HTTP на HTTPS протокол
- Изменение версий PHP отдельно для каждого сайта
- Для каждого сайта можно отдельно включить php-xdebug
- Для каждого сайта можно включить/выключить базовую авторизацию в nginx
- Для каждого сайта можно включить/выключить mitchellkrogza/nginx-ultimate-bad-bot-blocker
- Каждое ядро, по умолчанию, устанавливается под отдельным пользователем
- Установка mariabd или percona mysql на выбор
- Настройка SMTP как по умолчанию, так и для каждого сайта по отдельности
- Обновление сервера
- Перезагрузка сервера
- Выключение сервера
- Возможность установки полнотекстового поиска Sphinx
- Возможность установки мониторинга Netdata
- Информирование о выходе новой версии меню
- Возможность обновить меню одной командой
update_menu - Возможность установки Сервер конвертации файлов
- Возможность установки Crowdsec (современная замена fail2ban)
- Возможность установки rkhunter
- Возможность установки memcached
- Возможность установки Linux Malware Detect
- Возможность установки Postgresql + pgbouncer (создание пользователей и бд)
- Создание/Удаление FTP-пользователей
!!! ВНИМАНИЕ Проект находится на стадии тестирования, поэтому будьте крайне осторожны на рабочих серверах, что-то может не работать или работать не так !!!
Установку выполнять только от root пользователя и использовать меню тоже только от root пользователя
apt install wget -y
wget https://raw.githubusercontent.com/YogSottot/DebianLikeBitrixVM/feature/php-fpm/.env.menu.example -O /root/.env.menu
# Отредактируйте .env.menu указав желаемые опции.
cd /root/
nano .env.menu
# Установка окружения. Опции из .env.menu будут использованы при установке. Если упал с ошибкой, то его можно перезапускать без переустановки ос.
bash <(wget -qO- https://raw.githubusercontent.com/YogSottot/DebianLikeBitrixVM/feature/php-fpm/install_full_environment_fpm.sh)Если вышла новая версия меню и вы хотите обновится - это также можно сделать одной командой update_menu или через запуск скрипта через WGET, также текущая версия меню будет забекаплена и сохранена в директории /root/backup_vm_menu/ДЕНЬ.МЕСЯЦ.ГОД ЧАСЫ:МИНУТЫ:СЕКУНДЫ пример /root/backup_vm_menu/07.07.2024 09:29:45
Команды для обновления:
Обновления используя WGET
bash <(wget -qO- https://raw.githubusercontent.com/YogSottot/DebianLikeBitrixVM/feature/php-fpm/update_menu.sh)Установка меню производиться в директорию /root, а точнее в /root/vm_menu и создается символическая ссылка /root/menu.sh, которая ведет на файл /root/vm_menu/menu.sh - это было сделано для удобства, что бы можно было использовать как раньше ./menu.sh - если находитесь в директории /root или /root/menu.sh, если находитесь в другой директории, также можно использовать полный путь /root/vm_menu/menu.sh. Также после установки в файл /root/.profile прописывается путь к скрипту с меню, что позволяет загружать меню автоматически при подключении по SSH.
Скрипты написаны очень гибко и можно менять практически все - файл с настройками находиться здесь /root/vm_menu/bash_scripts/config.sh - по умолчанию там все настроено, но если что-то надо поправить под ваши нужды, то это можно сделать скопировав желаемую опцию в .env.menu и отредактировав там.
Также предусмотрен функционал информирования о том, что вышла новая версия меню, обновление происходит через скрипт (описание выше) или вы можете вбить команду update_menu. Также вы можете использовать этот скрипт или команду update_menu, если вы экспериментировали с меню и что-то сломали - просто запустите его и он восстановит исходную версию.



