Как изменять файлы на сервере

Обновлено: 05.07.2024

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

Для чего это нужно

Очень часто так бывает, что вы разрабатываете проект локально, и после приобретения проектом лицеприятного вида появляется необходимость в публикации этого сайта на хостинге, или личном сервере. Допустимый вариант - использовать фтп-менеджер, по типу FileZilla, WinSCP, или им подобные. И с их помощью загружать файлы на сервер, как только вы закончите работу. Однако, во-первых, иногда очень напрягает постоянные переключение между вкладками, особенно, когда правки происходят в режиме лайф. И, во-вторых, PHPStorm имеет встроенный функционал по работе с удалёнными серверами, и, во-многом, мощнее большинства файловых менеджеров.

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

Настройка FTP-подключения в PHPStorm

Для демонстрации процесса настройки FTP в PHPStorm я создам новый проект, а так же, создам новый дроплет на DigitalOcean, на который буду загружать файлы проекта.

Прежде всего, нужно настроить FTP соединение с удалённым сервером. Для этого нужно перейти в меню настроек File > Settings , где открыть вкладку Build, Execution, Deployment > Deployment , и нажать на кнопку добавления нового подключения:

settings_add_server_select_type

Где во всплывающем меню будет предложено выбрать тип подключения, который мы будем использовать: FTP , FTPS , SFTP :

Какую опцию выбирать зависит от того, куда вы подключаетесь. Грубо говоря, если у вас собственный сервер, и к примеру, вы хотите подключиться от имени root-а, или другого пользователя на сервере, то нужно выбрать SFTP .
Если вы подключаетесь к shared-хостингу, то они обычно предоставляют доступ только по FTP .

settings

И указав имя, получим такое окно с настройками, на котором остановимся подробнее:

где 1 - это опция, которая указывает на то, будет ли доступен этот сервер в других ваших PHPStorm-проектах. То есть, вы можете настроить это подключение один раз, и выставив эту галочку, работать в любом своём проекте, не настраивая его повторно в других проектах
2 - тип подключения, который указывали шагом назад (который можем изменить в любой момент)
3 - хост, к которому подключаемся
4 - порт сервера (для SFTP обычно 22, но на сервере можно настроить какой угодно)
5 - имя пользователя
6 - пароль (и галочка сохранить пароль, чтобы не вводить его повторно)

После того, как указали все параметры, нужно протестировать это подключение на корректность введённых данных, нажав на кнопку Test Connection (соглашаясь со всеми всплывающими окнами).

select_path

Теперь осталось только настроить пути к проекту, папку выгрузки на сервер. Здесь нужно указать, в какой директории на сервере находятся файлы вашего проекта. К примеру, на VDS, файлы, обычно расположены по пути /var/www/html , если это хостинг, то username/public_html , public_html , или что-то типа того. Потому укажем путь, нажав на кнопку:

paths

Теперь, последний шаг для удачного деплоя - укажем путь, куда будут загружаться файлы. Для этого нужно перейти на вкладку Mappings и выбрать путь Deployment path (обычно, при указанном пути к проекту на предыдущей вкладке, Deployment path задаётся как / ).

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

Готово! Нажимаем OK , и сервер добавлен.

Подключаемся к настроенному серверу

tolls

Подключение мы настроили. Но пока непонятно, как к нему подключиться. Для того, чтобы появилась удобная панель работы с FTP-серверами, откроем в меню Tools > Deployment > Browse Remote Host , в результате чего, появится новая панель Remote Host , которую можете открыть кликнув по ней

upload_to

И всё, теперь мы полноценно настроили подключение по FTP, и можем из PHPStorm загружать, или редактировать файлов на удалённом сервере. Удобство в том, что можно перенести файлы на сервер либо выделив все нужные локальные файлы, скопировав Ctrl + C , перевести фокус на удалённый сервер, и Ctrl + V .
Или же, выделив нужные файлы, нажмите правую кнопку мыши, Deployment > Upload to .

Теперь в правом меню Remote Host , в списке файлов сервера появятся ваши файлы, которые вы можете открывать, и редактировать по фтп. И к примеру, если вы открыли файл, отредактировали его, то редактор сам подскажет вам, что в файле были произведены изменения, которые стоило бы залить на сервер. И для того, чтобы загрузить изменения на FTP сервер, нужно нажать на кнопку:

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

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

setting_auth2-1

Для этого опять зайдём на страницу настроек File > Settings , настройки деплоя Build, Execution, Deployment > Deployment > Options

