Glashkoff.com

Полезные советы и софт, создание и оптимизация сайтов на WordPress

Администрирование

Webinoly: управляем VPS с Ubuntu Server 18.04

Предисловие

Вы можете заказать у меня настройку сервера. Либо настроить и управлять сайтами самостоятельно, следуя советам ниже.

Немногим более года назад я рассказал про возможности панели управления VestaCP. На тот момент это был оптимальный бюджетный способ поднятия своего веб-сервера без заморочек с настройкой. Прошло время и я понял, что нужно двигаться дальше.

Почему я потерял доверие к VestaCP

Первый тревожный звоночек — выпуск новой версии панели 0.9.8-18 аккурат перед праздниками 29 декабря 2017 года. Никто в своём уме не будет обновлять софт перед длинными выходными, особенно если предыдущая версия вышла целый год назад (25 ноября 2016-го). За это время можно было написать много костылей, не проверенных на совместимость с новой версией. Вот только панель по умолчанию обновляется автоматически. Естественно, что у некоторых владельцев серверов, в том числе моих читателей, всё поломалось. Исправления вышли 10 января, то есть новогодние праздники были испорчены.

Второй тревожный сигнал — поведение разработчиков во время массовых сообщений о взломе VPS с установленной Вестой. Хотя сама панель бесплатная, наличествуют платные модули, а значит — должен быть хоть какой-то уровень ответственности. Вместо этого разработчики отмалчивались, правили скрипты входа в панель наугад и давали инструкцию по удалению трояна вместо инструкции о том, как предотвратить заражение.

Чуть позже выяснилось, что вроде бы проблема в почтовом веб-клиенте roundcube, который ставится вместе с VestaCP и к панели прямого отношения не имеет. Но неприятный осадочек никуда не делся.

Третьего предупреждения свыше я ждать не стал и активно зарылся в GitHub в поисках достойной бесплатной замены с открытым исходным кодом.

Веб-серверами можно управлять тремя способами.

  • Через веб-интерфейс. Заходите на страничку, кликаете по кнопкам, ставите галки и так далее. Это просто, удобно, приятно. Для этого и нужны VestaCP, cPanel, Webmin, ISPmanager, DirectAdmin и десяток других программных продуктов.
  • Через консоль, редактируя конфиги. Хардкорный вариант — прямое редактирование конфигурационных файлов. Это сложновато, зато из-за максимального контроля всех аспектов веб-сервер идеально подгоняется под нужды владельца.
  • Через консоль с помощью скриптов. Компромиссный вариант между веб-интерфейсом и ручной правкой конфигов. Можно написать самостоятельно или воспользоваться готовыми скриптами для быстрой установки серверного софта, базовой настройки и дальнейшего управления сайтами. Это упростит редактирование конфигов.

Также можно пользоваться готовыми Docker образами, но в рамках дешёвых виртуальных серверов с ними сложно достичь хорошей производительности.

Скажу прямо — я не супер-мега-админ, готовый ковыряться в конфигах круглые сутки. Мне нужна надёжность и простота, чтобы я мог сосредоточиться на оптимизации и общих вопросах стабильности работы сервера. Веб-интерфейс, конечно, сильно облегчает добавление нового сайта, но можно обойтись одной консолью. Поэтому я стал искать скрипты для управления своей VPSки и нашёл три кандидата.

  • EasyEngine. Заточена под управление сайтом на WordPress. Ставит Nginx, PHP, MySQL-совместимую базу данных. Фатальный недостаток EasyEngine — разработчики подзабили на развитие проекта. Между последними версиями прошло более полутора лет (3.7.4 — 26 августа 2016 г., 3.7.5 — 30 марта 2018 г.), причём изменения незначительные.
  • lnmp. Набор скриптов китайского происхождения, поэтому официальный сайт и документация нечитабельны даже с переводчиком. Преимущество и одновременно проблема этого продукта — софт ставится не из репозиториев операционной системы, а собирается из исходников. Это великолепно в том плане, что скрипты заработают на всех популярных *nix операционных системах и на сервере с ARM процессором можно обеспечить максимальную производительность. Недостаток — долгое время установки. На компьютере с Core i7-2600K компиляция полного комплекта софта (там помимо Nginx+PHP+MySQL много чего ещё) заняла 30 минут. На дешёвой VPS время можно смело умножить в десять раз. 5 часов полной недоступности сайта и возможные заморочки каждый раз при обновлении до свежих версий — не то, что мне хочется.
  • Webinoly —  испанский наследник идеи EasyEngine, созданный из-за неторопливой разработки оного. Ставит минимальный набор софта, скрипты довольно простые, всё понятно организовано. Проект свежий, новые версии выходят ежемесячно.

