Как добавить файловый менеджер на сайт

Обновлено: 06.07.2024

В Бегете мы долго и успешно занимаемся виртуальным хостингом, используем много OpenSource-решений, и теперь настало время поделиться с сообществом нашей разработкой: файловым менеджером Sprut.IO, который мы разрабатывали для наших пользователей и который используется у нас в панели управления. Приглашаем всех желающих присоединиться к его разработке. О том, как он разрабатывался и почему нас не устроили существующие аналоги, какие костыли технологии мы использовали и кому он может пригодиться, расскажем в этой статье.




Зачем изобретать свой файловый менеджер

Тогда у нас и появилась идея сделать WEB двух-панельный файловый менеджер, который работает на стороне сервера и может копировать между разными источниками на скорости сервера, а также, в котором будут: поиск по файлам и директориям, анализ занятого места (аналог ncdu), простая загрузка файлов, ну и много всего интересного. В общем, все то, что облегчило бы жизнь нашим пользователям и нам.

В мае 2013 мы выложили его в продакшн на нашем хостинге. В некоторых моментах получилось даже лучше, чем мы хотели изначально — для загрузки файлов и доступа к локальной файловой системе написали Java апплет, позволяющий выбрать файлы и все сразу скопировать на хостинг или наоборот с хостинга (куда копировать не так важно, он умел работать и с удаленным FTP и с домашней директорией пользователя, но, к сожалению, скоро браузеры не будут его поддерживать).

Прочитав на Хабре про аналог, мы решили выложить в OpenSource наш продукт, который получился, как нам кажется, отличным работающим и может принести пользу. На отделение его от нашей инфраструктуры и приведение к подобающему виду ушло еще девять месяцев. Перед новым 2016 годом мы выпустили Sprut.IO.

Как он работает

Делали для себя и использовали самые, по нашему мнению, новые, стильные, молодежные инструменты и технологии. Часто использовали то, что было уже для чего-то сделано.
Есть некоторая разница в реализации Sprut.IO и версии для нашего хостинга, обусловленная взаимодействием с нашей панелью. Для себя мы используем: полноценные очереди, MySQL, дополнительный сервер авторизации, который отвечает и за выбора конечного сервера, на котором располагается клиент, транспорт между нашими серверами по внутренней сети и так далее.

Sprut.IO состоит из нескольких логических компонентов:
1) web-морда,
2) nginx+tornado, принимающие все обращения из web,
3) конечные агенты, которые могут быть размещены как на одном, так и на многих серверах.

Фактически, добавив отдельный слой с авторизацией и выбором сервера, можно сделать мультисерверный файловый менеджер (как в нашей реализации). Все элементы логически можно поделить на две части: Frontend (ExtJS, nginx, tornado) и Backend (MessagePack Server, Sqlite, Redis).

Схема взаимодействия представлена ниже:


Frontend

Web интерфейс — все достаточно просто, ExtJS и много-много кода. Код писали на CoffeeScript. В первых версиях использовали LocalStorage для кеширования, но в итоге отказались, так как количество багов превышало пользу. Nginx используется для отдачи статики, JS кода и файлов через X-Accel-Redirect (подробно ниже). Остальное он просто проксирует в Tornado, который, в свою очередь, является своеобразным роутером, перенаправляя запросы в нужный Backend. Tornado хорошо масштабируется и, надеемся, мы выпилили все блокировки, которые сами же и наделали.

Backend

Backend состоит из нескольких демонов, которые, как водится, умеют принимать запросы из Frontend. Демоны располагаются на каждом конечном сервере и работают с локальной файловой системой, загружают файлы по FTP, выполняют аутентификацию и авторизацию, работают с SQLite (настройки редактора, доступы к FTP серверам пользователя).

Запросы в Backend отправляются двух видов: синхронные, которые выполняются относительно быстро (например, листинг файлов, чтение файла), и запросы на выполнение каких-либо долгих задач (загрузка файла на удаленный сервер, удаление файлов/директорий и т.п.).

Синхронные запросы — обычный RPC. В качестве способа сериализации данных используется msgpack, который хорошо зарекомендовал себя в плане скорости сериализации/десериализации данных и поддержки среди других языков. Также рассматривали python-специфичный rfoo и гугловский protobuf, но первый не подошел из-за привязки к python (и к его версиям), а protobuf, с его генераторами кода, нам показался избыточным, т.к. число удаленных процедур не измеряется десятками и сотнями и необходимости в выносе API в отдельные proto-файлы не было.

