Управление файлами своего сайта

Превратите хаос в идеальный порядок: простое управление файлами сайта без лишних нервов и FTP-клиентов. Попробуйте прямо сейчас!

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

Актуально на:


Основные способы управления файлами

Существует два основных подхода к работе с файлами на хостинге:

  1. FTP/SFTP-клиенты — профессиональный стандарт для массовых операций, загрузки больших объемов данных и работы с правами доступа.
  2. Встроенный файловый менеджер панели управления хостингом — удобен для быстрых правок, редактирования конфигурационных файлов и работы без установки дополнительного ПО.

Управление файлами через FTP (File Transfer Protocol)

FTP — это сетевой протокол для передачи файлов между клиентом (вашим компьютером) и сервером; Для современных задач настоятельно рекомендуется использовать SFTP (SSH File Transfer Protocol) или FTPS (FTP over SSL/TLS), обеспечивающие шифрование логина, пароля и самих данных.

Выбор FTP-клиента

На рынке есть несколько проверенных решений под разные ОС:

  • FileZilla (Windows, macOS, Linux) — самый популярный бесплатный кроссплатформенный клиент с поддержкой очередей передач, синхронизации каталогов и SFTP.
  • WinSCP (Windows) — мощный клиент с интерфейсом в стиле «Командера» (две панели), встроенным текстовым редактором и поддержкой скриптов автоматизации.
  • Cyberduck (macOS, Windows) — удобный клиент с интеграцией в системный ключ (Keychain) и поддержкой облачных хранилищ (S3, Google Drive, Azure) помимо FTP/SFTP.
  • Transmit (macOS) — платный, но эталонный по удобству клиент для Mac.

Получение данных для подключения

Реквизиты доступа выдаются хостинг-провайдером после заказа услуги. Обычно они приходят на email и доступны в панели управления (ISPmanager, cPanel, Plesk, VestaCP и др.).

Набор параметров для подключения:

  • Хост (FTP-сервер): обычно ftp..com или IP-адрес сервера (например, ...). Часто совпадает с доменом сайта (.ru).
  • Пользователь (Логин): часто совпадает с логином панели управления или имеет вид u1234567 / admin_*.
  • Пароль: устанавливается при создании FTP-пользователя в панели хостинга. Важно: храните пароль в менеджере паролей, не сохраняйте его в открытом виде в настройках клиента на общих компьютерах.
  • Порт:
    • 21 — стандартный FTP (небезопасен, передает данные в открытом виде).
    • 22, стандартный SFTP (через SSH, рекомендуется).
    • 990, FTPS (Implicit SSL).
  • Протокол: выбирайте SFTP или FTP over TLS/SSL (Explicit).

Процесс подключения (на примере FileZilla)

  1. Откройте «Менеджер сайтов» (Ctrl+S / Cmd+S).
  2. Нажмите «Новый сайт».
  3. Протокол: SFTP (предпочтительно) или FTP — Требовать явное FTP через TLS.
  4. Введите Хост, Порт, Логин, Пароль.
  5. Тип входа: «Нормальный» (или «Ключевой файл» для SSH-ключей).
  6. Нажмите «Соединиться». При первом подключении по SFTP подтвердите отпечаток ключа сервера.

Структура каталогов на сервере

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

  • /logs или /LogFiles — логи веб-сервера (access.log, error.log). Полезны для анализа посещаемости и отладки ошибок 50x/404. Не удаляйте эту папку, но старые логи можно архивировать и качать к себе.
  • /tmp, /session — временные файлы PHP и сессии. Обычно чистятся автоматически.
  • /backup — если настроены автоматические бэкапы панели управления.
  • /.ssh, папка для авторизованных SSH-ключей (если есть доступ по SSH).

Пример из практики (DotNetNuke): Если на хостинге установлена CMS DotNetNuke, в папке /www вы увидите множество системных папок. Пользовательские файлы, загруженные через файловый менеджер DNN, физически лежат в /www/Portals/0/ (для первого портала), /www/Portals/1/ — для второго и т.д. При загрузке больших файлов через FTP для использования в DNN — загружайте их именно в соответствующую папку Portals/N.

Операции с файлами через FTP

  • Загрузка (Upload): Drag-and-drop с левой панели (локальный ПК) на правую (сервер). Для множества файлов используйте очередь передач.
  • Скачивание (Download): Обратная операция. Критично для бэкапов перед обновлением CMS;
  • Редактирование: Правый клик → «Просмотр/Правка». Файл скачивается во временную папку, открывается в системном редакторе. При сохранении клиент предложит загрузить изменения обратно на сервер.
  • Права доступа (CHMOD): Правый клик → «Права доступа к файлу».
    • Папки: 755 (drwxr-xr-x).
    • Файлы: 644 (-rw-r--r--).
    • Никогда не ставьте 777 (полный доступ для всех) — это критическая дыра в безопасности. Исключение — папки для загрузок (uploads/cache), но даже там лучше использовать 755 + правильного владельца (chown).
  • Переименование / Удаление / Создание папок: Стандартные контекстные меню.

Когда обязательно использовать FTP/SFTP

  • Первоначальная загрузка дистрибутива CMS (архив 50–500 Мб).
  • Массовая загрузка медиатеки (тысячи изображений).
  • Работа с файлами .htaccess, wp-config.php, configuration.php, robots.txt (файловые менеджеры панелей часто скрывают точечные файлы по умолчанию).
  • Восстановление сайта из бэкапа (заливка тысяч файлов).
  • Настройка прав доступа (CHMOD) рекурсивно для папок и файлов отдельно.
  • Отсутствие доступа к панели управления хостингом.

Файловый менеджер панели управления хостингом

Большинство современных панелей (ISPmanager, cPanel, Plesk, DirectAdmin, VestaCP, а также проприетарные панели провайдеров вроде NIC.RU, Reg.ru, Timeweb, Beget) имеют встроенный веб-интерфейс для работы с файлами.

Преимущества

  • Работает в браузере, не требует установки ПО.
  • Доступен с любого устройства (даже планшета/телефона).
  • Часто имеет встроенный редактор кода с подсветкой синтаксиса.
  • Позволяет менять владельца файлов (chown) и права (chmod) через GUI.
  • Интеграция с архиватором (создание/распаковка zip, tar.gz, tar) — критически важно для быстрого развертывания CMS.

Недостатки

  • Лимиты на размер загружаемого файла (часто 128Мб – 2Гб, зависит от настроек PHP/NGINX панели).
  • Нет очереди закачек: при обрыве связи при загрузке 500 файлов придется начинать сначала.
  • Медленнее при работе с большим количеством мелких файлов (накладные расходы HTTP).

  • Ограниченная поддержка символьных ссылок (symlinks).

Базовые операции

  1. Заход в раздел «Файловый менеджер» / «File Manager».
  2. Включение отображения скрытых файлов (настройки/шестеренка → «Показывать скрытые файлы» / «Show Hidden Files (dotfiles)») — обязательно для работы с .htaccess, .gitignore, .env.
  3. Загрузка: кнопка «Загрузить» / «Upload» → выбор файлов/архива.
  4. Распаковка: правый клик на архиве → «Распаковать» / «Extract». Указывайте целевую папку.
  5. Редактирование: клик по файлу → «Редактировать» / «Edit» / «Code Edit».

Особенности работы с популярными CMS

WordPress

  • Ядро в корне (wp-admin, wp-includes, файлы wp-*.php).
  • Контент и настройки в /wp-content/ (plugins, themes, uploads).
  • Папка /wp-content/uploads/ должна быть доступна для записи веб-сервером (права 755, владелец = пользователь PHP-FPM).

1C-Битрикс (Bitrix)

  • Структура: /bitrix/ (ядро), /upload/ (файлы пользователей), /local/ (кастомизация).
  • Файл /.settings.php — настройки ядра и БД (права 600).
  • Используйте встроенный «Монитор производительности» и «Проверку системы» для диагностики прав доступа.

Joomla / OpenCart / MODX / Laravel / Symfony

  • Принцип единый: есть публичная папка (public, web, www) и папка приложения уровнем выше (для фреймворков).
  • Файлы конфигурации (configuration.php, config.php, .env) — максимально закрытые права (600/640).
  • Папки кэша, логов, загрузок — права на запись для веб-сервера.

Безопасность и лучшие практики

Используйте SFTP/FTPS исключительно

Обычный FTP (порт 21) передает логин, пароль и файлы в открытом виде. Любой в одной Wi-сети или на промежуточном узле может их перехватить. Отключите обычный FTP в панели хостинга, если есть возможность.

SSH-ключи вместо паролей

Для SFTP настройте авторизацию по ключу (Ed25519 или RSA 4096 бит). Приватный ключ хранится у вас (защищен паролем), публичный — на сервере в ~/.ssh/authorized_keys. Это исключает брутфорс паролей.

Права доступа (Permissions), золотое правило

Объект Права (CHMOD) Примечание
Папки (директории) 755 (rwxr-xr-x) Владелец может всё, группа и остальные — вход и чтение.
644 (rw-r—r—) Владелец пишет, остальные читают. Исполнение не нужно.
Конфиги (wp-config.php, .env, .settings.php) 600 или 640 Чтение только владельцем (и группой). Никакого доступа для «остальных».
Папки загрузок (uploads, images, cache) 755 (+ владелец = user:php-fpm) Веб-сервер должен писать. Избегайте 777. Настройте PHP-FPM пул от имени пользователя сайта.

Защита служебных файлов через .htaccess / nginx config

Запретите доступ к чувствительным файлам напрямую по HTTP:

# Apache .htaccess примеры

 Order allow,deny
 Deny from all



 Order allow,deny
 Deny from all



 
 Order allow,deny
 Deny from all
 

Регулярные бэкапы (Правило 3-2-1)

  • 3 копии данных.
  • 2 разных носителя (локальный диск + облако / другой сервер).
  • 1 копия вне офиса/дома (offsite).

Автоматизируйте: скрипты по крону (mysqldump + tar.gz файлов) → загрузка в S3-совместимое хранилище (Yandex Object Storage, S3, Wasabi, Backblaze B2) или на отдельный FTP-бэкап сервер.


Типичные проблемы и их решение

Ошибка «500 Internal Server Error» после правки файлов

  1. Проверьте синтаксис PHP: php -l /path/to/file.php (через SSH) или через онлайн-валидаторы.
  2. Проверьте права: файл не должен быть 666 или 777, папка не 777. Суффикс (suPHP/PHP-FPM) убьет процесс.
  3. Проверьте .htaccess на синтаксические ошибки (лишние пробелы, несуществующие директивы). Переименуйте временно в .htaccess.bak.
  4. Смотрите error.log в папке /logs или через панель хостинга.

Файлы не обновляются на сайте (кэш)

  • Очистите кэш браузера (Ctrl+F5).
  • Очистите кэш CMS (админка → кэш).
  • Очистите серверный кэш: OPcache (перезагрузка PHP-FPM / Apache), Nginx FastCGI Cache, Varnish, Redis/Memcached (flush).
  • Если используете CDN (Cloudflare, CloudFront) — сделайте Purge Cache.

«Permission denied» / «Unable to create directory» при загрузке в админке CMS

Владелец файлов/папок — ваш пользователь FTP, а PHP работает от имени www-data, bitrix, nginx или вашего пользователя (в режиме PHP-FPM Pool).

Решение: Убедитесь, что папки, куда CMS пишет (uploads, cache, var), принадлежат пользователю, от имени которого работает PHP. В панели хостинга часто есть кнопка «Исправить права» / «Fix Permissions». Или через SSH:
chown -R user:user /path/to/site/www (если PHP-FPM от user)
chmod -R 755 /path/to/site/www/uploads

Превышен лимит inodes (количество файлов)

Хостинги часто лимитируют не только место (Гб), но и количество inodes (файлов+папок).

  • Удалите старые бэкапы в корне аккаунта.
  • Очистите кэш CMS (папки cache часто содержат сотни тысяч мелких файлов).
  • Удалите неиспользуемые темы/плагины/модули.
  • Перенесите логи и старые архивы на локальный ПК.

Автоматизация и продвинутый уровень

Deploy-скрипты (CI/CD)

Ручное управление файлами через FTP не масштабируется. Настройте автоматический деплой при пуше в Git (GitHub Actions, GitLab CI, Bitbucket Pipelines):

# Пример шага для GitHub Actions (rsync over SSH)
- name: Deploy to production
 uses: appleboy/ssh-action@master
 with:
 host: ...
 username: deploy_user
 key: ${{ secrets.SSH_PRIVATE_KEY }}
 script: |
 cd /var/www/*.ru
 git pull origin main
 composer install --no-dev --optimize-autoloader
 php artisan migrate --force # для Laravel
 # или wp-cli для WP

WP-CLI / Drush / Bitrix CLI

Консольные утилиты для управления CMS позволяют обновлять ядро, плагины, чистить кэш, делать поиск-замену в БД без браузера и FTP. Требуют SSH-доступа.

Синхронизация (rsync / lsyncd)

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

# Пример разовой синхронизации (удаляет на приемнике лишнее, сжимает, сохраняет права/время)
rsync -avz --delete -e "ssh -p 22" /local/project/www/ user@...:/var/www/*.ru/www/

Чек-лист: Безопасная работа с файлами сайта

  • [ ] Доступ только по SFTP (порт 22) или FTPS. Порт 21 закрыт/отключен.
  • [ ] Авторизация по SSH-ключам (парольная авторизация отключена в /etc/ssh/sshd_config — PasswordAuthentication no).
  • [ ] Права: папки 755, файлы 644, конфиги 600/640.
  • [ ] Владелец файлов соответствует пользователю PHP-FPM пула.
  • [ ] Скрытые файлы (.htaccess, .env, .git) защищены от веб-доступа.
  • [ ] В папках загрузок (uploads) запрещено исполнение PHP/скриптов.
  • [ ] Настроены автоматические ежедневные бэкапы файлов и БД на внешнее хранилище.
  • [ ] Есть актуальный локальный бэкап перед любыми правками вручную.
  • [ ] Используется Git для версионирования кода (тема, плагины, кастомный код).

Управление файлами сайта, это не просто «закинуть картинку по FTP». Это комплексная дисциплина, включающая понимание архитектуры сервера (Linux, веб-сервер, PHP-FPM), модели прав доступа (DAC), протоколов передачи данных (SFTP), специфики используемой CMS и процессов резервного копирования.

Начинайте с освоения FileZilla / WinSCP + SFTP + SSH-ключи. Используйте файловый менеджер панели для быстрых правок конфигов и распаковки архивов. Внедряйте Git и CI/CD как только проект выходит за рамки «одного человека — один сайт». И помните: нет бэкапа — нет файла.


Материал подготовлен на основе документации хостинг-провайдеров (webcraft.ee, md-host.ru, nic.ru) и лучших практик системного администрирования веб-серверов. Конфиденциальные данные (домены, IP, логины) в примерах замаскированы символами *.