Как вы уже догадались, я сделал свой выбор в пользу Webinoly. Пока что это самое простое и эффективное решение с грамотной поддержкой WordPress. Сайты на других CMS запускать тоже можно.

Почему Ubuntu Server 18.04?

Это свежий релиз со статусом LTS (Long Term Support, «поддержка в течение длительного периода»), для которого будут выходить обновления аж до 2023 года. Поддержка старой 16.04 заканчивается тоже не завтра, а в 2021 году, но я всё же хочу чуть большей безопасности, чем может предоставить 16.04.

Кстати, в пользу Webinoly сказал тот факт, что хотя на момент написания статьи версии с поддержкой Ubuntu Server 18.04 не было, всё нормально установилось и заработало. Такой уровень говорит о продуманности и простоте решения.

Про инсталляцию Ubuntu Server 18.04 писать не буду, так как обычно хостер предоставляет готовый образ системы. Вам нужно лишь подключиться по протоколу SSH и начать управлять сервером через консоль.

KiTTy

Советую программу KiTTy в качестве SSH-клиента. Это форк популярной софтины PuTTy с полезными улучшениями.

Самое главное в использовании программы — разобраться с сохранением сессий, чтобы не вводить каждый раз IP сервера и настройки. Остальное наработается со временем.

Так работает сохранение настроек в KiTTy и PuTTy

Так работает сохранение настроек в KiTTy и PuTTy

Кстати, для удобочитаемости текста в консоли я использую моноширинной шрифт Cousine четырнадцатым кеглем. Шрифты настраиваются в разделе Window — Appearance.

Midnight Commander

Это файловый менеджер №1 в мире *nix. С его помощью удобно смотреть содержимое каталогов и редактировать файлы конфигурации через встроенный mcedit. MC сильно облегчит жизнь.

Сначала обновите софт:

sudo apt update
sudo apt upgrade

Затем ставьте сам MC:

sudo apt install mc

Midnight Commaner запускается командой mc.

Редактор mcedit, идущий в комплекте, отдельно запускается так:

mcedit -e /dir/vash_fail.conf

К программе есть неполная документация на русском языке.

WinSCP

Для передачи файлов с/на сервер нельзя использовать протокол FTP из-за его полной небезопасности: пароль и другие данные легко перехватить. Вместо этого файлы можно передать через SFTP, используя тот же порт, логин и пароль, что и для консоли SSH.

Скачать WinSCP можно на домашней странице программы. Есть файл русификации, который нужно сохранить в папке с WinSCP.

Fail2ban

Инсталлятор Webinoly не ставит Fail2ban, поэтому защищаться от подбора паролей к службам сервера придётся самостоятельно.

Сначала ставим с параметром -y, чтобы не было лишних вопросов:

sudo apt install fail2ban -y

И… на этом всё! После 5 неудачных попыток логина IP-адрес атакующего будет забанен на 600 секунд.

В интернете есть много инструкций по настройке Fail2ban. Подозреваю, что многие устарели, потому что Fail2ban работает «из коробки» с SSH, хоть правила и не жёсткие.