Запросы на выполнение долгих операций мы решили реализовать максимально просто: между Frontend и Backend есть общий Redis, в котором хранится выполняемый таск, его статус и любые другие данные. Для запуска задачи используется обычный синхронный RPC-запрос. Flow получается такой:


  1. Frontend кладет в редис задачу со статусом «wait»
  2. Frontend делает синхронный запрос в backend, передавая туда id задачи
  3. Backend принимает задачу, ставит статус «running», делает fork и выполняет задачу в дочернем процессе, сразу возвращая ответ на backend
  4. Frontend просматривает статус задачи или отслеживает изменение каких-либо данных (например, количество скопированных файлов, которое периодически обновляется с Backend).

Интересные кейсы, которые стоит упомянуть

Загрузка файлов с Frontend

Задача:
Загрузить файл на конечный сервер, при этом Frontend не имеет доступа к файловой системе конечного сервера.

Решение:
Для передачи файлов msgpack-server не подходил, основная причина была в том, что пакет не мог быть передан побайтово, а только целиком (его надо сначала полностью загрузить в память и только потом уже сериализовывать и передавать, при большом размере файла будет OOM), в итоге решено было использовать отдельного демона для этого.
Процесс операции получился следующий:
Мы получаем файл от nginx, пишем его в сокет нашего демона с заголовком, где указано временное расположение файла. И после того, как файл полностью передан, отправляем запрос в RPC на перемещение файла в конечное расположение (уже к пользователю). Для работы с сокетом используем пакет pysendfile, сам сервер самописный на базе стандартной питоновской библиотеки asyncore

Определение кодировки

Задача:
Открыть файл на редактирование с определением кодировки, записать с учетом исходной кодировки.

Проблемы:
Если у пользователя некорректно распознавалась кодировка, то при внесении изменений в файл c последующей записью мы можем получить UnicodeDecodeError и изменения не будут записаны.

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

Протестировав ее на реальных примерах, мы поняли, что в реальности она может ошибаться. Вместо CP-1251 может выдаваться, например, «MacCyrillic» или «ISO-8859-7», а вместо UTF-8 может быть «ISO-8859-2» или частный случай «ascii».

Кроме этого, некоторые файлы на хостинге были utf-8, но содержали странные символы, то ли от редакторов, которые не умеют корректно работать с UTF, то ли еще откуда, специально для таких случаев также пришлось добавлять «костыли».

Пример распознавания кодировки и чтения файлов, с комментариями

Параллельный поиск текста в файлах с учетом кодировки файла

Проблемы:
Пользователь вводит слово «Контакты» — поиск показывает, что нет файлов с данным текстом, а в реальности они есть, но на хостинге у нас встречается множество кодировок даже в рамках одного проекта. Поэтому поиск также должен учитывать это.

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

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

Искомую строку можно представить в виде регулярного выражения, используя пакет fnmatch. Ссылка на итоговую реализацию поиска.

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

В итоговой реализации добавлена возможность выставить время выполнения в секундах (таймаут) — по умолчанию выбран 1 час. В самих процессах воркеров понижен приоритет выполнения для снижения нагрузки на диск и на процессор.

Распаковка и создание файловых архивов

Задача:
Дать пользователям возможность создавать архивы (доступны zip, tar.gz, bz2, tar) и распаковывать их (gz, tar.gz, tar, rar, zip, 7z)

Проблемы:
Мы встретили множество проблем с «реальными» архивами, это и имена файлов в кодировке cp866 (DOS), и обратные слеши в именах файлов (windows). Некоторые библиотеки (стандартная ZipFile python3, python-libarchive) не работали с русскими именами внутри архива. Некоторые реализации библиотек, в частности SevenZip, RarFile не умеют распаковывать пустые папки и файлы (в архивах с CMS они встречаются постоянно). Также пользователи всегда хотят видеть процесс выполнения операции, а как это сделать если не позволяет библиотека (например просто делается вызов extractall())?

Решение:
Библиотеки ZipFile, а также libarchive-python пришлось исправлять и подключать как отдельные пакеты к проекту. Для libarchive-python пришлось сделать форк библиотеки и адаптировать ее под python 3.

