Актуально на:
Основные способы управления файлами
Существует два основных подхода к работе с файлами на хостинге:
- FTP/SFTP-клиенты — профессиональный стандарт для массовых операций, загрузки больших объемов данных и работы с правами доступа.
- Встроенный файловый менеджер панели управления хостингом — удобен для быстрых правок, редактирования конфигурационных файлов и работы без установки дополнительного ПО.
Управление файлами через 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)
- Откройте «Менеджер сайтов» (Ctrl+S / Cmd+S).
- Нажмите «Новый сайт».
- Протокол: SFTP (предпочтительно) или FTP — Требовать явное FTP через TLS.
- Введите Хост, Порт, Логин, Пароль.
- Тип входа: «Нормальный» (или «Ключевой файл» для SSH-ключей).
- Нажмите «Соединиться». При первом подключении по 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).
- Папки: 755 (
- Переименование / Удаление / Создание папок: Стандартные контекстные меню.
Когда обязательно использовать 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 файлов придется начинать сначала.
- Ограниченная поддержка символьных ссылок (symlinks).
Медленнее при работе с большим количеством мелких файлов (накладные расходы HTTP).
Базовые операции
- Заход в раздел «Файловый менеджер» / «File Manager».
- Включение отображения скрытых файлов (настройки/шестеренка → «Показывать скрытые файлы» / «Show Hidden Files (dotfiles)») — обязательно для работы с
.htaccess,.gitignore,.env. - Загрузка: кнопка «Загрузить» / «Upload» → выбор файлов/архива.
- Распаковка: правый клик на архиве → «Распаковать» / «Extract». Указывайте целевую папку.
- Редактирование: клик по файлу → «Редактировать» / «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» после правки файлов
- Проверьте синтаксис PHP:
php -l /path/to/file.php(через SSH) или через онлайн-валидаторы. - Проверьте права: файл не должен быть 666 или 777, папка не 777. Суффикс (suPHP/PHP-FPM) убьет процесс.
- Проверьте
.htaccessна синтаксические ошибки (лишние пробелы, несуществующие директивы). Переименуйте временно в.htaccess.bak. - Смотрите
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, логины) в примерах замаскированы символами *.