Если по какой-то причине в логах /var/log/fail2ban.log пусто (любой сервер подвергается атаке через ssh несколько раз за день), убедитесь что существует лог-файл /var/log/auth.log. Если его нет, установите rsyslog (apt install rsyslog), в файле /etc/ssh/ssh_config раздел #Logging приведите к такому виду:

# Logging
SyslogFacility AUTH
LogLevel VERBOSE

И настройте Fail2ban так:

1. Создайте файл конфигурации командой

touch /etc/fail2ban/jail.local

2. Вставьте туда конфиг для защиты SSH:

[sshd]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/auth.log
findtime = 600
maxretry = 3
bantime = 43200

3. Перезапустите сервисы командами:

sudo service ssh restart
sudo service fail2ban restart

Позже советую погуглить документацию, чтобы настроить защиту других служб сервера. В файле конфигурации fail2ban.conf есть готовые секции для различных SSH, Nginx, Openwebmail и других, их можно «оттюнинговать» путём копирования секции настроек в файл jail.local, как в примере с настройкой ssh.

Я же расскажу о снятии блокировки по IP, что сильно выручило, когда увлёкся редактированием настроек Fail2ban и забанил самого себя.

Быстро разбанить любой IP можно с помощью утилиты fail2ban-client. Сначала смотрим, забанен ли адрес вообще.

iptables -L -n

Затем даём команду на разбан.

sudo fail2ban-client set sshd unbanip tyt_ip

Вместо sshd может быть название любой другой службы, для которой сработала блокировка.

Webinoly

Главная цель скриптов Webinoly — запустить на вашем сервере с Убунтой сайты. Вы не найдёте управление пользователями, мониторинг производительности и прочие фишечки. Webinoly — прекрасное решение для тех, кому нужен сервер для личных проектов.

В качестве софта используется стек LEMP: Nginx+PHP+MySQL. Правда, в качестве сервера баз данных авторы предпочли MariaDB, но это даже хорошо — так можно покрыть потребности большего количества систем управления контентом.

В отличии от VestaCP, какой-либо «защиты от дурака» здесь не существует. Неправильно отредактировали конфиг — сами виноваты. Но зато Webinoly не сильно вмешивается в файлы конфигурации, лишь генерируя базовые конфиги как для полностью статических, так и динамических сайтов на PHP. Особое внимание уделено WordPress: для быстрого создания сайта на этой CMS есть отдельная команда.

Поддержка кеширования с помощью средств Nginx, Redis и Memcached также присутствует. Причём для WP при включении кеша будет предложена установка соответствующих плагинов.

PhpMyAdmin для управления базами данных тоже наличествует.

В общем, Webinoly — это инструмент без особых замашек на всеядность, но зато в нём нормально работают заявленные функции:

  1. Добавление, удаление сайтов.
  2. Быстрое включение кеширования.
  3. Быстрая конфигурация HTTPS (встроенный шаблон настроек SSL очень даже неплох, получает A+ на SSL Labs).
  4. Автоматическое обновление сертификатов SSL от Let’s Encrypt.
  5. Просмотр в реальном времени всех основных журналов событий.

Это хороший старт для тех, кому не лень прочитать мануалы и донастроить сервер под свои нужны самостоятельно, на 100% используя имеющиеся ресурсы сервера.

Установка

Ставится достаточно просто, нужно выполнить несколько шагов.

1. Выполните в консоли команду загрузки и запуска инсталлятора:

wget -qO weby qrok.es/wy && sudo bash weby 3

Первоначальная установка пакетов займёт 5-15 минут.

Затем вы получите два пароля от базы данных — админский (admin) и полный (root), запишите их. Если что, в phpMyAdmin достаточно заходить под админом.

Успешная установка Webinoly

Успешная установка Webinoly

В принципе, серверный софт уже будет работать, но нужно его донастроить.

2. Кое-какие средства администрирования окажутся доступны на 22222 порту. Не облегчайте жизнь сканирующим ботам и злоумышленникам, измените порт на любой случайный командой:

sudo webinoly -tools-port=xyz

Вместо xyz — любой порт, кроме 22, 80 и 443.

Попытавшись зайти по адресу http://ip_вашего_сервера:тот_случайный_порт, вы обнаружите, что у вас требуют логин и пароль. Их нужно добавить командой:

sudo httpauth -add=[user,password]

Полагаю, вы догадались, что нужно ввести вместо user и password.

Пароли, передающиеся методом HTTP Authentication, можно перехватить. Не админьте сервер, подключившись к публичной Wi-Fi сети.

Зайдя по этому адресу, вы сможете глянуть некоторую статистику сервера и воспользоваться phpMyAdmin.

Также этим же логином и паролем можно защитить админки сайтов на WordPress. Просто выполните команду:

sudo httpauth -wp-admin-on

Это не защитит от слишком настойчивого хакера, но в целом полезно.

Документация к Webinoly

Эта консольная панель управления сервером облегчает размещение сайтов, помогает настроить бекап, быстро сконфигурировать кеширование в nginx и подключить SSL-сертификаты Let’s Encrypt.

На момент написания этой статью доступно 5 модулей, у каждого своя команда и своя зона ответственности.

httpauth — управление пользователями для проверки подлинности с помощью HTTP Authentication. Как уже писал выше, с его помощью можно защитить и админку сайта на WordPress.

log — для просмотра логов в режиме реального времени.

site — создание, удаление сайтов и изменение их настроек.

stack — установка и удаление серверного софта. Например, можно полностью убрать nginx и сервер базы данных, чтобы хостить только статические сайты.

webinoly — управление самой панелью, её обновление и регулировка некоторых параметров.

Каждый модуль требует прав администратора, т.е. команды вводятся вместе с sudo:
sudo site <набор опций>

httpauth

Команда «httpauth» позволяет ограничить доступ к страницам с помощью аутентификации по HTTP. Обычно это phpMyAdmin, /wp-admin и /wp-login.

Синтаксис:

sudo httpauth <опция>

Опции:

-add — создать пользователя для доступа к разделам, защищённым через HTTP Authentication. К системным пользователям Убунты отношения не имеют! После нажатия Enter Webinoly спросит имя пользователя и пароль. Можно этого избежать, сразу указав вот так:

sudo httpauth -add=[user,password]

-delete — удалить пользователя. Можно сразу указать вот так:

sudo httpauth -delete=user

-list — вывести список добавленных пользователей.

-wp-admin-on — защита паролем страниц /wp-admin и /wp-login — админки сайтов на WordPress. Зайти можно будет под любым добавленным пользователем. Это не какая-то суперсильная защита от взлома, в админку можно попасть многими способами, просто дополнительное препятствие.

 -wp-admin-off — выключение защиты /wp-admin и /wp-login.

log

Командой «log» можно быстро глянуть журналы событий. Причём они будут отображаться в реальном времени, что очень удобно для отладки сайтов.

Синтаксис:

sudo log <домен> <опция>

Запуск «log» без опций и указания доменов покажет логи доступа (не ошибок) ко всем сайтам на VPS. Чтобы увидеть ошибки, выполните:

sudo log <домен> -error

Либо ошибки сразу всех сайтов:

sudo log -error

Специально для WordPress есть полезная команда:

sudo log <домен> -wp

Команда покажет содержимое файла /wp-content/debug.log. Работает только при включенном параметре WP_DEBUG=TRUE и записи ошибок в вышеуказанный файл.

Показ ошибок PHP:

sudo log -php

Ошибки сервера баз данных MariaDB:

sudo log -mysql

Ошибки при работе с почтой (логи postfix):

sudo log -mail

Для прерывания показов, как и в случае с любыми скриптами, жмите Ctrl+C.