Создание файлов и папок с нулевым размером (баг замечен в библиотеках SevenZip и RarFile) пришлось делать отдельным циклом в самом начале по заголовкам файлов в архиве. По всем багам разработчикам отписали, как найдем время то отправим pull request им, судя по всему, исправлять они это сами не собираются.

Отдельно сделана обработка gzip сжатых файлов (для дампов sql и проч.), тут обошлось без костылей с помощью стандартной библиотеки.

Прогресс операции отслеживается с помощью вотчера на системный вызов IN_CREATE, используя библиотеку pyinotify. Работает, конечно, не очень точно (не всегда вотчер срабатывает, когда большая вложенность файлов, поэтому добавлен магический коэффициент 1.5), но задачу отобразить хоть что-то похожее для пользователей выполняет. Неплохое решение, учитывая, что нет возможности отследить это, не переписывая все библиотеки для архивов.

Повышенные требования к безопасности

Задача:
Не дать пользователю возможности получить доступ к конечному серверу

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

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

Решение:
Все операции были вынесены, в так называемые, workers (createFile, extractArchive, findText) и т.д. Каждый worker, прежде чем начать работать, выполняет PAM аутентификацию, а также setuid пользователя.

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

Установка

Мы пошли по пути наименьшего сопротивления и вместо ручной установки подготовили образы Docker. Установка по сути выполняется несколькими командами:


run.sh проверит наличие образов, в случае если их нет скачает, и запустит 5 контейнеров с компонентами системы. Для обновления образов необходимо выполнить

Остановка и удаление образов соответственно выполняются через параметры stop и rm. Dockerfile сборки есть в коде проекта, сборка занимает 10-20 минут.
Как поднять окружение для разработки в ближайшее время напишем на сайте и в wiki на github.

Помогите нам сделать Sprut.IO лучше

Очевидных возможностей для дальнейшего улучшения файлового менеджера достаточно много.

Как наиболее полезные для пользователей, нам видятся:

  • Добавить поддержку SSH/SFTP
  • Добавить поддержку WebDav
  • Добавить терминал
  • Добавить возможность работы с Git
  • Добавить возможность расшаривания файлов
  • Добавить переключение тем оформление и создание различных тем
  • Сделать универсальный интерфейс работы с модулями

Мы начнем их реализовывать, но не побоюсь этого сказать: своими силами на это уйдут годы если не десятилетия. Поэтому, если вы хотите научиться умеете программировать, знаете Python и ExtJS и хотите получить опыт разработки в открытом проекте — приглашаем вас присоединиться к разработке Sprut.IO. Тем более, что за каждую реализованную фичу мы будем выплачивать вознаграждение, так как нам не придется реализовывать ее самим.

Список TODO и статус выполнения задач можно увидеть на сайте проекта в разделе TODO.

Спасибо за внимание! Если будет интересно, то с радостью напишем еще больше деталий про организацию проекта и ответим на ваши вопросы в комментариях.

dobavit-file

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

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

Рекомендую почитать:
Как поменять адрес сайта на ucoz Всего за 200р.

Второй способ позволяет добавлять файлы, через файловый менеджер в панели управления сайтом, ну а третий через специальную программу, которая называется FileZilla. Есть ещё таки-же программы, которые позволяют работать с FTP доступом, но мы разберём именно FileZilla, она бесплатная.

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

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

Ну всё, теперь перейдём к самому главному, как же всё-таки добавлять файлы на сайт системы ucoz и рассмотрим самый первый вариант -

Добавляем файл через сайт

И так, если мы уже зашли на сайт как администратор, тогда в самом верху возле шапке, в панели, (Её ещё называют (Админ бар)) находим кнопку "Управление" и нажимаем. Должно выпасть окно, в котором находим кнопку файловый менеджер и нажимаем.

fail

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


Если файл загрузился, тогда получаем ссылку и вставить её в любое место на сайте. Что-бы получить ссылку на файл, кликаем на название загруженного файла, или на круглую картинку в которой есть информационный знак.


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

Как добавлять файлы через панель управления

Первым делом нужно войти в панель управления, это можно сделать несколькими способами, покажу один из них. В верхней панели на сайте, нажимаем кнопку общее, после должно появится выпадающие окно, в этом окне находим кнопку вход в панель управления, и нажать на неё.


Если нажали на кнопку, должна открыться страница, на которой нас попросят вести пароль от панели управления, в водим пароль и нажимаем кнопку войти.


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

Файловый менеджер в системе ucoz

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

Управления файломи

Как загрузить файл

А теперь рассмотрим немного подробнее эту страницу. Для начало разберёмся как загрузить файл на сайт через этот менеджер. В файловом менеджере нечего не поменялось, и файл загружается точно также, как и в первом случаи, когда мы загружали его через сайт. Нам нужно так-же нажать на кнопку обзор, - выбрать файл на компьютере и нажать кнопку загрузить файл.

Выбрать файл

Загружаем несколько файлов

Если нужно загрузить несколько файлов одновременно, тогда нажимаем кнопку плюс. После нажатия на плюс, добавится дополнительное поле, в котором можно добавить ещё один файл. Что-бы убрать одно поле, можно нажать на красный минус. В принципе если это поле оставить пустым, то на загрузку файлов, это не как не повлияет. Всего одновременно можно загружать 10 файлов.

Как добавить поле

Добавить несколько файлов

Загружать при помощи ссылок

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

Загрузка из интернета

Загрузка из интернета

Создаём папки

Создание папок в файловом менеджере пожалуй то-же очень важный элемент. Файлы желательно разделять, картинки к картинкам, музыку к музыке и так далее. Такая папка может хранить в себе 200 файлов или папок. И так, для того чтобы создать папку, нажимаем на кнопку создать папку, она находится в правом верхнем углу на странице менеджера.

Создать папку

Создать папку для файлов

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

Название папки

Название для папки

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

Папка для файлов

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

Сегодня мы поговорим о том, как оснастить ваш сайт на базе WordPress плагином для загрузки файлов, что позволит избавиться в ряде операций от необходимости подключаться к сайту при помощи стороннего FTP-клиента. Есть несколько вариантов и плагинов, сегодня предлагаю рассмотреть процесс использования WordPress-плагина под названием WP-File Manager.

Установка

Для начала вам надо установить и активировать плагин WP-File Manager . После его активации вы увидите, что у вас в Панели администратора появится вкладка "FileManager". Кликните на ней — и увидите две возможных опции: вы можете выбрать либо сам "FileManager" для работы с файлами, либо перейти к настройке плагина в разделе "Configure".

Domenator - Купить Домен для сайта

Настройка

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

Добавляем файловый менеджер с поддержкой FTP на ваш WordPress-сайт

Использование

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

Добавляем файловый менеджер с поддержкой FTP на ваш WordPress-сайт

Чтобы получить такой достаточно простой и функциональный файловый менеджер для своего сайта, надо просто скачать и устано вить WP-File Manager .

Примечание: плагины, которые выполняют на сайте роль файловых менеджеров с поддержкой FTP загрузки, дают пользователям достаточно широкий доступ к файлам. Результаты от работы с такими плагинами могут носить как позитивный, так и негативный характер. Помните об этом. Если на вашем сайте работает одновременно несколько авторов или администраторов с различным уровнем прав доступа к контенту и разделам сайта, советую вам не использовать такие плагины для всех ваших авторов / администраторов, чтобы не нанести сайту ущерб.

SPRUT.io — это полнофункциональный файловый менеджер нашей собственной разработки, который позволит заменить привычный FTP-клиент и удобно работать с файлами на сервере прямо из браузера с любого места.


SPRUT.io имеет классический и привычный интерфейс, это позволяет легко и удобно работать с несколькими серверами, быстро выполнять различные действия с файлами и папками.

Интерфейс файлового менеджера

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


Верхние панели содержат вкладки для работы с файлами, навигацией и инструментами, а также быстрые команды в виде кнопок.


Основное рабочие пространство — это два окна для удобной работы с файлами. В каждой, из которых вы можете открыть файлы на сервере и удаленном FTP.


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

Нижнии панели содержат индикаторы объема свободного пространства, вкладки с открытыми файлами и быстрые команды, с подписанными горячими клавишами.


Как и большинство десктопных FTP-клиентов наш Файловый менеджер содержит ряд горячих клавиш, которые ускоряет работу с самыми распространенными действиями.

Список горячих клавиш:

  • Ctrl + 3 — просмотр;
  • Ctrl + 4 — правка;
  • Ctrl + 5 — копирование;
  • Shift + 5 — перемещение;
  • Ctrl + 6 — переименование;
  • Ctrl + 7 — создание новой папки;
  • Ctrl + 8 или Del — удаление.