где 1 - режим загрузки файлов при их изменении:

  • Always - синхронизировать сразу же при изменении
  • On explicit save action - загрузка на сервере при нажатии Ctrl + S
  • Never - не синхронизировать

2 - режим поиска и разрешения конфликтов версий файлов:

  • No - загружать локальный файл на сервер без дополнительных проверок
  • Compare timestamp & size - сравнивать дату изменения локального файла с серверным, или его размер
  • Compare content - сравнивать содержимое файла с его предыдущей версией

То есть, когда PHPStorm обнаружит, что за то время, пока вы редактировали свой файл локально, его кто-то изменил на сервере. И, если настроено разрешение конфликтов версий файлов, то он уведомит вас о том, файл отредактирован кем-то, чтобы вы не затёрли чужие правки. Удобно, когда над проектом работает несколько человек.

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

Загрузка файлов не несколько серверов одновременно (группа серверов)

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

server_grou-p

Для того, чтобы создать такую группу серверов, откроем панель File > Settings , и перейдём на вкладку Build, Execution, Deployment > Deployment , где нажмём на кнопку добавления нового сервера (как было в предыдущих шагах), только в этот раз выбираем опцию Server group

add_new_server_to_grou

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

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

2-servers-list

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

upload_to_server_group

Теперь, когда всё настроено, можем выделить нужные файлы проекта, которые необходимо залить, нажать ПКМ, и в контекстном меню Deployment кликнуть Upload to . server group

Upload_to_one_server_edited

Нажав на кнопку, запустится процесс деплоя на каждый из этих серверов. Если же, вам понадобится загрузить только на один сервер из этой группы, то в том же меню Deployment , можете выбрать Upload to. , во всплывающем окне, выбрав нужный сервер

На момент создания группы серверов у вам уже могут иметься добавленные сервера. Вы можете переместить их в группу, используя drag-n-drop.
Если в PHPStorm не работает drag-n-drop, то попробуйте, используя зажатую кнопку Alt .

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

Резюме

Теперь вы знаете, как в PHPStorm работать по FTP, как работает загрузка файлов одновременно на несколько серверов, как всё это настраивать и успешно применять в своей работе. В этой статье я, для демонстрации использовал демо-сервер, который заказывал на DigitalOcean. И если вам нужен дешевый и качественный сервер (топ за свои деньги), то приглашаю вас зарегистрироваться по инструкции из этой статьи, и получить дополнительные 50$ на использование их услуг.

Для этого нам потребуются установленные FTP-клиент и текстовый редактор с поддержкой кодировки UTF-8 без BOM. В качестве FTP-клиента мы будем использовать FileZilla, а в качестве текстового редактора — Notepad++.

Для соединения по FTP нам также потребуются данные для подключения, их необходимо уточнить в поддержке Вашего хостинга.

Запускаем Filezilla и переходим в раздел Редактирование -> Настройки.


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


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

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


В разделе Правка файлов укажем редактор по умолчанию — Notepad++.


Жмем кнопку ОК и переходим к подключению.

Для подключения необходимо заполнить поля: Хост, Имя пользователя, Пароль и при необходимости Порт. После ввода данных жмем кнопку Быстрое соединение.


Перед редактированием файла рекомендуется сделать его резервную копию: это можно сделать перетащив файл в левую колонку.


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

Для редактирования Вы можете щелкнуть правой кнопкой мыши по нужному файлу и выбрать пункт Просмотр/Правка.


Выбранный файл откроется в текстовом редакторе Notepad++. После внесения изменений необходимо выбрать пункт Файл -> Сохранить или нажать кнопку с иконкой дискеты. Все редактируемые файлы должны быть сохранены в кодировке UTF-8 без BOM.


После сохранения изменений, необходимо перейти в окно FileZilla и загрузить файл обратно на сервер.

Существуют четыре способа изменения файлов на сайте. Первый - через панель редактирования файлов, встроенную в CMS, на которой работает сайт. Второй способ - это замена файла изменённой версией через FTP (программа FileZilla). Третий способ аналогичен второму, но используя программы, которые умеют редактировать файлы на удалённых серверах без необходимости скачивать их к себе на компьютер (редакторы "Notepad++" и "Atom").

Рекомендуем ознакомиться со статьёй "Загрузка файлов на сайт с помощью FileZilla", в которой описан процесс работы с программой, которая может загрузить файл с вашего компьютера на сервер с сайтом. А так же с одной из статей. описывающих редактор файлов на сервере: "Средство разработки: Notepad++" или "Средство разработки: Atom"

