Twoje Centrum Szkoleniowe

Nauczmy się dziś czegoś nowego!

Kurs tworzenia stron - HTML + CSS

Przesyłanie plików na serwer: FTP, SFTP

W tej lekcji skupimy się na dwóch głównych protokołach służących do przesyłania plików: FTP (File Transfer Protocol) oraz SFTP (SSH File Transfer Protocol).

Poznasz różnice między tymi protokołami, dowiesz się, jak z nich korzystać, oraz jakie narzędzia mogą Ci w tym pomóc. Bez względu na to, czy korzystasz z hostingu współdzielonego, VPS czy serwera dedykowanego, umiejętność przesyłania plików na serwer jest kluczowa w pracy każdego web dewelopera.

 

Dlaczego przesyłanie plików na serwer jest ważne?

    • Publikacja strony: Aby Twoja strona była dostępna w sieci, jej pliki muszą znajdować się na serwerze.
    • Aktualizacje: Możesz wprowadzać zmiany i aktualizacje w swojej witrynie, przesyłając nowe wersje plików.
    • Zarządzanie zasobami: Możliwość dodawania, edytowania i usuwania plików na serwerze.
    • Backup: Przesyłanie i pobieranie plików umożliwia tworzenie kopii zapasowych.

 

FTP i SFTP – co to jest?

FTP (File Transfer Protocol)

FTP to protokół sieciowy służący do przesyłania plików między komputerami w sieci TCP/IP. Jest jednym z najstarszych i najprostszych sposobów transferu plików na serwer.

Cechy FTP:

    • Prostota: Łatwy w użyciu i konfiguracji.
    • Brak szyfrowania: Dane, w tym hasła, są przesyłane w formie niezaszyfrowanej, co stanowi ryzyko bezpieczeństwa.
    • Powszechny: Obsługiwany przez większość serwerów i klientów FTP.

SFTP (SSH File Transfer Protocol)

SFTP to protokół zapewniający bezpieczny transfer plików poprzez połączenie SSH (Secure Shell). Jest bardziej zaawansowany i bezpieczny niż FTP.

Cechy SFTP:

    • Bezpieczeństwo: Dane są szyfrowane podczas transferu, chroniąc je przed podsłuchem.
    • Autoryzacja: Używa uwierzytelniania SSH, co zwiększa bezpieczeństwo.
    • Funkcjonalność: Oferuje dodatkowe funkcje, takie jak zarządzanie plikami i uprawnieniami.

 

Porównanie FTP i SFTP

Cecha FTP SFTP
Bezpieczeństwo Brak szyfrowania Szyfrowane połączenie
Port Domyślnie port 21 Domyślnie port 22
Uwierzytelnianie Login i hasło przesyłane otwartym tekstem Uwierzytelnianie SSH
Zastosowanie Podstawowy transfer plików Bezpieczny transfer i zarządzanie

Wniosek: SFTP jest zalecanym protokołem ze względu na bezpieczeństwo i funkcjonalność.

 

Jak korzystać z FTP i SFTP?

Aby przesyłać pliki na serwer za pomocą FTP lub SFTP, potrzebujesz:

    1. Danych dostępowych: Adres serwera, login, hasło, port.
    2. Klienta FTP/SFTP: Programu umożliwiającego połączenie z serwerem i zarządzanie plikami.

Popularne klienty FTP/SFTP

    • FileZilla: Darmowy, otwartoźródłowy klient FTP/SFTP dostępny na Windows, macOS i Linux.
    • WinSCP: Darmowy klient SFTP i FTP dla systemu Windows.
    • Cyberduck: Klient FTP/SFTP dla macOS i Windows.
    • Transmit: Płatny klient FTP/SFTP dla macOS.

 

Konfiguracja połączenia FTP/SFTP

Krok 1: Uzyskanie danych dostępowych

Skontaktuj się ze swoim dostawcą hostingu lub zaloguj się do panelu administracyjnego, aby uzyskać następujące informacje:

    • Adres serwera: Może to być adres IP lub nazwa hosta (np. ftp.twojastrona.pl).
    • Port: FTP domyślnie używa portu 21, SFTP – portu 22.
    • Login i hasło: Dane uwierzytelniające do konta FTP/SFTP.
    • Ścieżka docelowa: Katalog, w którym powinieneś umieścić pliki (np. /public_html/).

Krok 2: Instalacja klienta FTP/SFTP

Przykład z FileZilla:

    1. Pobierz FileZilla z oficjalnej strony: https://filezilla-project.org/.
    2. Zainstaluj program, postępując zgodnie z instrukcjami instalatora.

Krok 3: Konfiguracja połączenia w FileZilla

    1. Uruchom FileZilla.

    2. Otwórz Menedżera stron: Plik > Menedżer stron (lub skrót Ctrl+S).

    3. Dodaj nową stronę:

      • Nowa strona: Kliknij przycisk Nowy wpis.
      • Nazwa: Nazwij swoje połączenie (np. Moja strona).
    4. Uzupełnij dane:

      • Host: Adres serwera (np. ftp.twojastrona.pl).
      • Port: Jeśli używasz domyślnego, możesz zostawić puste.
      • Protokół: Wybierz SFTP – SSH File Transfer Protocol lub FTP – File Transfer Protocol.
      • Typ logowania: Wybierz Normalne.
      • Użytkownik: Twój login.
      • Hasło: Twoje hasło.
    5. Zapisz ustawienia i połącz się.

Krok 4: Przesyłanie plików

Po połączeniu zobaczysz dwa panele:

    • Lewy panel: Pliki na Twoim komputerze.
    • Prawy panel: Pliki na serwerze.

Przesyłanie plików:

    • Przeciągnij i upuść pliki z lewego panelu do prawego w odpowiedni katalog (np. /public_html/).
    • Monitoruj postęp w dolnej części programu.

 

Bezpieczeństwo podczas korzystania z FTP/SFTP

Dlaczego warto używać SFTP zamiast FTP?

    • Szyfrowanie: Dane, w tym hasła i pliki, są szyfrowane podczas transferu, co chroni przed podsłuchem.
    • Bezpieczne uwierzytelnianie: Wykorzystuje protokół SSH.

Unikanie ryzyka związanego z FTP

    • Nie używaj FTP w sieciach publicznych: Brak szyfrowania naraża Cię na przechwycenie danych.
    • Jeśli musisz użyć FTP, rozważ zastosowanie dodatkowych zabezpieczeń, takich jak VPN.

 

Konfiguracja SFTP z kluczami SSH

Dla jeszcze większego bezpieczeństwa możesz użyć kluczy SSH zamiast hasła.

Krok 1: Generowanie klucza SSH

    1. Na systemie Windows:

      • Użyj programu PuTTYgen (część zestawu PuTTY).
    2. Na systemach macOS i Linux:

      • Otwórz terminal i wpisz:
        ssh-keygen -t rsa -b 4096 -C "twój_email@domena.pl"

         

    3. Postępuj zgodnie z instrukcjami: Zapisz klucz prywatny i publiczny.

Krok 2: Dodanie klucza publicznego na serwerze

    1. Zaloguj się do panelu administracyjnego hostingu.
    2. Znajdź opcję zarządzania kluczami SSH.
    3. Dodaj klucz publiczny, wklejając zawartość pliku id_rsa.pub.

Krok 3: Konfiguracja klienta SFTP

    1. W FileZilla:

      • Menedżer stron: Edytuj swoje połączenie.
      • Typ logowania: Wybierz Klucz SSH.
      • Użytkownik: Twój login.
      • Klucz: Wskaż plik z kluczem prywatnym.
    2. Zapisz ustawienia i połącz się.

 

Dobre praktyki przy przesyłaniu plików

1. Struktura katalogów

    • Utrzymuj porządek: Organizuj pliki w logiczną strukturę katalogów.
    • Unikaj przypadkowego usuwania: Uważaj podczas usuwania plików na serwerze.

2. Prawa dostępu do plików

    • Ustaw odpowiednie uprawnienia: Zazwyczaj pliki powinny mieć uprawnienia 644, a katalogi 755.
    • Unikaj uprawnień 777: Może to stanowić zagrożenie bezpieczeństwa.

3. Kopie zapasowe

    • Przed większymi zmianami: Wykonaj kopię zapasową plików i bazy danych.
    • Regularne backupy: Planuj regularne tworzenie kopii zapasowych.

4. Używaj SFTP

    • Bezpieczeństwo przede wszystkim: Zawsze preferuj SFTP nad FTP.

 

Częste problemy i ich rozwiązania

1. Nie można połączyć się z serwerem

    • Problem: Błąd połączenia, brak odpowiedzi serwera.
    • Rozwiązanie:
      • Sprawdź poprawność danych dostępowych.
      • Upewnij się, że port jest otwarty w Twojej sieci (np. nie jest blokowany przez firewall).
      • Skontaktuj się z dostawcą hostingu.

2. Odmowa dostępu podczas przesyłania plików

    • Problem: Nie możesz przesłać plików do określonego katalogu.
    • Rozwiązanie:
      • Sprawdź uprawnienia do katalogu na serwerze.
      • Upewnij się, że masz odpowiednie uprawnienia do zapisu.
      • Skontaktuj się z administratorem serwera.

3. Błędy podczas transferu plików

    • Problem: Transfer jest przerywany, pliki są niekompletne.
    • Rozwiązanie:
      • Sprawdź stabilność swojego połączenia internetowego.
      • Spróbuj przesłać pliki ponownie.
      • Zaktualizuj klienta FTP/SFTP do najnowszej wersji.

4. Nieprawidłowe wyświetlanie strony po przesłaniu plików

    • Problem: Strona nie działa poprawnie po przesłaniu plików.
    • Rozwiązanie:
      • Upewnij się, że pliki zostały przesłane do właściwego katalogu (np. /public_html/).
      • Sprawdź, czy wszystkie pliki zostały poprawnie przesłane.
      • Sprawdź uprawnienia do plików.

 

Narzędzia do przesyłania plików

1. FileZilla

    • Strona: https://filezilla-project.org/
    • Funkcje:
      • Obsługa FTP, SFTP i FTPS.
      • Przejrzysty interfejs.
      • Menedżer stron do zarządzania połączeniami.

2. WinSCP

    • Strona: https://winscp.net/
    • Funkcje:
      • Obsługa SFTP, SCP, FTP i WebDAV.
      • Integracja z Eksploratorem Windows.
      • Skrypty i automatyzacja.

3. Cyberduck

    • Strona: https://cyberduck.io/
    • Funkcje:
      • Dostępny na macOS i Windows.
      • Obsługa SFTP, FTP, WebDAV, Amazon S3, Google Drive i innych.
      • Integracja z edytorami tekstu.

4. Terminal (macOS, Linux)

    • Komenda:
      sftp użytkownik@serwer

       

    • Użycie:
      • Dla zaawansowanych użytkowników.
      • Możliwość automatyzacji poprzez skrypty.

 

Podsumowanie

W tej lekcji nauczyliśmy się:

    • Czym są protokoły FTP i SFTP oraz jakie są między nimi różnice.
    • Jak skonfigurować połączenie FTP/SFTP za pomocą klienta, takiego jak FileZilla.
    • Dlaczego SFTP jest zalecanym protokołem ze względu na bezpieczeństwo.
    • Jak przesyłać pliki na serwer i zarządzać nimi.
    • Dobrych praktyk przy korzystaniu z FTP/SFTP, takich jak ustawianie praw dostępu i tworzenie kopii zapasowych.
    • Jak rozwiązywać typowe problemy związane z transferem plików.

Przesyłanie plików na serwer to kluczowa umiejętność w web developmencie. Dzięki znajomości FTP i SFTP możesz efektywnie zarządzać swoją stroną internetową, aktualizować ją i utrzymywać w dobrej kondycji.

 

Zadania do samodzielnego wykonania

    1. Skonfiguruj połączenie SFTP:

      • Pobierz i zainstaluj FileZilla lub innego klienta SFTP.
      • Uzyskaj dane dostępowe do swojego serwera.
      • Skonfiguruj połączenie i połącz się z serwerem.
    2. Prześlij pliki swojej strony na serwer:

      • Przesuń pliki z lokalnego komputera na serwer w odpowiedni katalog.
      • Upewnij się, że strona działa poprawnie po przesłaniu.
    3. Ustaw uprawnienia do plików:

      • Sprawdź uprawnienia do plików i katalogów na serwerze.
      • Ustaw odpowiednie prawa dostępu (pliki 644, katalogi 755).
    4. Skonfiguruj uwierzytelnianie za pomocą kluczy SSH (opcjonalnie):

      • Wygeneruj klucz SSH.
      • Dodaj klucz publiczny na serwerze.
      • Skonfiguruj klienta SFTP do używania klucza prywatnego.

 

Ciekawostka

Czy wiesz, że protokół FTP został po raz pierwszy zdefiniowany w 1971 roku, zanim powstał internet w dzisiejszej formie? Mimo swojego wieku, FTP nadal jest powszechnie używany, choć coraz częściej zastępowany przez bezpieczniejsze protokoły, takie jak SFTP i FTPS, które spełniają współczesne standardy bezpieczeństwa.

Testy przypięte do lekcji
Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się
Aby widzieć ocenę lekcji - Zaloguj się