Файловый менеджер поддерживает мультиоконность и обладает вкладочным интерфейсом. Вы можете открыть сразу множество файлов в области окна файлового менеджера и работать с ними подобно тому, как вы делаете это в операционной системе. Это удобно, когда нужно скопировать код из одного файла в другой и т.д.

Окна открытых файлов можно свободно перемещать, сворачивать, разворачивать, изменять их размер как вам удобно в пределах окна файлового менеджера


Открытые файлы отображаются внизу файлового менеджера на панели вкладок.


Возможности файлового менеджера

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


К примеру, вы можете легко перенести файлы и папки с вашего сервера на удаленный FTP и обратно, для этого выберите нужные файлы и папки, захватите их мышкой и перетащите в нужное место.

Рассмотрим подробнее основные возможности файлового менеджера.

Копирование файлов и папок

Чтобы скопировать группу файлов — выделите их мышкой с зажатой кнопкой Ctrl перетащите их в нужное место. Когда вы отпустите кнопку, мыши файловый менеджер выведет диалоговое окно с уточнением того, хотите ли Вы скопировать файлы или нет.

Если файлы с такими именами существуют, то выведется предложение о перезаписи файлов.

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


Осуществить копирование также можно через вкладку Файл в верхней панели файлового менеджера, а также с помощью набора быстрых команд в нижней панели файлового менеджера и комбинацией горячих клавиш — Ctrl + 5.

Переименование файлов и папок

Для переименования файла или директории вы также можете воспользоваться вкладкой файл в верхней панели файлового менеджера (Файл 🠒 Операции 🠒 Переименовать), выпадающим меню по правому клику, быстрой командой в нижней панели файлового менеджера и комбинацией горячих клавиш — Ctrl + 6.

После нажатия на кнопку Переименовать вы увидите диалоговое окно для ввода изменения имени элемента. Введите новое имя и нажмите ОК.

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

Изменение атрибутов файлов и директорий

Для изменения атрибутов файла или директории вы можете воспользоваться контекстным меню или пунктом меню в выпадающем меню Файл в верхней панели файлового менеджера.

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


Права можно выставить отдельно для владельца файла (User) — первая цифра кодового значения, для группы (Group) — вторая цифра кодового значения, для всех (All) — третья цифра кодового значения.

Получить цифровое обозначение прав можно сложением, где:

  • 1 — права на выполнение;
  • 2 — права на запись;
  • 4 — права на чтение.

Например, мы хотим установить права на чтение и запись для пользователя и группы. Цифровое значение таких прав — 6 = 4(чтение) + 2(запись). Получается: 660, где 600 — права на запись и чтение для владельца, а 60 — права на запись и чтение для группы.

На наших серверах файлы исполняются из-под пользователя, поэтому две последних цифры в правах должны быть равны 0.
Например, если Вам надо выставить права на всё для файла необходимо установить значение: 700.

Удаление файлов и папок

Удалить файлы можно через меню Файл в верхней панели файлового менеджера (Файл 🠒 Операции 🠒 Удалить), быструю команду на нижней панели файлового менеджера, выпадающее меню по правому клику, с помощью горячих клавиш — Ctrl + 8 или кнопкой Del.

Перед удалением файлов Файловый менеджер выведет диалоговое окно с уточнением того, действительно ли вы хотите удалить выбранные файлы.


Работа c удалённым FTP

Удалённый FTP позволяет быстро перемещать файлы на высокой скорости между серверами. Например, с помощью FTP вы можете перенести файлы вашего сайта с другого хостинга.

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


В открывшемся окне укажите: тип подключения ftp/sftp, сервер для подключения, логин и пароль для подключения. Затем нажмите на кнопку Сохранить, расположенную под добавленным подключением, а затем на кнопку Сохранить, расположенную в блоке инструментов управления подключением к удалённому серверу.


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

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


Работа с архивами

Вы можете создать или распаковать архив, а также сразу скачать нужные файлы/директории архивом.

1. Создание архива

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

При создании архива вы можете:

  • задать название архива;
  • указать путь, куда архив будет сохранен;
  • выбрать тип архива: Zip, Tar.GZ, TarBZ2, Tar.


2. Распаковка архива

Чтобы распаковать архив кликнете по нему правой кнопкой мышки и выберете пункт Распаковать архив. В появившемся модальном окне выберите путь для распаковки и нажмите OK.


Множественная загрузка