Виртуальный хостинг

В верхнем меню панели администрирования найдите пункт "Хостинг". Кликните на него: Если виртуальный хостинг ещё не заказан, то список будет пуст. В этом случае рекомендуем ознакомиться со статьёй "Как заказать виртуальный хостинг".

Если виртуальный хостинг уже заказан, то необходимо перейти в его панель управления. Делается это несколькими способами. Первый - кликнуть на кнопку вызова выпадающего меню в списке, а затем кликнуть на кнопку "Перейти в панель": Либо можно кликнуть на название хостинга в списке, и в открывшемся окне изменения настроек найти кнопку "Меню". Оно вызовет то же самое выпадающее меню, в котором нужно кликнуть на пункт "Перейти в панель": Произойдёт переход на панель администрирования виртуальным хостингом. Через эту панель мы попробуем изменить файлы уже существующего сайта. Для этого в левом боковом меню найдите пункт "Главное" - "Менеджер файлов": Откроется список файлов на сервере. Навигация по этому списку осуществляется как по папкам на компьютере. То есть необходимо выбрать нужную папку и кликнуть два раза левой кнопкой мыши, чтобы открыть эту папку.

Попробуйте открыть папку с названием "www": Внутри неё можно найти папки с названиями, идентичными названиям сайтов. Зайдите в папку нужного сайта с помощью двойного клика по ней. Затем выберите нужный для редактирования файл, кликнув на него один раз и затем нажмите на кнопку "Изменить" в верхнем меню сайта: Откроется форма для изменения содержимого файла: После внесения измений в файл необходимо нажать на кнопку "Сохранить", чтобы изменения вступили в силу. Если закрыть форму без сохранения, то файл не изменится.

С помощью ISP-manager можно совершать массу полезных вещей. В нём вообще удобно работать, так как все действия мгновенно применяются на удалённом сервере, на котором он установлен. В этой статье рассмотрим, как редактировать файлы на удалённом сервере с помощью ISP-manager. Редактирование файла может быть связано как с внесением каких-то правок в код, работающий на сервере, так и создание нового файла с нужным содержимым.

Выбор файла, который требуется изменить на сервере с помощью ISP-manager

Для того, чтобы внести изменение в файл на сервере, его нужно сначала найти или создать с помощью ISP-manager:

Выбор файла, который требуется изменить на сервере с помощью ISP-manager

Открываем файл для редактирования двойным кликом мыши

Самым простым способом открыть файл для редактирования в ISP-manager — это два раза кликнуть левой кнопкой по его названию или иконке в списке файлов:

Открываем файл для редактирования двойным кликом мыши

Открываем файл для редактирования с помощью кнопок управления Менеджера файлов ISP-manager

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

Для этого нужно:

    кликом левой кнопкой мышки по его названию (после этого выделится строчка с этим фалом в списке файлов).
  1. Нажать на кнопку «Изменить» в верхнем ряду кнопок управления Менеджера файлов ISP-manager

Открываем файл для редактирования с помощью кнопок управления Менеджера файлов ISP-manager

Редактирование файла в ISP-менеджере

Выполнив любое из двух описанных выше действий, получим новое окно со встроенным в ISP-менеджер текстовым редактором. Тут нужно просто внести нужные изменения в поле ввода текста:

Редактирование файла в ISP-менеджере

Сохранение внесённых изменений в файле в ISP-менеджере

Сохранение внесённых изменений в файле в ISP-менеджере

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

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

Бывает так, что не нужно сохранять изменения. Для этого нужно нажать на кнопку «Отмена» или на крестик в конце названия вкладки. Это действие просто закроет вкладку редактирования без внесения изменений в файл на сервере. (Однако это не отменит тех изменений, что были ранее сохранены с помощью кнопки «Сохранить».

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

Возврат в Менеджер файлов после редактирования файла в ISP-manager

Когда окно редактирования файла закроется, на экране снова будет вкладка «Менеджер файлов» ISP-manager. Тут можно обратить внимание на то, что размер файла поменялся (в зависимости от количества исправленного). Также будет изменено значение в поле «Дата изменения»:

Возврат в Менеджер файлов после редактирования файла в ISP-manager

Резюме

Вот так легко и непринуждённо можно вносить изменения в старые файлы или требуемые данные в новые файлы с помощью ISP-менеджера. =)

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