site

Создание и управление сайтами — самая проработанная часть Webinoly.

Синтаксис команды site таков:

sudo site <домен> <опция_1> <опция_2>

Возможные опции:

-html — создание статического сайта.

-php — создание сайта с поддержкой PHP и без базы данных.

-mysql — если указан домен, создаёт сайт с поддержкой PHP и базу данных. Чтобы не было лишних вопросов, можно использовать настройки по умолчанию:

sudo site -mysql=default

Либо указать собственные:

sudo site -mysql=[host,dbname,dbuser,password,external_dbuser,external_dbpass]

А если домен не указан, то просто создаёт БД. Пригодится на случай, если, например, сайту требуется несколько баз.

-wp — создание сайта с WordPress. Во время установки Webinoly спросит вас, хотите ли вы изменить некоторые настройки вроде базы данных, вы можете просто нажимать Enter, чтобы использовать настройки по умолчанию. Либо выключить запрос настроек и использовать готовый шаблон:

sudo site example.com -wp=default -cache

Можно также сразу задать в команде все нужные опции согласно синтаксису:

sudo site example.com -wp = [<setup_db>, <setup_wp>, <host>, <dbname>, <dbuser>, <dbpass>, <wp_prefix>, <external_db_user>, <external_db_pass>])

Для WordPress Multisite есть два варианта установки — для подпапки:

sudo site example.com -wpsubdir=default -cache

И субдомена:

sudo site example.com -wpsubdom=default -cache

Как только вы войдете на свой новый сайт, WordPress, как обычно, попросит вас выбрать язык, пользователя, почту и другие настройки. Загляните в Инструменты — Настройка сети, чтобы снова выбрать тип установки — субдомен или подкаталог. Можно донастроить WP Multisite и другим способом, раскомментировав добавленные Webinoly строки в wp-config.php файле.

-cache и -nocache включают и выключают соответственно кеширование FastCgi с помощью Nginx.

Чтобы включить FastCgi:

sudo site domain.com -cache

Чтобы отключить FastCgi:

sudo site domain.com -nocache

Вы также можете активировать кеш сразу при создании нового сайта:

sudo site domain.com -wp -cache

Кстати, для WordPress используйте плагин Nginx Helper, чтобы кеш очищался корректно. В его настройках укажите прямую очистку файлов кеша вместо запроса через url (опция » Delete local server cache files» или «Удалить локальные файлы кеша на сервере»).

-parked — указание, что это альтернативный домен сайта. Таким образом один сайт может быть доступен на разных доменах. Синтаксис такой:

sudo site domain.com -parked=mainsite.com

Обязательный момент: основной сайт должен быть на этой же VPS-ке, иначе ничего не заработает.

-proxy — включение обратного прокси в Nginx. Синтаксис такой:

sudo site example.com -proxy=localhost:8080

Пригодится, например, если сайт работает на Python вместо PHP.

-on и -off — активация и деактивация сайта. Допустим, вы проводите какие-то технические работы и посетители вам не нужны, можно временно отключить сайт.

-delete — удаление указанного сайта. -delete-all удаляет ВСЕ сайты. Если сайт на WP, удалится и привязанная база данных, в остальных случаях может что-то остаться.

-list — вывод списка сайтов на VPS.

-ssl-on — включение шифрования по HTTPS. Запрашивается бесплатный сертификат у сервиса Let’s Encrypt, который будет сам обновляться. Каждую неделю Webinoly будет присылать вам письма со статусом используемых сертификатов, чтобы максимально контролировать этот процесс.

Важный момент: если ваш сайт использует «припаркованные» (зеркальные) домены, нужно использовать параметр -root с указанием основного. Синтаксис получения сертификата будет такой:

sudo site domain.com -ssl-on -root=mainsite.com

-ssl-off — выключение HTTPS у сайта.

