Пользователь
0,0
рейтинг
27 ноября 2012 в 14:33

Администрирование → GPL панель управления сервером Vesta



Сейчас уже сложно сказать, когда именно я начал работу над вестой. Если считать первые скрипты добавления виртуальных хостов в апач, то это был 2007 год. Получается 5 лет тому назад. Помню тогда на работе состоялся примерно такой диалог:
— Ты решил написать свою панель управления?
— Ага, ведь cPanel это ужас, Plesk хоть и лучше, но сильно дорогой. Да и вообще у меня уже почти все готово
— Хм… для того чтобы просто приблизиться к сPanel тебе потребуется минимум 2 года

Не помню, что тогда ответил, но фразу про то, что почти все готово, я повторял еще не раз. Сейчас еще я хочу рассказать что готово в версии 0.9.7


Панель переписывалась с нуля по нескольку раз. Переписывалась она в основном потому, что я системный администратор, а не программист. Думаю, что именно по этой причине панель получилась во многом лучше других. В том смысле, что обычно панели управления пишутся программистами для вебмастеров, а системные администраторы остаются без внимания. Ну если и учавствуют в процессе проектирования, то очевидно, весьма посредственно. В то же самое время, именно системные администраторы работают с панелями управления больше всего. Это был серьезный мотив для старта, но еще большим мотивов послужило отсутсвие GPL аналогов решениям типа Plesk, cPanel и DirectAdmin.

Все началось со скрипта по созданию виртуального хоста apache. Потом появился скрипт удаления. Затем скрипт отображения существующих хостов. Если сейчас набрать в терминале v- и дважды нажать tab, то появится список из 214 доступных команд



Vesta пропитана идеями unix и ее философией. Каждый скрипт решает одну задачу и делает это хорошо. Данные хранятся в простых текстовых файлах. Если скрипт завершился успешно, то он ничего не выведет на экран. Зато, если он завершился неудачно, то помимо кода возврата, будет отображено подробное сообщение об ошибке. Благодаря этим концепциям, скрипты отлично подошли на роль API для веб-интерфейса.

Перед тем как перейти к описанию веб-интерфейса, приведу несколько скриншотов.

Вот так выглядит список пользователей


ниже список web доменов


а в от список крон заданий


Если вы поняли как можно управлять пользователями, это значит, что вы автоматически поняли как можно управлять веб доменами, почтовыми доменами, заданиями планировщика и всей панелью в общем. Через пару минут вы сможете работать в vesta так же быстро, как это делаю я сейчас. Веб-интерфейс максимально сфокусирован на решении конкретных задач. Нужно добавить домен? Пожалуйста, 1 клик. Нужно добавить базу данных? Запросто и снова в 1 клик. Нужно узнать сколько занято дискового пространства? Тут даже кликать не надо. Причем верхняя панель, на которой расположены кнопки сервисов и информационная сводка, всегда остается наверху. Даже если вы просматриваете список из 300 доменов, панель будет всегда оставаться сверху.

На данный момент поддерживаются 5 и 6 версии дистрибутивов RHEL, и CentOS. После установки панели управления vesta, вы получите следующий набор ПО:
WEB: Nginx / Apache + mod_ruid2
DNS: Bind
MAIL: Exim / Dovecot / ClamAV / SpamAssasin / RoundCubeMail
DB: MySQL / phpMyAdmin
FTP: VsFTPD

На самом деле vesta поддерживает более широкий набор программного обеспечения. Во время установки, в систему добаляются репозитарии EPEL и Remi. То есть, при желании можно обновить php до версии 5.4. Можно дополнительно установить сервер PostgreSQL, а затем управлять его базами данных используя интерфейс панели. Причем, на одном сервере вполне могут жить, и MySQL, и PostgreSQL. Можно переключиться на использование httpd-mpm-itk или отказаться от nginx. В общем текущий набор ПО пока ограничен возможностями установщика.

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

P.S. Официальный сайт панели vestacp.com

P.P.S. Версия 0.9.7 должна говорить о том, что почти все готово :) уже сейчас ее можно использовать как замену проприетарным решениям.
skid @skid
карма
89,4
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

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

Комментарии (100)

  • +2
    Выглядит офигенски. Вот прямо в выходные запилю на свой сервер потестить. Благо, его не жалко :D
    • +1
      Хочу уточнить. Я в администрировании серверов разбираюсь слабо, но на моем VDSе сейчас стоит ISPManager. Если я сейчас поверх поставлю вашу панель на рабочий сервер- какие шансы на то, что что-нибудь навернется? Она подтянет существующие конфиги, или не предназначена для этого в принципе?
      • +3
        К большому сожалению, панели между собой практически несовместимы и ничего хорошего от такого симбиоза не выйдет. Весту, как впрочем и другие панели, необходимо устанавливать на «чистый» сервер. Кстати говоря, установщик бы не повредил сервер, так как в нем предусмотрена проверка на этот случай. Если вы решитесь переустановить свой VDS, то можете расчитывать на мою помощь с установкой ;)
        • 0
          Благодарю за предупреждение! В любом случае, скоро протестирую :)
        • 0
          очень жаль… прямо в начале этой недели установил ispmanager...(((

          ладно) думаю, что на следующей неделе потестирую вашу панель
  • +15
    Жаль нет поддержки Debian/Ubuntu и Lighttpd.
    • 0
      Даже так: жаль, что нет поддержки Debian/Ubuntu
  • 0
    Выглядит вкусно. Только интересует поддержка ос: будет поддерживаться только CentOS?
    • +4
      Планы по поддержке debian/ubuntu есть, но пока не возьмусь говорить о времени.
      • –2
        Мне, если честно, фиолетово на дебиан)
        Спрошу по другому: в коде самой панели есть привязка к красношапке?
        На инсталлер пофиг, это и ручками можно сделать.
        • +1
          В коде используются пути, типичные для rhel-like дистрибутивов. Например, системные конфиги IP адресов добавляются в /etc/sysconfig/network-scripts/, кофигурация apache в /etc/httpd/conf/httpd.conf и т.п. Навскидку могу сказать, что 95% кода не завязана под шапку и вполне переносима на другие платформы. Как раз по этой причине и есть планы по поддержке убунту с дебианом.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Номинально такое умеет, например, Kloxo Panel.
    • +1
      API весты расчитано на распределенну среду о которой вы говорите. Все сводится к нереализованному центральному веб-интерфейсу для такой системы. Он тоже есть в планах, хоть и не таких близких. На данном этапе панель поддерживает удаленные серверы баз данных. То есть в случае когда нагрузка на сервере начнет повышаться, предусмотрен как минимум 1 шаг для горизонтального масштабирования.
    • +1
      ispconfig. В плане интерфейса и удобства так себе, но мультисервер строить можно и даже довольно приятно. у меня два нс, почтовик, отдельно виртуалка с самой панелью, файлсервер и три виртуалки клиентов работают на этой поделке двух немецких парнейp
  • 0
    Ухты, панель как прям под мой сервер писалась: centos 6.2, apache2+nginx, mysql, phpmyadmin, roundcube. В общем все то что я использую идет из коробки. На этой недельке попробую выделить время на тест…
  • +2
    Не хочу показаться занудой — НО укажите тип лицензии около ссылки на пакеты — как Я понял в Вашем случае это GNU GPLv3?
    P.S. на GitHub тоже добавьте файл README.md с указанием типа лицензии и сам файл LICENSE.txt с тектом лицензии.
    • +1
      Все верно, код панели распространяется под GPL третьей версии. Спасибо за дельные советы про github.
  • +1
    Аж руки зачесались на уже на дедике установливаю… надеюсь что скажу «Прощай ISPManager!». Спасибо за Ваши старания.
    • 0
      Вот установил и начал играться! Очень нравится. Но есть одно но… при попытке открыть www.domain.com/webmail/ выдает ошибку 500 и пишет в лог
      PHP Warning:  Unknown: open_basedir restriction in effect. File(/usr/share/roundcubemail/index.php) is not within the allowed path(s): (/home/admin/web:/home/admin/tmp:/bin:/usr/bin:/usr/local/bin:/var/www/html:/tmp) in Unknown on line 0
      PHP Warning:  Unknown: failed to open stream: Operation not permitted in Unknown on line 0
      PHP Fatal error:  Unknown: Failed opening required '/usr/share/roundcubemail/index.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0
      


      Система была чистая, CentOS 6 x86
      • 0
        Я очень рад слышать, что панель понравилась. Досадно конечно было споткнуться об такой недочет. Судя по всему вы использовали шаблон apache_hosting.tpl для сайта, а он к сожалению не был адаптирован по новый раундкуб. Поправить ситуацию можно следующим образом:

        cd $VESTA/data
        rm -rf templates
        wget c.vestacp.com/0.9.7/templates.tar.gz
        tar -xzvf templates.tar.gz
        rm -а templates.tar.gz
        v-rebuild-web-domains admin

        • +1
          Спасибо, все вроде как работает! Копаю дальше…
          (эх, жаль не могу ↑ нажать, кармы не хватает)
          • 0
            лови:)
    • +2
      Тоже понравилась, юзаю 3 года isp. Но устал от нее, хочется другого интерфейса (это боковое меню уже достало). Попробую. (жаль на ubuntu нельзя)
  • +1
    1 и самая главная проблема таких панелей управления — в том, что они часто не успевают за изменения контролируемых пакетов, почему многие профессионалы или сидят под плеск/спанелью и нишага вправо и нишага влево сделать нельзя.
    не говоря уже о коробочной во многих дистрибутивах некогда популярной панелью управления для управления настройками сервисов, забыл как звалась, которой по большему счеты можно было максимум рестаровать сервис или править днс — webmin, чтоли и при попытке наконфигурять тот же сендмейл после его обновления я в свое время получил несобираемый конфиг. в результате от webmin пришлось отказаться

    Почему нельзя использовать нормальные пакеты, ставящиеся в систему штатным пакетным менеджером?
    Из статьи мне показалось, что весь софт ставится отдельно — /sys, /opt или ставится штатно менеджером пакетов в штатные места?
    • +1
      Думаю, что указанная вами проблема успешно решена в Vesta.
      Установщик использует штатный менеджер пакетов и все ПО устанавливается при помощи yum. Чтобы поспевать за обновлениям пакетов, в систему добавляется два дополнительных репозитария epel и remi. Так что если вам нужен bleeding edge софт, то вы просто включаете репозиторий remi-test.
  • 0
    Свиду ясно, что это весьма хорошая вещь. Большое, на мой взгляд, преимущество в том, что панель GPL. Если будет продолжаться развитие — это можт вылиться в доступного конкурента другим панелям.
  • +1
    ИМХО, было бы круто если прямо в статье было указано больше фич, списком.
    А вообще — выглядит круто, респект. Сейчас посоветую друзьям, которые рулят хостингами через панели.
  • –2
    Прикрутили бы twitter bootstrap, имхо симпатичней бы вышло.
    • +6
      как я ждал этого комментария!

      Почитайте отзывы выше «офигенски» «ух ты „вкусно“ „выглядит круто“, а вам бы все на bootstrap
  • 0
    по описанию няшка! да и вебморда ничо так.
    на дебиане завести проблемно али как?
    и вопрос (наверное когда попробую часть вопросов отпадет, но этот интересует в первую очередь), как ведет себя если часть сервисов на одном хосте часть на другом, часть на третьем и т.д.
    ну и дебиан, да…

    в любом случае, развития вам, хороших пользователей и годного фидбека!

    зы. на днях попробую, надеюсь все пройдет гладко и vesta заменит свою морду к isp и своим костылям
    • 0
      Спасибо!
      По поводу вопроса. Боюсь, что на дебиан установить не получится. Поддержка есть в планах, а пока только rhel/centos. Что касается распределенного сценария, то можно например подключать удаленные серверы баз данных MySQL и PostgreSQL. Если воспринимать консольный интерфейс как framework, то на его основе можно построить распределенный кластер и разести каждый сервис по отдельным машинам.
  • +1
    skid, остается только порадоваться и пожелать успешного дальнейшго развития панельке, которая в старые времена не была оценена по достоинству! :)
    • 0
      спасибо, я надеюсь, что все еще впереди ;)
  • +1
    но еще большим мотивов послужило отсутсвие GPL аналогов решениям типа Plesk, cPanel и DirectAdmin

    Судя по вашему описанию Ajenti вполне себе аналог и как раз под GPL. Или я ошибаюсь?

    image

    • 0
      Да, пожалуй ajenti это аналог. Однако, 5 лет тому назад, подобных аналогов еще не было.
  • 0
    А конфиг nginx+php-fpm поддерживается?
    • +1
      Поддержка такой конфигурации ожидается в следующем релизе.
      • 0
        Будем ждать следующий релиз )))

        А как обстоят дела с установкой на уже работающий сервер с пару виртуалхостами и минимальным набором утилит.
        репозитарии epel/remi уже подключены

        связка правда идет именно nginx + php-fpm с пулами, но для текущего релиза заменим их например на обычный apache + ruid2 + php

        Ещё — увидел на сайте в фьючерсах лейбл мадженты — поясните плиз, что бы это могло значить.
        • 0
          Установка на сервер с уже настроенным софтом, может вызвать определенные трудности. Я бы рекомендовал отказаться от этой затеи в пользу миграции. Сперва установи ть панель на новом сервере, а затем перенести туда сайты. В таком режиме будет возможность предварительно оценить работу, к тому же меньше стресса ))

          Иконка мадженты в данном контексте означает то, что итоговый сервер будет пригоден для ее запуска, что-то вроде magento friendly. Ровно для этой же цели там еще есть иконки друпала и вордпреса.
          • 0
            Про первое понял и спрашивал именно с такой целью, т.к. скоро как-раз думал переезжать

            magento friendly — в чем это выражается? она неким чудным образом умеет настроить/оптимизировать ресурсы системы или что? Или же просто набор софта удовлетворяет требованиям для запуска маженты.

            Т.е. я к тому что ставим мы её на чистый сервер — она просто ставит набор софта и как-то его настраивает или же там есть некая галочка что я буду работать с маджентой тут и она автоматически в mysql конфиге там прописывает настройки более оптимальные нежели стандартные, выделяет од innodb и т.д.???

            Простите если несу ахинею )))
            • 0
              Скорее удовлетворяет требованиям по софту. Такие иконки служат цели дать быстрый ответ на вопрос, будет ли работать magento — так вот ответ положительный. Ни каких дополнительных режимов не предусмотрено. Но хочу отметить, что благодоря интеграции с nginx, такой сайт будет работать еще и быстрее.
              • 0
                Спасибо. Будем ждать релиза с поддержкой nginx+php-fpm.
                И ещё раз спасибо за панельку.
      • 0
        А когда следующий релиз? :) Хочется попробовать панельку на этой связке.
        • 0
          Релиз с поддержкой будет в новом году. Скорее всего в феврале. Пока не могу сказать точнее.
  • 0
    Будет ли поддержка FreeBSD?
    • +1
      В ближайшем будущем нет.
  • 0
    Выглядит аппетитно.
    Пытаюсь запилить ваше решение на сервер с amazon ami linux (ну, как бы тот же centos).
    Скрипт падает вот так:

    ./vst-install.sh: line 334: /usr/local/vesta/bin/v-add-user: No such file or directory Error: can't create admin user

    Вскрытие показывает, что /usr/local/vesta/bin/ отсутствует.
    В логе установки тоже ничего.
    Вот вижу такой код:
    mkdir -p $VESTA/conf mkdir -p $VESTA/log mkdir -p $VESTA/data mkdir -p $VESTA/ssl

    Про bin ни слова.
    Объясните, пожалуйста, в чем может быть причина? Я что-то начудил(скорее всего) либо проблема с самим скриптом?

    Есть одно мааленькое пожаление: после запроса email наверное стоит добавить ожидание ввода , а не сразу переходить к след.шагу.
    • 0
      Папака bin создается главным пакетом vesta, который судя по всему не был установлен. Буквально вчера amazon добавили официальные образы CentOS, поэтому если amazon ami не принципиален, установите CentOS с ним проблем точно не будет.

      Если вам нужна поддержка именно amazon ami linux, то я постараюсь помочь если скинете данные для доступа по хабрапочте.
      • 0
        Таки поставил (не завел) под ами.
        Первая проблема: все конфиги благополучно исчезли. Печалька. Я конечно сделал бэкапы, но далеко не все. Было бы неплохо куда-нибудь добавиь дисклеймер об этом. И да, это баг или фича такая?
        Я так понимаю, для работы нужен mod_extract_forwarded (зачем?) Он берется из remi репозитория. Вот его никак не получается завести :(
        Я еще немного сам помучаюсь, если уж совсем не получится, я вас попрошу о помощи.
        • 0
          Классно, что решились попробовать. Надеюсь, что по итогу у вас останется хороше впечатление не смотря на возникшие сложности.
          Новые конифуграционные файлы это необходимость, без них панель не сможет полноценно работать. В предыдущей версии установщик рекомендовал удалить установленные пакеты, как раз из-за того что конфигация сервисов меняется в процессе установки. После вашего коментария я решил внести дополнительные изменения. Теперь, в случае обнаружение конфликтных пакетов, установщик принудительно завершает свою работу. Запустив скрипт с опцей -f или опцией --force, установщик проигнорирует конфликтуню ситуацию и попробует настроить сервер. Гарантии, что все пройдет гладко в данном случае не будет. Помимо этого, будет создана папка /root/vst_install_backups в которую сохранятся все изменяемые конфигурационные файлы. Так что в случае необходимости их можно будет восстановить.

          mod_extract_forwarded должен устаналиваться из epel репозитария. Если нужна будет моя помощь, не стесняйтесь :)

  • 0
    Ребята а есть ли какая таблица сравнения существующих панелей для управления сервером?
    Сравнить isp manager, vesta, Ajenti, Cpanel и тд?
    • 0
      на wiki вроде была.

      а FreeBSD вообще когда ньть планируется?
      готов помоч с тестами.
    • 0
      Для тех, кто читает это в 2016-м — свежий обзор. Про Весту мало, кстати.
  • –4
    Даешь поддержку Gentoo!!!

    Ну на полном серьезе, хочется блин какую-нибудь панель для всяких мэйл-серверов и прочей фигни… надоело всё руками ковырять!!!

    На Centos'ах и RHEL и так есть чем управлять, а вот для генты нет панелей кроме webmin, но она не в счет!!!

    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        И что? Причем тут генту или не генту? Зачем блин для того чтобы завести почтовые ящики лезть в mysql? Или DNS зоны поправить? Мне лично панель для этих целей была бы очень приятна… Писать такие тулзы самому лениво (но иногда приходится)…
  • +2
    Блин написать что ли свою панель.
  • 0
    Никогда не мог понять: почему в панелях управления (точнее, конечно, в тарифных планах — а в них упоминается то, что биллинг и система управления «умеет») считают домены? Притом порой отдельно почтовые, отдельно веб. Увидел в этой панели то же, не удержался вот…

    По мне, домен — это группа объектов. Еще понимаю, «сайт» с адресом (и «доменом» в адресе), так и то, «с www» и «без www» — это два разных сайта, и услуги на них нужны разные (на одном — веб-контент, на другом — перенаправление на первый), но «почтовый домен»?

    Считали бы тогда по кол-ву ящиков на плане, а лучше — по объему почтового трафика и объему места под ящики, это было бы честно.

    Про кол-во dns-записей на домен, измеряемому небольшими цифрами, вообще грустно думать. А ну если я хочу txt для spf указать? А, заодно, srv для разных (своих) целей? А лимит, на скриншотах — 10 (!) записей на домен. Уверен, что нагрузка на сервер от 10 или от 20 записей невелика, это же не тысячи dyndns-записей.

    На дворе 2012 год, любой atom-based сервер одной левой указанные объекты поддержит не десятками, а тысячами — может, хватит гнаться в дизайне панелей и систем управления за подходами десятилетней давности?!
    • 0
      Все верно, в тарифном плане gainsboro все ограничения приведены к 10. Не стоит серьезно расматривать этот тарифный план. Цифра взятя для ровного счета. Да и потом, это же Шелдон, я уверен, что ему нравятся нули и еденицы :)

      В тарифно плане, который устанавливается по умолчанию, лимт равен 100. Такое ограничение с головой покрывает типичные сценарии использования днс.
  • 0
    Отличная панель, подскажите присутствует ли управление портами?
    • 0
      Я не уверен, что правильно понял вопрос. Если речь идет об управлении фаерволом, то его к сожалению нет.
  • +2
    Посмотрел install скрипт. Ад, израиль, черви, пауки, вусеницы.

    Спасибочки, давно искал как это выключить:

    # Configuring run levels
    chkconfig iptables off
    ...
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
    setenforce 0
    ...
    


    Больше сервисов и репозиториев, меньше iptables!

    # Install additional packages
    yum -y install screen mc libpng libjpeg curl curl libmcrypt \
        libmcrypt mhash mhash freetype openssl flex libxml2 \
        ImageMagick sqlite sqlite GeoIP GeoIP-data GeoIP pcre pcre \
        sudo bc mailx lsof ntp
    ...
    rpms="nginx httpd httpd-devel.$arch mod_ssl mod_ruid2 mod_extract_forwarded
        webalizer awstats mysql mysql-server php php-bcmath php-cli php-common
        php-devel.$arch php-gd php-imap php-mbstring php-mcrypt php-mysql
        php-pdo php-soap php-tidy php-xml php-xmlrpc phpMyAdmin exim dovecot
        clamd spamassassin roundcubemail bind bind-utils bind-libs vsftpd
        rrdtool vesta vesta-nginx vesta-php"
    yum -y --enablerepo=remi install $rpms
    


    Насилятор.жпг?

    if [ -e /etc/init.d/sendmail ]; then
        chkconfig sendmail off
    fi
    if [ -e /etc/init.d/postfix ]; then
        chkconfig postfix off
    fi
    chkconfig exim on
    


    Спасибо за private key.

    # Configuring ssl keys
    cd /usr/local/vesta/ssl
    wget $CHOST/$VERSION/certificate.crt -O certificate.crt
    wget $CHOST/$VERSION/certificate.key -O certificate.key
    


    В предлагаемые конфиги пока не смотрел. Но прозреваю много интересного там ждет.
    Самое интересное в том, что все эти дефолтные конфиги и install скрипт на github не попали. Т.е. слать патчи и следить за тем, что нового там выдумают низзя. Сегодня там всё прилично, завтра бекдоры. Ок.

    # Apache
    wget $CHOST/$VERSION/httpd.conf -O /etc/httpd/conf/httpd.conf
    wget $CHOST/$VERSION/httpd-status.conf -O /etc/httpd/conf.d/status.conf
    wget $CHOST/$VERSION/httpd-ssl.conf -O /etc/httpd/conf.d/ssl.conf
    wget $CHOST/$VERSION/httpd.log -O /etc/logrotate.d/httpd
    
    # Nginx
    wget $CHOST/$VERSION/nginx.conf -O /etc/nginx/nginx.conf
    wget $CHOST/$VERSION/nginx-status.conf -O /etc/nginx/conf.d/status.conf
    
    
    # VsFTP
    wget $CHOST/$VERSION/vsftpd.conf -O /etc/vsftpd/vsftpd.conf
    
    # MySQL
    wget $CHOST/$VERSION/mysql.cnf -O /etc/my.cnf
    
    
    # Bind
    wget $CHOST/$VERSION/named.conf -O /etc/named.conf
    
    # Exim
    wget $CHOST/$VERSION/exim.conf -O /etc/exim/exim.conf
    wget $CHOST/$VERSION/dnsbl.conf -O /etc/exim/dnsbl.conf
    wget $CHOST/$VERSION/spam-blocks.conf -O /etc/exim/spam-blocks.conf
    wget $CHOST/$VERSION/clamd.conf -O /etc/clamd.conf
    
    ...
    


    Идея в целом хороша, но текущую реализацию надо переименовать в Vista и раздавать любителям администрирования в духе «я тут кликнул дето хуйзнаетгде оно мне хуйзнаетчто тут сделало, заебок, вроде работает». Только передупредить, что хостер может внезапно выключить их сервер за спам, ботнеты, порево или оппозицию.

    Ну и горе тому, кто запустит этот инсталятор не глядя на настроенной и рабочей системе (а если у него и бекапа конфигов нет — будет еще одна картинка с бегемотом без жопы.)

    И да, я параноидально не люблю когда в мою систему добаляют парочку репозиториев (даже не заслуживающий доверия epel, а некий remi. ояебу, первый раз такой вижу), десяток-другой пакетов, которые мне не нужны, выключают фаерволл и selinux и тянут свои конфиги со своих сайтов. Этжбекдор!
    • +1
      Спасибо за критику, очень интересно было почитать. Советы по переименованию панели тоже ценны, но все же мне vesta больше нравится.
      Теперь по делу.

      Готовые сертификаты это временное решение. Их конечно нужно генерировать при установке. В ближайшее время добавлю этот функционал в установщик.

      На настроеной системе инсталятор выявит установленые пакеты и выдаст соответсвующее предупреждение. Можно продолжить установку на свой страх и риск или отметнить ее, что и рекомендуется сделать. В предыдущей версии установщика была ошибка, проверка происходила раньше времени и риск потерять конфиги действительно был. Баг уже закрыт, хорошо что все обошлось :)

      Конфигурационные файлы доступны для просмотра по ссылке c.vestacp.com/0.9.7/ и в отсутсвии бэкдоров можно легко убедиться. Согласен с вами, что git для прозрачного отслеживания изменений подойдет куда лучше. Сегодня вечером перенесу их туда.

      По поводу доверия к пакетам remi и epel это уже вопрос личного отношения. В статье я описал что эти пакеты будут установлены. Если есть желание установить панель, но этому мешает параноя, то сущесвтует возможность проинспектировтаь каждый пакет и пересобрать его с нуля, благо все исходники открыты: vesta, epel, remi
      • 0
        Если честно — я впервые вижу человека, который не знает про репозитарии EPEL и REMI :)
  • 0
    панелька понравилась! Думаю стоит дописать дефолтный набор программ, которые должны быть на сервере для нормальной установки. В частности wget и tar и если без первого установка даже не запустится, то без второго процесс прервется и возникнет ошибка

    Error: package default not exist Error: can't create admin user

    также при установке пишет
    No package GeoIP-data available. No package php-devel.i386 available.
    хотя оба пакета установлены

    Кому-то мой комент покажется глупым, но я поверил, так сказать, на слово и запустил установку на «чистом» сервере(конфигурация centos-6-i386-minimal) и получилась небольшая проблема, которая немного испортила впечатление. Сам я в системном администрировании не очень силен, поэтому некоторые очевидные для кого-то вещи не кажутся столь очевидными. Возможно стоит добавить проверку на наличие таких вот минимальных требований к набору пакетов? Спасибо за панель, она просто творит чудеса.
    • 0
      От tar еще зависит система резервного копирования, так что его отсутсвие действительно критично. Последовал вашему совету и внес его в список устанавливаемых пакетов, wget там кстати уже присутсвовал. Инструкцию по установке тоже обновил, теперь инструментом для загрузки скрипта стал сurl, а wget предлагается использловать в качестве альтернативы.
      • 0
        wget должен стоять до начала установки скрипта так как без него не получится:
        wget http://vestacp.com/pub/vst-install.sh
        • 0
          Либо как вариант можно скачать скрипт при помощи cur, который есть в минимальном образе. Теперь инструкция на сайте предалагает этот вариант в первую очередь
  • 0
    небольшое пожелание, возможно, стоит сделать возможность прописывать document root руками? Пример, ставил redmine, у него документ рут находится внутри, в папке public, соответственно поменял руками в настройках хоста, но если я правильно понимаю, то изменение настроек через панель перетрет мои изменения, что приведет к сбою в работе приложения. Ну хотелось бы иметь возможность указывать месторасположение сайтов. На мой взгляд, их расположение в папке home пользователя admin несколько не логично…
    • +1
      Для решения подобных вещей предусмотрено два пути:

      1. Дополнительный конфигурационный файл.
      Если у вас есть домен redmine.domain.ru, то вы можете создать файл /home/admin/conf/httpd.redmine.domain.ru.conf в котором можно переопределить DocumentRoot или добавить специфические директивы. Этот файл будет оставаться нетронутым после добавления новых альясов и других правок виртуального хоста.

      2. Шаблоны конфигураций.
      Если речь о массовых конфигурациях, то правильным решением будет создание нового шаблона. Шаблоны для вебсервера находятся в директории /usr/local/vesta/data/templates/web. Причем их функционал можно расширить за счет создания дополнительных скриптов, которые будут выполняться при создании домена. Этот принцип для иллюстрации реализован в шаблоне phpcgi.

      Главная причиная по которой сайты, днс зоны, почта, конфиги и прочие ресурсы расположенны непосредственно в папке пользователя, заключается в удобстве резервного копирования и переносимости его ресурсов. Проще говоря чтобы сделать бэкап вы можете выполнить команду «tar -czvf user.tar.gz /home/user», а чтобы перенести акаунт с одного сервера на другой вы можете запустить «rsync -e ssh -rzvptlog /home/user remote-server:/home/».

      • 0
        Смотрю на vesta, нравится, но очень удивило расположение конфигов в папке пользователя.

        Сами конфиги принадлежат руту, но домашняя директория принадлежит пользователю. Получается, я как пользователь могу переименовать папку conf и воссоздать новую с произвольным содержимым. Таким образом, у каждого пользователя на сервере есть возможность влиять на системные конфиги как минимум apache и nginx: можно испортить конфиг, или тайно прописать что-то для другого сайта и т.п.

        Я правильно рассуждаю или чего-то не учел и такой дырки нет?
        • 0
          Спасибо за хороший вопрос.

          Директория conf защищается immutable флагом. Проблема все же возможна, но только на файловых системах, которые не поддерживают такой атрибут.
  • 0
    Nginx есть поддержка на фронтенд?
    Не работают сервера нормально с голым апачем, сделайте nginx и наглядную возможность работы с виртуальными хостами — завтра же включим в список дистрибутивов для пользователей.
    • 0
      Простите, вижу есть поддержка nginx.
      Сейчас будем проводить сравнение ajenti (в последний раз она жрала нереально ресурсов) vs vesta и кого-то из них вводить в персеты для виртуальной машины.
  • 0
    skid, приятно видеть, что ты наконец-то релизнулся, особенно после последнего нашего разговора с тобой об этом, если я не ошибаюсь, года полтора назад.

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

    Благотворного развития.
  • 0
    со всем уважением, но если это не очень сложно, огромная просьба реализовать хотя бы отображение настроек хоста в интерфейсе. Объясню зачем. Сегодня разворачивал на сервере memcached. Сессии я также буду хранить там. Для работы необходимо переопределить настройки php.ini как
    session.save_handler = memcached session.save_path = "tcp://127.0.0.1:11211"
    сделал и столкнулся с проблемой Warning: Unknown: Failed to write session data (memcached). Please verify that the current setting of session.save_path is correct (/home/admin/tmp) in Unknown on line 0
    полдня ломал голову переустанавливая библиотеки. А что оказалось… Что в конфиге хоста прописано php_admin_value session.save_path /home/admin/tmp
    Закоментил эту строчку, все заработало.
    • +1
      Хорошо, что вы смогли выяснить в чем дело. Необходимость отображения шаблонов понятна. Базовый функционал появится в следующей версии.
  • 0
    Есть еще небольшое предложение. Возможно стоит сделать визуализацию логов с подсветкой строк? Т.е если это строка с нотисом, то его подсвечиваем например серым, если в предупреждением, то жёлтым, если с ошибкой, то красным. Порой логи находятся далеко и каждый раз туда лезть долго, а вот панель всегда рядом, в браузере, открыл посмотрел, все стало ясно.

    могу предложить пример функции для этого
    /**
     * Функция визуализации логов
     *
     * @param string $file адрес до файла лога
     * @param int $countRec число записей для отображения
     */
    function viewLog( $file, $countRec )
    {
    
    	if(  file_exists( $file ) && is_readable( $file ))
    	{
    		$file = file($file);
    
    		$new_arr = array_slice($file, -$countRec);
    		unset($file);
    
    		$html = '<table style="width:100%; text-align: justify">
    			';
    		$i = 1;
    
    		foreach ( $new_arr as $value )
    		{
    			$color = 'gray';
    
    			if( stristr( $value, 'PHP Warning' ) !== false )
    			{
    				$color = 'yellow';
    			}
    			elseif( stristr( $value , 'PHP Fatal error')  !== false )
    			{
    				$color = 'red';
    			}
    
    			$html .= '
    				<tr>
    					<td style="background-color:' . $color . '">
    						' . $i++ . ') ' . $value . '
    					</td>
    				</tr>';
    		}
    		unset($file);
    
    		$html .= '</table>';
    
    		return $html;
    	}
    	else
    	{
    		return false;
    	}
    }
    


    • 0
      Тут есть над чем подумать, спасибо за идею и пример ее реализаци.
  • 0
    Перебирал посты, вспомнил о панельки.
    Подскажите, можно штатно настроить апач+nginx только для статики?
    • +1
      Да, можно. Даже настраивать ничего не нужно, все заработает сразу после установки панели.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Спасибо за комплимент :) Статистика должна работать конечно. Могу предоложить, что причина вызвана тем, что еще не изменился ip адрес для нужного домена и вы зашли на старый сервер. Если это не так, напишите пожалуйста подробности в ЛС, хотелось бы исправить этот баг если он подтвердится.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Установщик всегда ставит последнюю стабильную версию. Следующее обновление намечено на 21 января. Обновить панель можно командой yum update vesta. В будущем появится специальная кнопка для этого в веб-интерфейсе.
  • +1
    Поставил на боевой сервер, панелька радует простотой, минимализмом, красотой и удобством, а автор легко идет на контакт в случае возникновения проблем! Определенно, из бесплатных панелей управления хостингом на данный момент это самая перспективная разработка — а я их успел повидать и пощупать с десяток, пока выбирал для нового хостинга.
  • +1
    Отличная панель! Я не особо разбираюсь в управление Linux, но смог себе поставить webmin. Но потратил много времени на разбирательство с ней, в итоге там все равно много не работало или работало с танцами. Но случайно наткнулся на вашу панель, плохо конечно, что только по Cent os, так как у меня стоял Дебиан, пришлось переустановить ОСЬ. Но в последствии вообще не пожалел, установка очень простая, все понятно и грамотно сделано. Очень нравится легкость во всем. Спасибо за панель, не забрасывайте ее)
  • 0
    Сколько не бился — ngnix не стартует после ребута.
    • 0
      А поподробнее, на какую версию ставил и тд и тп. Поставил чистую операционку Centos 6.5, закачал Весту, настроил DNS, перенёс домены и файлы и всё работает как часы. Редко приходят сообщения на mail что что-то неверно с cron но меня это не настораживает… Почта работает, сайты работают великолепно!
  • 0
    Ставил самую свежую на сегодняшний день версию на только что поставленный debian 7.5 x64
  • 0
    Скинье мне в личные сообщения вывод команды
    service nginx configtest
  • 0
    Есть возможность руками прописывать для каждого домена структуру расположения папок и файлов?
    Я хочу логи отдельно, web отдельно.
    • 0
      Так можно сделать в принципе — конфиги отдельные у каждого пользователя + есть шаблоны
  • 0
    CentOS 7 или Ubuntu 15.04 поддержка в ближайшее время планируется? Хотим мигрировать на более мощьное железо и продолжиить работу с вашей панелью.
    • 0
      А то, поддержка добавлена еще осенью прошлого года (если память мне не врет).
      • 0
        Именно так, коллега
  • 0
    Хорошая панель, жаль только, что она не развивается. Многое приходится допиливать (т.е. изменять исходный код), что не есть хорошо. Поставляемые пакеты расширений, например серверы, php-интерпретатор, всё остальное морально устарело. На дефолте не откроется новый phpMyAdmin — нужно повышать версию php. Так и сделал: скомпилировал с префиксом /usr/local/vesta/php — на версии 5.6.21 полёт нормальный. Однако седьмой PHP что-то стрёмно ставить — как слетит всё, и что потом делать?
    • 0
      Изменение исходного кода (простое изменение хочу заметить) под себя и свои нужды — это скорее плюс, чем минус. Как системный администратор я не могу не рассматривать необходимость допила под специфичные задачи и считать это минусом. Впрочем мы можем поговорить за «многое», что оно для вас?

      Поставляемые пакеты расширений, как вы могли заметить, берутся из вашей ОС. Иными словами, какие у вас репы, такие и софты в итоге.

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