logo

Как получить SFTP Chroot и файловый менеджер в VestaCP бесплатно?

Разместил , . Последнее изменение: 2018-04-24. / 26 комментариев

vesta файловый менеджер

  1. Активация файлового менеджера и SFTP Chroot. 
  2. Старая инструкция.

Привет, дорогие читатели! Заметив позитивный отклик на запись про установку хостинг панели VestaCP и файлового менеджера,  я решил написать цикл статей посвященный этой теме. В будущем вас ждут: замена самоподписанного сертификата, настройка ns сервера, поддержка SSL, настройка апача, увеличение минимального размера загружаемого файла и другие клевые штуки.

Вы, наверное, знаете, что в veste появились платные плюшки. Оно и понятно, ведь разработчикам тоже нужна какая-то прибыль. К этим плюшка относятся файловый менеджер и SFTP Chroot. В этой записи речь пойдет о том, как активировать файловый менеджер и SFTP Chroot в панели бесплатно. Откровенно говоря, SPRUT по функционалу и удобству использования на порядок превосходит встроенный файловый.  Хочется также напомнить, что плагины не так много и стоит, так что, ребят, не оставляйте любимых разработчиков без хлеба.

Активация SFTP Chroot и файлового менеджера в VestaCP

Первым делом входим в PuTTY → подключаемся к серверу через SSH → вводим данный для авторизации → открываем файл конфигурации панели с помощью команды:

sudo nano /usr/local/vesta/conf/vesta.conf

В самом конце файла добавляем:

FILEMANAGER_KEY='mykey'
SFTPJAIL_KEY='mykey'

Сохраняем отредактированный файл: нажмите клавиши Ctrl+X и подтверждаем изменения. Вот все и готово! Входим в VestaCP и убеждаемся в присутствии кнопки "файлы" в верхнем меню. В некоторых случаях кнопка не появляется и приходится заходить в настройки сервера (:8083/edit/server/) и смотреть встали ли ключи.

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

Редактируем файл:

sudo nano /usr/local/vesta/bin/v-activate-vesta-license

Находим там следующие строки:

# Activating license
v_host='https://vestacp.com/checkout'
answer=$(curl -s $v_host/activate.php?licence_key=$license&module=$module)
check_result $? "cant' connect to vestacp.com " $E_CONNECT

Комментируем каждую строку (в начале строки поставте #) и добавляем еще одну answer=0

# Activating license
#v_host='https://vestacp.com/checkout'
#answer=$(curl -s $v_host/activate.php?licence_key=$license&module=$module)
#check_result $? "cant' connect to vestacp.com " $E_CONNECT
answer=0

Комментируем еще одну строку в другом файле:

sudo nano /usr/local/vesta/bin/v-backup-users
Находим и комментируем строку придавая ей вид:
#$BIN/v-check-vesta-license >/dev/null

Спасибо за идею Lams!

Показать / Скрыть старую инструкцию

Настраиваем автоматическую перезапись файла

Инструкция тестировалась только с такими правками в vesta.conf:

FILEMANAGER_KEY='ILOVEREO'

Но по идее должна работать и с указанными выше.
Первым делом в двух словам опишем, что же такое cron. Итак, cron - это специальная программа, которая позволяет планировать выполнение заданий в определённое время. К примеру, нам предстоит сделать такое задание, чтобы файл конфигураций перезаписывался каждые, допустим, три часа.

ВАЖНО!!! Перед настройкой перезаписи файла конфигураций, настройте панель по максимуму, потому что перезапись файла может сбросить ваши настройки. Как пример можно привести эти параметры: DISK_QUOTA, BACKUP_GZIP, LANGUAGE, BACKUP_SYSTEM.

  1. Первое, что надо сделать, это подключиться к серверу по SFTP от пользователя root. Для этого удобно использовать программу WinSCP. Качаем, устанавливаем и отковываем → выбираем новое подключение. Вводим данные для входа, все то же самое что и при авторизации через SSH. Если выбивает ошибку, то проверьте ещё раз данные для входа, если все верно, то обратитесь к этому отрывку из статьи "подключится через SFTP под root", он должен спасти положение.
    WinSCP авторизация
  2. Далее, нам нужно найти файл конфигураций VestaCP. Переходим в папку "/usr/local/vesta/conf/"  ищем там файл "vesta.conf" → открываем его двойным щелчком мыши → убеждаемся в наличии заветных строк FILEMANAGER_KEY='mykey' и
    SFTPJAIL_KEY='mykey'. Если они полностью или частично отсутствуют, то вставляем их опять туда и жмём на кнопку сохранить и закрываем файл.
  3. Копируем файл в другую папку и запоминаем его расположение. Мне кажется, что будет правильнее скопировать файл в папку "/usr/local/vesta/bin/".
  4. Формируем задание. Ниже я привожу свой пример: "45 */2" значит, что файл будет переписываться каждые 45 минут 2 час, root это пользователь, от которого производится замена, далее следует команда копирования файла "cp -R" и указание что (/usr/local/vesta/bin/vesta.conf) и куда (/usr/local/vesta/conf/vesta.conf) копировать.
    45 */2  * * *   root    cp -R /usr/local/vesta/bin/vesta.conf /usr/local/vesta/conf/vesta.conf
  5. Ну, задание сформировали, че дальше делать? Переходим в панель управления под логином администратора → нажимаем вкладку "сервер" → ищем такую надпись "cron планировщик заданий" → в этом разделе нажимаем на вкладку "configure" (:8083/edit/server/cron/). Теперь надо вставить задание между последними двумя знаками # в пустую строку и уверенно нажать сохранить. Смотрится примерно так (добавленное задание намерено выделено):cron vesta
  6. Теперь хочу предупредить вас насчёт автоматических обновлений панели, их стоит отключить, иначе случится казус. Но тогда как обновлять свою панель? Вручную, вам нужно будет: 1.Убрать наше задание в кроне, т. е. удалить введённую выше строку. 2.Произвести обновление панели Vesta 3.Перекопировать файл конфигураций "vesta.conf" из "/usr/local/vesta/conf/" в другую папку  "/usr/local/vesta/bin/" 4.Опять ввести задание в крон.

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

26 комментариев Добавить комментарий

  • потом надо сервак reboot , и все работает.

    за решение - автору респект

    • Не обязательно перезагружать, достаточно перейти в панели управления в раздел настроек сервера :8083/edit/server/

  • It's work fine, but columns are not showing in one line - http://i.imgur.com/mvyc6Ff.png
    How can I configure to shot as usually?
    Thanks!

    • Try reinstalling VestaCP or using a different operating system. I've never seen this before. Good luck!

  • Будет очень не лишним прикрутить TLS сертификат FTP чтоб пароли и логин в открытом виде не передавались при подключении.
    Вот рабочий вариант ;

    https://forum.vestacp.com/viewtopic.php?f=45&t=15195

    И в развернутом виде, на случай если источник прохерется ...

    ProftpdConfDir="/etc/proftpd/ssl"
    ProftpdConfig="/etc/proftpd/proftpd.conf"
    ProftpdTLSConfig="/etc/proftpd/conf.d/proftpd-tls.conf"

    mkdir ${ProftpdConfDir}
    # Генерируем ключи
    openssl req -new -x509 -days 3650 -nodes -out ${ProftpdConfDir}/proftpd.cert.pem -keyout ${ProftpdConfDir}/proftpd.key.pem

    cp ${ProftpdConfig} ${ProftpdConfig}_$(date '+%Y%m%d%H%M%S').backup

    echo "Include ${ProftpdTLSConfig}" >> ${ProftpdConfig}

    #cp ${ProftpdTLSConfig} ${ProftpdTLSConfig}_$(date '+%Y%m%d%H%M%S').backup
    echo "

    LoadModule mod_ctrls_admin.c
    LoadModule mod_tls.c

    TLSEngine on
    TLSLog /var/log/proftpd/tls.log
    TLSProtocol TLSv1.2
    TLSCipherSuite AES128+EECDH:AES128+EDH
    TLSOptions NoCertRequest AllowClientRenegotiations
    TLSRSACertificateFile ${ProftpdConfDir}/proftpd.cert.pem
    TLSRSACertificateKeyFile ${ProftpdConfDir}/proftpd.key.pem
    TLSVerifyClient off
    TLSRequired on
    RequireValidShell no

    " > ${ProftpdTLSConfig}

    service proftpd restart

    Это страница автора скрипта на форуме vestaCP - https://forum.vestacp.com/memberlist.php?mode=viewprofile&u=11359

  • Огромное спасибо за статью. много полезного материала почерпнул с вашего сайта.

  • Привет в версии 20 уже не работает данный способ?

  • Привет! Всё сделал по инструкции, ФМ появился, но почему-то не могу отредактировать файлы, и загрузить не могу. Пишет "Error while saving file".

    А так отличный ФМ и красивый)

    • Если проблема не решится, пишите в телеграмм, посмотрим что можно сделать.

  • В чем может быть проблема, сделал все как описано, но менеджер все равно не отображается (такая вот штука) http://skrinshoter.ru/i/241017/baJwc3tV.png, лицензия вроде как активна, но постоянное нет и модули не отображаются. как это победить?

    Возможно в этом куске решение?
    # Updating vesta.conf
    if [ -z "$(grep "${module}_KEY" $VESTA/conf/vesta.conf)" ]; then
    echo "${module}_KEY='$license'" >> $VESTA/conf/vesta.conf
    else
    sed -i "s/${module}_KEY=.*/${module}_KEY='$license'/g" $VESTA/conf/vesta.co$
    fi

    # Activating sftpjail
    if [ "$module" = 'SFTPJAIL' ]; then
    setsid $BIN/v-add-sys-sftp-jail 2>/dev/null
    fi

    # Logging
    log_event "$OK" "$ARGUMENTS"

    • И влияет ли на это, то что автообновления весты отключены

  • После активации файлового менеджера попадаем в поддиректорию /home/admin. А как перейти выше в /bin /dev /etc и прочие? И ещё вопрос, а если на файл vesta.conf просто понизить права, чтобы не было перезаписи?

    • "А как перейти выше в /bin /dev /etc и прочие?"
      Через такой файловый менеджер никак.

      "И ещё вопрос, а если на файл vesta.conf просто понизить права, чтобы не было перезаписи?"
      Не знаю, не пробовал. Но по логике, это вряд ли исправит проблему.

  • Стоит заметить, что в родном файловом менеджере нет поиска по файлам, что делает его менее функциональным, чем тот же спрут.
    Есть идеи как реализовать поиск тут?
    Или может быть стоит поискать решение проблемы с просмотром файлов юзерами у спрута?

    • Сори, что долго не отвечал, коммент как-то в спам попал. Кроме как писать команде панели идей нет. Думаю нанимать кого-то тоже не вариант, если только не проданатить саму команду Vesta CP.

  • Все правда работает,но если так разобраться,тут как раз дело то и есть в малом ,ведь при установке веста панель файловый менеджер тоже устанавливается,просто блокируется в админке,ввод этого ключа в конфиге все решает.Разработчикам большой респект за весту,классная простая панель.

  • Добрый день. Попробовал сделать как вы написали, файловый менеджер не появился.
    хостинг vps (CentOS, с панелью vesta Версия:0.9.8 (i386) Релиз:17, php 7, mysql 5.7.17-0ubuntu0.16.04.1)

    • Напишите мне в вк, скайп или телеграмм, проблема вряд ли в инструкции.

      • Проблема решена. Если вкладка не появляется не забывайте чистить кеш или зайдите с другого браузера.

  • Добрый день, отличная статья. Большое Вам спасибо за файловый менеджер, это то чего очень не хватало. У меня есть вопрос, если сможете помочь буду премного благодарен. В данный момент веста открывается по адресу mysite.ru:8083 (либо ip_сайта:8083) Как можно сделать чтобы она открывалась только с одного поддомена к примеру panel.mysite.ru и не было номера порта на конце ? Заранее благодарю !

    • Спасибо за похвалу, отвечал на этот вопрос тут https://pupi-boy.ru/drugoye/https-ssl-sertifikaty-vesta.html#comment-93
      Задан вопрос на форуме https://forum.vestacp.com/viewtopic.php?p=56083

  • Капец. Это ж надо такие фишки ещё есть классные. Кстати вопрос такой интересный назревает, при установке joomla в панели vesta и при включенном nginx недоступны папки и файлы для записи необходимые при выставленных правах 755 на папки и 644 на файлы. А в панели допустим ispmanager lite 5 такой проблемы нет. То есть, чтобы установить какой-либо плагин необходимо сначала выставить права 777 и после установки опять возвращать на место. Не сталкивались с такой проблемой?

    • Я редко пользуюсь joomla, первый раз слышу о такой проблеме. Если найдете решение, то, пожалуйста, отпишитесь.

    • Не уверен, но проверьте групповые права, может файл сделан к примеру от root, а вы пытаетесь его менять через admin. Если так то перезалейте файлы от пользователя админ.

Оставить комментарий

* Возможна анонимная отправка комментария.

Согласен с политикой конфиденциальности *