Привет, дорогие читатели! Заметив позитивный отклик на запись про установку хостинг панели 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.
- Первое, что надо сделать, это подключиться к серверу по SFTP от пользователя root. Для этого удобно использовать программу WinSCP. Качаем, устанавливаем и отковываем → выбираем новое подключение. Вводим данные для входа, все то же самое что и при авторизации через SSH. Если выбивает ошибку, то проверьте ещё раз данные для входа, если все верно, то обратитесь к этому отрывку из статьи "подключится через SFTP под root", он должен спасти положение.
- Далее, нам нужно найти файл конфигураций VestaCP. Переходим в папку "/usr/local/vesta/conf/" ищем там файл "vesta.conf" → открываем его двойным щелчком мыши → убеждаемся в наличии заветных строк FILEMANAGER_KEY='mykey' и
SFTPJAIL_KEY='mykey'. Если они полностью или частично отсутствуют, то вставляем их опять туда и жмём на кнопку сохранить и закрываем файл. - Копируем файл в другую папку и запоминаем его расположение. Мне кажется, что будет правильнее скопировать файл в папку "/usr/local/vesta/bin/".
- Формируем задание. Ниже я привожу свой пример: "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
- Ну, задание сформировали, че дальше делать? Переходим в панель управления под логином администратора → нажимаем вкладку "сервер" → ищем такую надпись "cron планировщик заданий" → в этом разделе нажимаем на вкладку "configure" (:8083/edit/server/cron/). Теперь надо вставить задание между последними двумя знаками # в пустую строку и уверенно нажать сохранить. Смотрится примерно так (добавленное задание намерено выделено):
- Теперь хочу предупредить вас насчёт автоматических обновлений панели, их стоит отключить, иначе случится казус. Но тогда как обновлять свою панель? Вручную, вам нужно будет: 1.Убрать наше задание в кроне, т. е. удалить введённую выше строку. 2.Произвести обновление панели Vesta 3.Перекопировать файл конфигураций "vesta.conf" из "/usr/local/vesta/conf/" в другую папку "/usr/local/vesta/bin/" 4.Опять ввести задание в крон.
На этом у меня все, а вы держитесь за руки, любите и пишите комментарии.
Спасибо! Второй раз ставлю! Первый раз по старой ставил года два назад, всё работало и работает
Поставил сегодня и все супер!
Чтобы отобразилась ФАЙЛЫ нужно выйти из панели и зайти.
Спасибо. Не выходил из панельки и пункт "Файлы" не появлялся. ОБЯЗАТЕЛЬНО нужно перезайти в панельку, чтобы появился этот раздел.
На свежей версии, установленной сегодня все работает!
Если хотите чтобы конфиги не слетали то отключите обновление vesta - !НО КРАЙНЕ НЕ СОВЕТУЮ!.. После обновление версии процедуру нужно повторить, но так как они обновляют пару раз в год, то особых трудностей не возникает.
Только что проверил на последней версии весты. Работает. Но периодически один фиг отваливается всё и по новой приходится проделывать всё.
Способ раотает на свежеустановленной весте версия:0.9.8 Релиз:24.
Спасибо.
Слетел данный способ вот буквально на днях. Конфиги все были обнулены, повторная процедура не помогла, или я что-то упустил.
Подтверждаю.
На всех серверах с вестой файлменеджеры отвалились и этим способом больше не включаются.
Пичаль. Жду обновления инструкции.
Странно, у меня все еще работает, версия:0.9.8 Релиз:23.
Все отлично работает! Отличные статьи, пишите больше информации! Не обязательно писать, то чего нет у других, делитесь опытом. Спасибо!
Я пытаюсь писать больше, но времени, сил и мотивации остается только на то, что есть)) На смом деле, в списке идей того, что можно написать много пунктов. Я не пытаюсь писать прям какой-то сверх новый контент, которого нет в интернете, а просто обычно обобщаю свою опыт, мнения других и полученную информацию с различных источников. Я понимаю, что для блоггинга, такая сверхнизкая скорость генерации контента, это очень плохо, я буду стараться писать как можно больше) Спасибо за комментарий!
Подтверждаю, на данный момент метод все еще работает. Автору большое спасибище!
сделал все по инструкции
теперь пишет при изменении настроек домена (например добавляю ssl)
Error: LE arhboy.com validation
Связи не вижу совершенно. Отключил сертификат от LE и подключил снова → проблем не наблюдаю. В любом случае можно вернуть все в прежний вид и посмотреть как поведет себя ваша ошибка, скорей всего она останется и как следствие не будет иметь отношения к инструкции.
Ваша ошибка может возникать при получении множества сертификатов с одного для одного домена. https://community.letsencrypt.org/t/error-le-domain-com-validation/46475
Этот метод у меня не сработал. Ниже по ссылке подтверждение: https://banochkin.com/blog/free-vesta-file-manager/
Не могу согласиться, если вы присмотритесь у Баночкина только часть инструкции. На данный момент файловый менеджер продолжает работь, но я не уверен получится ли его активировать после переустановки панели.
Наверное уже пофиксили. Сделал все как написано, в конфигурации сервера в панели модули отображаются как включенные с лиц.ключами (mykey). Но при переходе во вкладку "Файлы" - такой же белый экран как и изначально. Кеш ни при чем, заходил и проверял с разных браузеров.
Ищите проблему, у меня работает на последней версии 0.9.8-23
А не может это быть связано с тем что уже стоит файловый менеджер Спрутио?
скорее нет)
потом надо сервак 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. Если так то перезалейте файлы от пользователя админ.