• Главная
  • Карта сайта
Не найдено

Як в Geany вивантажити файли по ssh / ftp на сервер

  1. установка
  2. Налаштування SSH авторизації по ключам
  3. Використання rsync для синхронізації по ssh
  4. Синхронізація файлів по ftp
  5. Налаштування Geany для автоматичного завантаження файлів

Як я вже писав в минулого замітці - я знову сів за написання коду. Крім python, мені доводиться трохи програмувати на php створюючи власні плагіни або теми для сайтів на wordpress. Для роботи я використовую Linux, а в якості середовища розробки (редактора коду) зручну і безкоштовну середу Geany. Оскільки php розробка завжди має на увазі необхідність розміщення скриптів на віддаленому веб-сервер, то може виникнути питання як в geany вивантажити файли по ssh / ftp на сервер в інтернеті.

Запрограмований шаблон в Geany для цих цілей немає, але є можливість прописати власні команди для збірки (компіляції) проекту. Саме цією можливістю я і скористався прописавши туди команду синхронізації локальної папки проекту з віддаленим сервером програмою rsync (для доступу по ssh) або lftp (для ftp).

установка

Перш ніж приступити переконайтеся, що всі необхідні програми у вас встановлені. У більшості випадків ssh і rsync вже встановлені в системі, якщо немає, то встановіть їх відповідно до вашим дистрибутивом. Наприклад в Ubuntu \ Debian це робиться так:

sudo apt-get install ssh rsync

Для установки geany і lftp відповідно команда:

sudo apt-get install geany lftp

Налаштування SSH авторизації по ключам

Оскільки мені найчастіше доводиться працювати з сервером по протоколу SSH, то насамперед необхідно налаштувати «прозору» аутентифікацію по ключу, щоб під час виконання команди завантаження не було запиту пароля. Робиться це дуже просто:

ssh-keygen -t rsa -q -N '' -f ~ / .ssh / id_rsa ssh-copy-id -i ~ / .ssh / id_rsa [email protected]

Де user - користувач віддаленого сервера, remote.host - адреса віддаленого сервера. Після цього при підключенні до вказаного серверу командою ssh [email protected] пароль запитаний не буде, а ви відразу потрапите в консоль сервера. Якщо ім'я локального користувача і віддаленого збігається, то можна і зовсім набирати ssh remote.host. Тепер можна приступити до використання rsync для синхронізації проекту.

Використання rsync для синхронізації по ssh

В інтернет маса мінлива, але я повторю їх тут, щоб ви нікуди не бігали. Щоб завантажити директорію з віддаленого сервера на свій ПК за допомогою команду:

rsync -zavP [email protected]: / path / to / project / files / / path / to / local / files /

А щоб завантажить на сервер відповідно навпаки:

rsync -zavP / path / to / local / files / [email protected]: / path / to / project / files /

Де / path / to / local / files / - повний шлях до папки з проектом на вашому комп'ютері, а [email protected]: / path / to / project / files / - повний шлях на віддаленому сервері починаючи з кореня після двокрапки. До двокрапки, відповідно, логін і сервер для підключення по ssh, для яких ми вже набудували авторизацію по ключам.

Синхронізація файлів по ftp

Для синхронізації по протоколу ftp використовуємо команду lftp, яка так само проста як і rsync. Для завантаження файлів з сервера на комп'ютер вам допоможе команда:

lftp -e 'mirror -e / path / to / project / files / / path / to / local / files /; bye; ' -u user, pass remote.host

З локального комп'ютера на сервер:

lftp -e 'mirror -R / path / to / local / files / / path / to / project / files /; bye; ' -u user, pass remote.host

Як бачите тут вже не так безпечно, оскільки доведеться забивати пароль і логін користувача в команду, але і протокол ftp в принципі вже давно застарів і визнаний небезпечним.

Налаштування Geany для автоматичного завантаження файлів

Тепер, коли всі підготовчі роботи проведені можна налаштовувати Geany на автоматичне завантаження файлів проекту на сервер по ssh або ftp. Для цього створюємо новий проект «Проект \ Новий ...» (у вас вже створений проект то клікайте сюди )

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

Вам буде запропоновано створити папку проекту, якщо вона ще не була створена. Для початку варто створити хоча-б один порожній файл проекту з розширенням визначальним мову програмування. Наприклад для php створіть файл з розширенням php (так geany зрозуміє якою мовою ви зібралися програмувати), після чого відкрийте властивості проекту «Проект \ Властивості».

Перейдіть на вкладку «Збірка» і вкажіть свою команду збірки. Клацніть по кнопці під номером 2 і напишіть наприклад «Завантажити», а в рядок команда вбийте одну з перерахованих вище команд завантаження на сервер в залежності від використовуваного протоколу (ssh або ftp). Має вийти приблизно ось так:

Не забудьте натиснути «OK». Після цього в меню «Збірка» у вас з'явиться пункт «Завантажити», який відправить файли проекту на сервер. Або можна просто тиснути F9.

А внизу вікна редактора з'явиться звіт про успіх (або невдачі) завантаження. Рівне той, що видає зазначена команда в консолі терміналу.

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

Якщо вам є, що додати - ласкаво просимо в коментарі!

Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью