«Я не знала, как дать доступ фрилансеру и не бояться за сайт: рассказываю, как настроила FTP и ограниченные доступы на Timeweb и спокойно делегировала задачи»

«Я не знала, как дать доступ фрилансеру и не бояться за сайт: рассказываю, как настроила FTP и ограниченные доступы на Timeweb и спокойно делегировала задачи»

У меня был сайт интернет‑магазина текстиля: WordPress + WooCommerce, около 300 товаров, подключена CRM, настроены интеграции с маркетплейсами. Клиент сказал: «Нужно обновить карточки товаров: добавить новые фото, поправить описания, обновить характеристики. Возьми фрилансера, я не хочу, чтобы ты этим занималась». Я обрадовалась: наконец‑то можно делегировать рутину. Но тут же накатила паника: «А если он удалит папку с загрузками? Или сломает базу? Или сольёт доступы кому‑нибудь?»

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


Чего я боялась больше всего

Перед тем как создавать доступы, я честно выписала свои главные страхи:

  • Фрилансер удалит важные файлы. Например, папку /uploads/ с картинками товаров или конфиги CMS.
  • Он сломает базу данных. Сделает неправильный SQL‑запрос, и товары или заказы пропадут.
  • Сольёт доступы. Перешлёт логин/пароль кому‑то ещё, и сайт окажется под угрозой.
  • Изменит настройки сервера. Поменяет PHP‑версию, лимиты памяти или что‑то в .htaccess, и сайт начнёт работать нестабильно.
  • Не смогу быстро всё откатить. Если что‑то пойдёт не так, я не успею восстановить данные до того, как упадут продажи.

С этим списком я пошла в панель Timeweb — и поняла, что там есть инструменты, чтобы делегировать безопасно.


Шаг 1: сделать бэкап перед любыми действиями

Первое, что я сделала, — ручной бэкап в панели Timeweb. Нажала одну кнопку, подождала пару минут, убедилась, что статус «Готов». Если фрилансер что‑то сломает, я смогу откатиться за 5 минут. Это сразу сняло половину стресса.


Шаг 2: создать отдельный FTP‑аккаунт с ограниченными правами

В панели Timeweb я зашла в раздел «FTP‑пользователи» и нажала «Создать». Там можно было указать:

  • Логин и пароль.
  • Папку, к которой у пользователя будет доступ.
  • Права: чтение, запись, удаление.

Я сделала так:

  1. Папка: указала /public_html/wp-content/uploads/new-photos/ — только для новых фото.
  2. Дополнительно: создала отдельную папку /public_html/temp-for-freelance/ для временных файлов, если ему нужно будет что‑то загрузить.
  3. Права: дала «чтение и запись», но не давала право удалять корневые папки.
  4. Пароль: сложный, сгенерированный панелью.

Важно: я не давала доступ к /public_html/.env, /public_html/wp-config.php, /public_html/.htaccess — эти файлы критичны для работы сайта.

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


Шаг 3: если нужен доступ к базе — только через безопасные методы

Клиент хотел, чтобы фрилансер ещё и поправил описания товаров прямо в базе (массово, через SQL). Я не хотела давать прямой доступ к phpMyAdmin с полными правами. Решила так:

  • Вариант 1 (безопасный): фрилансер пишет SQL‑запросы, я сначала проверяю их в тестовой базе (на тестовом поддомене), и только потом запускаю на основном сайте.
  • Вариант 2 (ещё безопаснее): делаю бэкап, даю временный доступ к phpMyAdmin, но только на 24 часа. После этого меняю пароль или отзываю доступ.

В этот раз я выбрала Вариант 1: фрилансер прислал мне запрос, я протестировала его на копии, убедилась, что он обновляет только нужные поля и не удаляет ничего лишнего, и сама запустила его в панели Timeweb (в разделе «Базы данных» есть phpMyAdmin).


Шаг 4: дать инструкции и зафиксировать зоны ответственности

Чтобы не было недопониманий, я отправила фрилансеру чёткое ТЗ:

  • Куда загружать файлы (конкретные папки).
  • Какие файлы не трогать (конфиги, темы, плагины).
  • Как называть файлы (правила именования, чтобы не было дублей).
  • Что делать, если что‑то не работает (писать мне, не пытаться чинить самому).

