4 заметки с тегом

VestaCP

Бесплатная панель управления серверами — быстрая и очень простая. :)

Разработчик: компания Vesta
Первая версия: 2012 год
Поддерживаемые ОС: RHEL 5.x, 6.x; CentOS 5.x, 6.x, 7.x; Debian 7, Debian 8;
Ubuntu LTS 12.04, Ubuntu 12.10, Ubuntu 13.04, Ubuntu 13.10, Ubuntu 14.10, Ubuntu 15.04
Лицензия: GNU GPL; дополнительная поддержка оказывается платно
Официальный сайт: http://vestacp.com/

VestaCP на главной DO

С момента добавления в список запросов на включение VestaCP в список приложений на DigitalOcean прошло чуть больше десяти месяцев и вот момент настал. Vesta на главной странице голосований, потеснив другие интересные запросы: VLAN’ы, возможность делиться дроплетами, дополнительные линукс дистрибутивы (Kali, OpenBSD. OpenSUSE). Слегка стыдно перед японцами, пользователи добавили проекту бесплатной панели управления больше голосов, чем за строительство датацентра в стране восходящего солнца.

Помню, как все начиналось. Мы написали письмо в DigitalOcean и спросили: «А ведь здорово было бы, если бы среди других приложений была бы и VestaCP?». На что лаконичный ответ: «Вы, мол, сначала добавьте, а там уж посмотрим, как пойдет». Процесс шел. Конечно не так быстро, как хотелось бы, но первая страница — большое достижение для небольшой команды и пользователей VestaCP. Именно благодаря поддержке удалось забраться так далеко. Надеюсь, DigitalOcean обратит внимание и решит положительно. :)

2016   DigitalOcean   VestaCP   хостинг

OVH, you failed your /etc/issue!

После заметки о проблемах установки VestaCP на серверах OVH, обнаружилось, что версия дистрибутива указывается не только в Debian, но в на других операционных системах: Ubuntu / CentOS. Почему оно так случилось в последних релизах ISOшников сказать сложно, но случилось и на эту тему придется что-то думать. Самый простой способ, скорее всего, административный — помимо универсального инсталлятора давать ссылки на инсталляторы для каждой операционной системы. Ничего позорного здесь в общем-то нет.

Второй вариант чуть более экзотический и попахивает чисто инженерным подходом. Есть мысль, что нужно при определении операционной системы использовать два источника: т. е. не только /etc/issue, но и скажем /etc/os-release. Сравнивая данные выбирать, в среде какой операционной системы мы находимся. Причем основным источником видимо придется считать именно os-release.

PS: Благодаря автоматическому выбору операционной системы сложности могут быть только у владельцев Debain/Ubuntu. Как видно из элегантного кода пользователи CentOS всегда в выигрыше:

# Detect OS
case $(head -n1 /etc/issue | cut -f 1 -d ' ') in
    Debian)     type="debian" ;;
    Ubuntu)     type="ubuntu" ;;
    *)          type="rhel" ;;
esac
2016   CentOS   Debian   Kimsufi   OVH   Ubuntu   VestaCP

Патч для phpmyadmin

В рамках поддержки проекта VestaCP занялся патчем для phpmyadmin. Основная проблема в том, что дополнительные функции из коробки не работают, также как и contoluser. Многим пользователям функционал по сути не нужен, он избыточен. Правда, не очень приятно видеть при входе сообщение о том, что у тебя часть функций отключено и не работает — «The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated».

За вечер пятницы удалось изобразить скрипт, который правит конфигурационный файл и добавляет недостающие таблицы. Чтобы не возиться с определением версии операционной системы, сделал 3 разных скрипта для centos/debian/ubuntu. И еще слегка упростил себе жизнь — не стал изобретать генератор паролей, использовал дополнительный пакет.

Интереснее было в процессе отладки. Выянил, что пихать много запросов в mysql из баша — это не очень хорошо, далеко не все отрабатывает. Гораздо правильнее разбить на несколько. Как оказалось, 3 и 4 ветка phpmyadmin имеют некоторые отличия. В четвертой ветке некоторые значения задаются явно и в дампе несколько больше таблиц, нежели в 3 версии. Довольно странное отличии в количестве нижних подчеркиваний в названии таблиц: в третьей — одно, в четвертой — два. Думаю, в следующих версиях увеличат :)

По моим прикидкам скрипт успели протестировать более чем на полусотне серверов, не считая мои и тестовые — все вроде ровненько прошло. На неделе, наверное, закинем на гитхаб прогоним тесты повторно.. возможно мой вроде-код даже появится в релизе VestaCP. Код добавил на Github, никакого терпения не хватило :)

PS: Слегка удивило, что фикс никто не сделал раньше и не сэкономил мне время (специально поискал в интернетах), вроде ничего сложного не было. Подозреваю, что все-таки пользователи тратят на это 5-10 минут и забывают или забивают вовсе :-)

VestaCP Forum — phpmyadmin fixer
Github — Fixes for phpmyadmin (configuration storage and some extended features)

Ubuntu

sudo wget --no-check-certificate 
https://raw.githubusercontent.com/skurudo/phpmyadmin-fixer/master/pma-ubuntu.sh 
&& chmod +x pma-ubuntu.sh && ./pma-ubuntu.sh

Debian

wget --no-check-certificate 
https://raw.githubusercontent.com/skurudo/phpmyadmin-fixer/master/pma-debian.sh 
&& chmod +x pma-debian.sh && ./pma-debian.sh

CentOS

wget --no-check-certificate 
https://raw.githubusercontent.com/skurudo/phpmyadmin-fixer/master/pma-centos.sh 
&& chmod +x pma-centos.sh && ./pma-centos.sh
2016   CentOS   Debian   MySQL   php   phpmyadmin   Ubuntu   VestaCP   код

OVH, you failed your Debian 8!

При попытке установить VestaCP на Debian 8 на сервере от Kimsufi натолкнулся на ошибку. Мне встречалась такая ошибка однажды, а раз уж встретилась повторно, то нужно задокументировать.

cut: /etc/redhat-release: No such file or directory
grep: /etc/redhat-release: No such file or directory
vst-install-rhel.sh: line 20: [: : integer expression expected
Error: No access to Vesta repository

А все потому, что мудрые европейские ребята решили, что незачем писать версию дистрибутива в /etc/issue. Панель управления в свою очередь не может определить версию операционной системы и не может установиться. Для решения недоработки хостера достаточно указать версию и проблема будет решена.

PS: Хочу заметить, что в инсталляциях с предыдущей версией Debain 7 версия указана корректно — Debian GNU/Linux 7.8

2015   Debian   Kimsufi   OVH   VestaCP