-subdomain=true — принудительное указание поддомена. Обычно Webinoly сам определяет, указали ли вы домен или субдомен, но разработчики реализовали возможность указать это вручную.

stack

Команда «stack» управляет набором софта. Синтаксис команд:

sudo stack <option> <option2>

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

wget -qO weby qrok.es/wy && sudo bash weby 0

Опции:

-html или -nginx — установка Nginx. Для особенных случаев можно указать источник версий:

sudo stack -nginx=mainline

или

sudo stack -nginx=stable

-php — PHP-интерпретатор.

-mysql — MySQL (MariaDB).

-pma — phpMyAdmin.

-web-tools — дополнительные утилиты: Let’s Encrypt, Duply & Duplicity (для бекапов), Postfix (для отправки почты с VPS), Redis и Memcached (кеширование), Php Info & Status (страница, доступная через порт 22222), phpMyAdmin. По умолчанию ставятся вместе с nginx, поэтому, если всё это добро вам не нужно, используйте опцию -notools:

sudo stack -nginx -notools

-lemp — установка Nginx, PHP, MySQL и всех дополнительных утилит.

-php-ver — (пере)установка PHP на определённую версию. Например:

sudo stack -php-ver=5.6

-purge — добавление этой команды к -php, -nginx, -mysql, -pma, -web-tools вызовет удаление указанного софта.

-purge-server-all — удаление всего софта, кроме Webinoly. Чтобы не было вопросов от консоли управления, можно форсировать операцию:

sudo stack -purge-server-all=force

-info — вывод информации об установленных пакетах, софте.

webinoly

Модуль, отвечающий за настройку консоли. Синтаксис:

sudo webinoly <опция>

-update — обновление Webinoly до последней версии.

-dbpass — по идее эта команда восстановит изначально сгенерированные логины и пароли пользователей баз данных, но пока лучше не пользоваться — разработчики сообщают, что нужно доработать.

-tools-port — указание порта для доступа к phpMyAdmin и другим инструментам.

-login-www-data — разрешить пользователю www-data доступ к загрузке файлов по протоколу SFTP. -nologin-www-data запрещает.

-config-cache — настройка кеша FastCgi в Nginx. Настраиваются три срока хранения кеша:

  1. Код HTTP 200: успешные запросы страниц.
  2. Время бездействия: удалить кешированные данные, которые не запрашивались определённое время.
  3. HTTP-коды 301, 302, 307 и 404: перенаправления и «страница не найдена».

Формат времени: s — секунды, m — минуты, h — часы, d — дни, w — недели, M — месяцы, y — года.

Чтобы не проходить квест с вопросами и ответами, можно сразу указать в команде:

sudo webinoly -config-cache=[10d, 1w, 5m]

-clear-cache=<опция> — принудительная очистка кеша. Возможные опции: all (все), fastcgi, redis, memcached, opcache.

-verify — проверка целостности установки Webinoly. Запустится проверка всех файлов и некоторых настроек.

-info — информация о настройках Webinoly.

-uninstall — удаление консоли управления. Папки с сайтами останутся.

-server-update или -server-reset — сброс всех файлов конфигурации на дефолтные.

Редактирование настроек Nginx и прочего софта

Файл конфигурации панели управления находится по пути /opt/webinoly/webinoly.conf. Особо менять там нечего, но если что — смотрите официальную документацию.

Когда вы создаёте сайт командой sudo site, в указанных ниже директориях генерируются конфигурационные файлы на основе шаблонов из /opt/webinoly/templates/.

/var/www/имя_сайта/htdocs/ — сюда нужно поместить файлы сайтов.

/etc/nginx/sites-available — конфиги nginx, сгенерированные на основе шаблонов Webinoly.

 

/etc/mysql/ — конфиги сервера баз данных.

/etc/nginx/ — конфиги Nginx.

/etc/php/ — настройки PHP.

Так вот, почти всё это добро редактировать можно. В конфигах, которые перезапишутся при обновлении панели, так и будет написано — «Do not modify, all changes lost after update Webinoly», всё остальное правьте как вам угодно.

Бекапы

Панель ставит Duplicity и Duply для возможности использования резервного копирования, но настраивать создание бекапов придётся вам самим.

Возможностей Duplicity (Duply — это надстройка) очень много, сценариев использования десятки, если не сотни. Я не хочу раздувать свою заметку до объёма Войны и мира, поэтому смотрите здесь: duply.net.

Резюме

Webinoly — достаточно простой инструмент, автоматизирующий администрирование VPS или VDS. В нём нет «защиты от дурака», поэтому внимательно читайте мануалы перед тем, как что-то делать.

А как вы управляете своим сервером (если он у вас есть)?

15 комментариев

  1. Игорь

    вообще можно у реселлеров недорого взять ispmanager. там конечно намного удобнее все, чем в весте. висит десяток сайтов на wp и опенкарте. Vps на ovh. Есть выбор версии php, mysql. Нормальная документация. в принципе пока устраивает. бесконечная лицензия стоит 2000 рублей

    Ответить

    • Дмитрий Глашков

      А как организована техподдержка в таком случае? Через реселлера? Возможно, вы ещё просто не сталкивались с ситуацией, когда какой-то модуль ведёт себя некорректно и достучаться до техподдержки ISPmanager невозможно. Либо это мне так не везло.

      Ответить

  2. Игорь

    была проблема с лицензией, триальная оставалась после покупки вечной. Написал в тп isp напрямую, в тот же день они ответили и решили проблему на своей стороне. Платное обращение в кабинете Billlmanager не списалось. А с какими модулями была проблема?

    Ответить

    • Дмитрий Глашков

      Времени прошло предостаточно, много конкретики не могу сказать. Помню самый яркий случай: в конце 2013 года или январе 2014-го у знакомого при обновлении этой панели стёрлись конфиги Апача и PHP, затем при добавлении новых доменов они вообще перестали генерироваться. Дело было в неверном назначении прав и я это исправил, но попутно обнаружил, что панель странно обращается с содержимым конфигов (затирает строки, иногда вставляет блоки хостов в середину старых), причём баг воспроизводился только в определённое время суток при сильном скачке посещаемости сайтов, размещённых на сервере. Решил об этом написать авторам панели и столкнулся с тем, что без пакета техподдержки меня принципиально игнорировали. Пришлось общаться с теми, кто перепродал лицензию, потому что платная техподдержка была куплена. В итоге с лицензией разобрались, но с конфигами так ни к чему не пришли, потому что ломать сервер в пике посещаемости для повторного воспроизведения бага нельзя, а логов оказалось недостаточно.
      Были и другие проблемы, обычно по мелочи. Например, неверно составленные шаблоны Nginx для одновременной работы по HTTP и HTTPS.
      Как клиент shared-хостингов я тоже наступал на грабли, связанные с глюками этой панели. Например, два раза подряд не включалось автопродление оплаты и сайты останавливали, хотя переключатель стоял в положении «Вкл». Техподдержка подтвердила, что проблема в биллинговой части и сообщила, что пилят своё собственное решение на замену. Не редактировались настройки DNS у купленного домена (при сохранении возвращались старые значения). Не активировались модули PHP (впоследствии оказалось, что я вообще не должен был видеть этот раздел настроек на своём тарифе). А ещё однажды я «сломал» свою админку, просто изменив тему оформления. Это был просто epic fail, я не мог поверить, что в таком серьёзном продукте наличествовал такой баг. Для платного продукта с долгой историей разработки эти проблемы странны и ненормальны.

      Ответить

  3. Александр

    Дмитрий, привет. Спасибо за обзор :) EE какое-то время использовал, простой инструмент, жаль, что на него подзабили.

    После EE перешел на roots.io У них в комплекте идет не только сервер настроенный, но и вагрант с виртуал бокс, для удобной локальной разработки(виртулка поднимается одной командой на локальной машине, вместе с wordpress’ом и всеми плагинами, который у тебя в проекте есть, сам проект естественно в репозитории, зависимостями кампоузер управляет)

    Плюс, на всех серверах единое окружение получается, что тоже классно.

    Ответить

    • Дмитрий Глашков

      Ого, вот это да, как я мог пропустить такой проект! Спасибо. Надо глянуть.

      Ответить

  4. Fanis

    Пользовался ispmanager год, как то раз решил перейти на связку Nginx+php-fpm. Хапнул гемороя я с этой панелью знатно, и не только из за связки. С помощью поисков наткнулся на EasyEngine. С консолью не особо в ладах, но мое любопытство взяло вверх. После прочтения манаулов и несколько проб установки сервера и настройки. Это просто свежий глоток воздуха после этих грабозких интерфейсов с их неповоротливостью. Сейчас просто радуюсь что рискнул работать через консоль. Документация отличная на сайте простые команды и простые решения, единственное у меня траблы были с настройкой почты. Сейчас наткнулся на тесты по сервакам и увидел обзор webinoly, а затем и у вас здесь обновление в статье. В отличие от Easyengine по первым признакам ребята получается более быстрее работают и обновляют свою панельку. И вот это все заставляет чесаться руки и готовиться к переезду на webinoly)))

    Ответить

    • Дмитрий Глашков

      Спасибо за отзыв. Да, авторы webinoly молодцы. Судя по логам изменений на Гитхабе, у них правильный баланс между введением новых фишек и доработкой существующих функций. Аккуратно работают, ничего не ломая.

      Ответить

  5. Viktor

    как это сравнивается с SlickStack?

    https://github.com/littlebizzy/slickstack

    Ответить

    • Дмитрий Глашков

      Привет. Судя по описанию на Гитхабе, SlickStack для WordPress (быстрого развёртывания Multisite и управления ими), а Webinoly более универсальный инструмент, подходящий для любых типов сайтов, с CMS и без. По моему мнению, сравнить их не получится, так как решают разные задачи.

      Ответить

  6. Сергей

    Привет. Webinoly устанавливал от root пользователя, или создавал еще одного?

    Ответить

    • Дмитрий Глашков

      Создавал отдельного. Но запускать скрипт установки и управлять самим webinoly нужно с sudo.

      Ответить

  7. Василий

    Добрый день. Дмитрий подскажите пожалуйста, а как нибудь можно создавать сайты разными пользователями, чтоб в итоге они были изолированы друг от друга?

    Ответить

    • Дмитрий Глашков

      Василий, привет. В webinoly это не предусмотрено, однако можно вручную создать разные пулы php-fpm для разных сайтов и вручную указывать их в правилах nginx вместо общего, который запущен по умолчанию. Это не защитит от доступа через уязвимости, но на уровне PHP поможет оградить сайты (не полностью, способы всегда найдутся!). Для организации более надёжной изоляции webinoly без серьёзной переработки не подходит. В том числе не подходит для работы через разных пользователей.

      Ответить

  8. Николай

    Добрый день, Дмитрий
    Пытаюсь установить WordPress на Webinoly по Вашему мануалу. После команды «sudo site example.com -wp» не выводятся никакие настройки. Сразу выскакивает site example.com has been successfully created! Подскажите, пожалуйста, в чем может быть проблема?

    Ответить

Написать комментарий

Правила:
  • 1. Уважайте стороннее мнение. Токсичные комментарии удаляются.
  • 2. Комментарии со ссылками видны после проверки модератором.
  • 3. Обсуждение нелицензионного софта и других незаконных тем запрещено.

Тема Rowling от Anders Norén. Копирование материалов сайта разрешается только с указанием автора и активной ссылкой на источник.