Плюс я сразу сказала: «Если ты видишь, что сайт ведёт себя странно — остановись и напиши. Не пытайся “починить” через правки конфигов».


Шаг 5: контроль и финальная проверка

Когда фрилансер закончил, я сделала три вещи:

  1. Проверила целостность файлов. В панели Timeweb есть простой способ сравнить папки или просто посмотреть, не пропали ли важные директории.
  2. Проверила базу данных. Открыла несколько товаров, убедилась, что описания и цены корректны, нет пустых полей.
  3. Протестировала ключевые сценарии. Добавила товар в корзину, оформила тестовый заказ, проверила, что CRM получает данные.

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


Шаг 6: отозвать доступ и обновить пароли

Сразу после завершения работ я:

  • Удалила FTP‑аккаунт фрилансера.
  • Сменила пароль от основного FTP‑пользователя (на всякий случай).
  • Проверила логи в панели: посмотрела, какие файлы загружались и когда. Это дало уверенность, что не было странных действий.

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


Где я чуть не ошиблась (и что панель подсказала)

  • Хотела дать FTP‑доступ ко всей папке /public_html/. Думала: «Так ему будет удобнее». Панель и здравый смысл подсказали: лучше ограничить доступ только нужными папками.
  • Собиралась дать прямой доступ к phpMyAdmin. Хорошо, что сначала подумала: один неверный DELETE или DROP — и всё пропало. Безопаснее проверять SQL‑запросы на тестовой копии.
  • Не хотела делать бэкап. «Ну, вроде ничего сложного». Но даже простая загрузка файлов может что‑то перезаписать. Бэкап на Timeweb делается в один клик — это лучшая страховка.
  • Не давала чётких инструкций. В первый раз фрилансер начал править файлы темы, потому что «так быстрее». Теперь я всегда фиксирую, что можно трогать, а что — нет.

Что реально помогло на Timeweb

  • Ограниченные FTP‑аккаунты. Можно давать доступ только к конкретным папкам и с конкретными правами.
  • Бэкапы в один клик. Если что‑то пошло не так, откатиться можно за минуты.
  • Файловый менеджер. Я быстро проверяла, какие файлы были загружены, и не нужно было ставить FTP‑клиент.
  • Доступ к phpMyAdmin прямо из панели. Удобно запускать SQL‑запросы и тестировать их без сторонних инструментов.
  • Логи и история действий. В панели видно, кто и когда заходил, какие файлы менял — это даёт дополнительный контроль.
  • Поддержка. Когда я сомневалась, можно ли ограничить FTP‑права так, чтобы нельзя было удалять корневые папки, в чате быстро подсказали, как это настроить.

Практические советы, чтобы безопасно делегировать задачи

Если вам тоже нужно дать доступ подрядчику, вот что реально работает:

  1. Никогда не отдавайте полный доступ к панели хостинга. Это как отдать ключи от офиса.
  2. Используйте отдельные FTP‑аккаунты с ограниченным доступом. Только нужные папки, только нужные права.
  3. Делайте бэкап перед любой передачей доступа. На Timeweb это пара кликов, а откатиться можно за минуты.
  4. Если нужен доступ к базе — проверяйте SQL‑запросы сначала на тестовой версии. Или делайте это сами после проверки.
  5. Фиксируйте зоны ответственности. Чётко пропишите, что можно делать, а что нельзя.
  6. Ограничивайте срок доступа. Если можно — давайте временный доступ, потом отзывайте.
  7. После завершения работ отзывайте доступы и меняйте пароли. Не оставляйте «запасные входы».
  8. Проверяйте логи. Посмотрите, какие файлы менялись и кем — это простой способ убедиться, что всё чисто.

Сейчас я спокойно делегирую задачи: знаю, что даже если что‑то пойдёт не так, у меня есть бэкап и ограниченные права, а панель Timeweb позволяет всё быстро исправить. Делегирование перестало быть риском — оно стало нормальным рабочим инструментом, который экономит время и не ставит проект под угрозу.

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

Ваш адрес email не будет опубликован.