Для множественной загрузки файлов на сервер перейдите в директорию для загрузки файлов и нажмите кнопку Загрузить Файлы в верхней панели файлового менеджера. В открывшемся окне нажмите Browse и выберите нужные файлы для загрузки и нажмите кнопку Загрузить.

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


Максимальный размер одного файла не должен превышать 1.5 Гб. Для загрузки больших файлов воспользуйтесь FTP/SFTP подключением.

Поиск по файлам, папкам и тексту

В файловом менеджере есть функциональная система поиска. Вы можете искать файлы, папки и текст в файлах.

Поиск по файлам и папкам

Если вам нужно найти файл или папку — войдите в систему поиска через кнопку Поиск Файлов в верхней панели быстрого доступа или вкладку Навигация 🠒 Поиск 🠒 Поиск Файлов.

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



Если мы хотим найти все папки и файлы с именем flask — необходимо указать в строке Имя файла: flask*.

Символ «*», введенный в поисковый запрос воспринимается системой как поисковый оператор, который указывает на пропуск одного или нескольких символов в запросе. Таким образом, система найдёт все файлы и папки, имена которых начинаются с flask.


Поиск по тексту

Вы также можете находить файлы по фрагментам текста, содержащимся в них. Перейти в систему поиска текста можно через кнопку Поиск Текста, находящеюся в верхнем меню файлового менеджера и вкладку Навигация 🠒 Поиск 🠒 Поиск Текста.

Редактирование текста и просмотр изображений

Файловый менеджер содержит удобный редактор с подсветкой синтаксиса, автодополнением и встроенным плагином Emmet, значительно облегчающим работу с HTML и CSS.

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

Редактирование текста

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


Войти в текстовый редактор можно через:

  • двойной левый клик на нужном вам файле;
  • вкладку Просмотреть в выпадающем меню по правому клику;
  • вкладку Файл 🠒 Операции 🠒 Просмотр;
  • панель быстрых команд в нижней части окна файлового менеджера;
  • сочетание горячих клавиш Ctrl + 3.

Нажав кнопку Настройки в правом верхнем углу текстового редактора, вы можете настроить его внешний вид, изменить размер шрифта и другие параметры.


Текстовый редактор обладает функцией подсветки синтаксиса и умеет распознавать, какой файл вы открыли, будь это php-скрипт, bash-скрипт или другой язык программирования. Вы также можете выбрать самостоятельно подсветку кода, воспользовавшись выпадающим меню в текстовом редакторе.

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

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

Просмотр графических файлов

Войти в просмотрщик графических файлов можно через:

  • двойной левый клик на нужном вам файле;
  • вкладку Просмотреть в выпадающем меню по правому клику;
  • вкладку Файл 🠒 Операции 🠒 Просмотр;
  • панель быстрых команд в нижней части окна файлового менеджера;
  • сочетание горячих клавиш Ctrl + 3.

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

Совершаемые вами действия над изображениями не сохраняются.

Управление доступом

С помощью файлового менеджера вы можете выставить пароль на папку и заблокировать доступ к папке с указанных IP-адресов.

Чтобы установить пароль на папку, выберите нужную вам папку и перейдите во вкладку Инструменты 🠒 Установить пароль на текущую директорию. В появившемся диалоговом окне введите имя пользователя, от которого будет установлен пароль и сам пароль на директорию, затем нажмите кнопку Установить пароль.

Аналогично вы можете закрыть доступ к папке с отдельных IP. Для этого перейдите в меню Инструменты 🠒 Установить блокировку по IP-адресу.

В появившемся диалоговом окне введите список IP в формате: xxx.xxx.xxx.xxx, с которых вы хотите открыть/запретить доступ.

В окне настройки доступа по IP вы можете запретить/разрешить доступ с любого IP, а также настроить последовательность обработки IP-адресов.


Работа с сайтами через FTP

Файловый менеджер имеет ряд функций по работе сайтами, расположенными на серверах Бегета.

1. Список сайтов

Вы можете легко переходить между сайтами вашего хостинг-аккаунта. Для этого перейдите во вкладку Навигация -> Список сайтов -> выберете нужный вам сайт для перехода.

2. Размер папок

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


В открывшемся окне вы можете увидеть информацию о размере папок и файлов в Mb и в % от общего занимаемого объема всех файлов на диске.


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

Работа резервными копиями

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


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

Читайте также: