Tworząc stronę WWW należy znaleźć dla niej miejsce na serwerze, a następnie dokonać uploadu plików, z których składa się witryna. Co trzeba wiedzieć, aby zrobić to szybko i sprawnie?
Współczesne serwisy internetowe mają
duże wymagania w zakresie pojemności
serwerów wirtualnych. Właściciele
firm hostingowych wychodzą temu naprzeciw,
oferując coraz większe konta. Jednak
nawet jeśli strona urosła do kilkuset megabajtów,
mogą pojawić się problemy z jej aktualizowaniem,
szczególnie gdy zawiera dużo grafiki,
plików audio czy wideo.
Istnieją dwie podstawowe metody wrzucania
na serwer nowych elementów lub podmiany
już istniejących. Obie bazują na FTP (File
Transfer Protocol – protokół transmisji plików).
Skrypty powłoki
Protokół FTP może być wykorzystywany za pośrednictwem
tak zwanych skryptów powłoki
(shell scripts). Są to pliki tekstowe przetwarzane
przez interpretator poleceń, zawarty na
przykład w przeglądarce WWW. Dzięki skryptom
można zautomatyzować wiele czynności,
które regularnie wykonuje administrator – na
przykład zakładanie kont pocztowych, wykonywanie
kopii bezpieczeństwa, eksport danych
czy właśnie aktualizowanie serwisu.
Największą zaletą skryptów powłoki jest
uproszczenie powtarzalnych czynności.
Zamiast pisać za każdym razem od nowa kod
albo wydawać polecenia w trybie tekstowym,
webmaster posługuje się przejrzystym interfejsem
graficznym, który często przypomina ten
znany z Eksploratora Windows czy Total Commandera.
Dodatkowo skrypty nie wymagają
kompilacji, jak tradycyjne aplikacje. Kod przetwarzany
jest od nowa każdorazowo po uruchomieniu
interpretacji. Pomaga to wykrywać
błędy już na etapie pisania mechanizmu.
Z tą cechą wiąże się jednak największa
wada shell scripts. Działają one dość wolno
– im bardziej są złożone, tym więcej czasu
trzeba poświęcić na ładowanie kolejnych podstron.
Nowa komenda wprowadzona do systemu
zarządzania treścią witryny za pośrednictwem
skryptu wymaga uruchomienia nowego
procesu i interpretacji od początku kolejnego
fragmentu kodu.
Warto też uzbroić się w cierpliwość podczas pierwszego uruchamiania
skryptu. Może to trwać nawet kilkadziesiąt sekund. Drugi problem to niekompatybilność –
proste aplikacje shella działają w każdym systemie
operacyjnym, te bardziej złożone – nie.
Trzeci kłopot – shell scripts wymagają prawidłowo
skonfigurowanej przeglądarki WWW,
muszą zostać wyłączone wszystkie wtyczki
blokujące ciasteczka, JavaScript itp.
Generalnie skrypty nadają się przede
wszystkim do przeprowadzania ograniczonych
aktualizacji witryn – takich, gdzie webmaster
zmienia lub dodaje kilka czy kilkanaście
plików. Przydatne są także podczas pracy
zdalnej, gdy nie ma możliwości zainstalowania
na tymczasowo wykorzystywanym komputerze
odrębnego programu do obsługi FTP.
Klient FTP
Ze względu na powyższe ograniczenia warto
dokonywać aktualizacji za pomocą samodzielnego,
skompilowanego programu zwanego
klientem FTP. Serwery FTP (zawierające jakieś
pliki, do których można uzyskać dostęp – włączając
w to serwery hostingowe) zazwyczaj
nasłuchują połączeń od klientów poprzez port
21. Podłączenie się do niego pozwala webmasterowi
na przekazywanie komend. Upload
plików odbywa się jednak po innym, wydzielonym
kanale na dwa sposoby. W trybie aktywnym
klient otwiera losowy port i przesyła
jego numer za pośrednictwem portu 21.
Komendy FTP
Nie wszystkie programy do obsługi FTP-a działają w środowisku okienkowym. Czasem trzeba posłużyć się
komendami tekstowymi. Najważniejsze z nich to:
bye, quit – wylogowanie się
cd – zmiana katalogu
close – zamknięcie połączenia
delete – usunięcie pliku
get – skopiowanie pliku z serwera na lokalny dysk twardy
help – wyświetlenie wszystkich dostępnych komend
lcd – zmiana katalogu na lokalnym dysku twardym
ls – wyświetlenie listy plików w aktualnym katalogu
mkdir – stworzenie katalogu
mget – skopiowanie wielu plików z serwera na lokalny dysk twardy
mput – skopiowanie wielu plików z lokalnego dysku twardego na serwer
open – otwarcie połączenia
put – skopiowanie pliku z lokalnego dysku twardego na serwer
pwd – wyświetlenie ścieżki dostępu do aktualnie przeglądanego podkatalogu
rmdir – usunięcie katalogu
Gdy nadchodzi odpowiedź, tworzone jest nowe połączenie
poprzez port 20. W trybie pasywnym
klient wysyła numer IP użytkownika, a serwer
przydziela mu port losowy.
Program może wyświetlić komunikat błędu
podczas próby połączenia się w trybie aktywnym,
na przykład z wykorzystaniem firewalla
czy rutera. Dlatego w razie problemów z nawiązaniem
kontaktu warto zmienić ustawienia
programu na tryb pasywny i spróbować
ponownie. Inną przyczyną braku połączenia
może być zmiana portu nasłuchującego dokonana
przez administratora. Zdarza się to jednak
bardzo rzadko – większość serwerów FTP
opiera się o kanał 21.
Błędy mogą pojawiać się także przy przesyłaniu
dużych plików przy włączonym firewallu.
Podczas tej procedury działa jedynie kanał danych
(port 20 lub losowy, zależnie od trybu).
Kanał do przesyłania komend (21) jest w tym
czasie nieaktywny. Ustawienia ściany ogniowej
mogą zakończyć sesję po dłuższym okresie
bezczynności. Wznawianie uploadu czy downloadu
w protokole FTP nie jest łatwe. Dlatego
warto przed transferem wyłączyć firewall lub
zwolnić w nim odpowiednie porty.
Kolejne ograniczenie to brak szyfrowania.
Loginy, hasła i same pliki w ramach FTP przesyłane
są otwartym tekstem. Łatwo więc włamać
się na serwer i \”podsłuchać\” realizowaną
za jego pośrednictwem aktywność. Problem
ten rozwiązują bezpieczne wersje protokołu
– konieczne jest w tym przypadku zainstalowanie
klienta obsługującego SFTP (SSH File
Transfer Protocol). Serwer musi także rozpoznawać
powyższy standard. SFTP wykorzystuje
zazwyczaj port 22 do przesyłania zaszyfrowanych
loginów i haseł. Druga opcja to protokół SCP (Secure Copy)
– starsze rozwiązanie, które umożliwia jedynie
przesyłanie samych plików.
SFTP pozwala dodatkowo usuwać zdalnie pliki, przeglądać
katalogi i wznawiać przerwane transfery
danych. Bardziej zaawansowany jest FTPS
(zwany także FTP/SSL). Tutaj serwer wykorzystuje
protokół szyfrujący SSL/TLS, podobny do
tego stosowanego w HTTPS (spotykanego na
przykład w e-bankowości). Klient FTPS musi
odebrać właściwy certyfikat. W razie jego braku
pojawi się ostrzeżenie i możliwość zakończenia
sesji.
Mimo tych wad samodzielne programy do
obsługi FTP-a nadają się bardziej do przeprowadzania
złożonych aktualizacji – na przykład
podczas publikowania nowej wersji witryny
lub uploadu dużej ilości plików graficznych,
dźwiękowych czy wideo. Interfejs klienta FTP
przypomina ten spotykany w systemie Windows.
Jedno okno zawiera katalogi na dysku
lokalnym, drugie foldery online. Stosując
metodę \”przeciągnij i upuść\” można przerzucać
pliki lub ich zbiory. Trzecie pole zawiera
kolejkę uploadu lub downloadu – zazwyczaj
z informacją, ile danych zostało jeszcze
do przesłania.
Przegląd klientów FTP
W sieci dostępnych jest wiele darmowych, łatwych
w obsłudze klientów FTP. Jeden z najpopularniejszych
to wprowadzona w 2001 roku
FileZilla (http://www.filezilla-project.org).
Stworzył ją Tim Kosse jako projekt działający
w ramach opensource\’owego serwisu Source-
Forge. FileZilla dostępna jest zarówno w wersji
Windows, jak i na systemy Linux oraz Mac OS X.
Obsługuje nie tylko standardowy protokół
FTP, ale także jego szyfrowane wersje – SFTP
i FTPS. Program potrafi wznawiać przerwane
transfery (jeśli serwer ma tę funkcję), nieźle
\”dogaduje się\” z firewallami, umożliwia także
definiowanie własnych komend. Wydano polską
wersję językową.
Drugi znany program to SmartFTP (http://www.smartftp.com). Jest bezpłatny pod warunkiem,
że nie wykorzystuje się go do celów
komercyjnych (w innym przypadku obowiązuje
30-dniowy okres testowy, potem konieczne
jest wniesienie opłaty). SmartFTP obsługuje
protokoły szyfrowane, potrafi sprawdzać
poprawność przesyłanych danych, umożliwia
połączenia między dwoma zdalnymi serwerami
(FXP), pozwala również na stworzenie listy
planowanych zadań, które realizowane są automatycznie.
Dostępny jest po polsku.
Na podobnych zasadach opiera się licencja
Staff-FTP (http://www.staff-ftp.com) –
bez ograniczeń mogą korzystać z tego programu
tylko osoby nieosiągające żadnych dochodów
ze swoich witryn. Staff-FTP pozwala
na import parametrów kont z innych pro-gramów lub plików HTML, a także pisanie
skryptów automatyzujących często wykonywane
zadania. Aplikacja ma wbudowaną
przeglądarkę WWW opartą o silnik Internet
Explorera.
Zaawansowane funkcje oferują także
programy: CuteFTP (http://www.cuteftp.com) oraz FTP Voyager (http://www.ftpvoyager.com). Niestety, są to aplikacje
komercyjne. Za darmo można pobrać wersje
trial. Oferują one wszystkie funkcje spotykane
w pełnych wersjach, ale działają jedynie
przez okres np. 30 dni. Po tym czasie
trzeba dokonać płatnej rejestracji.
Łącze internetowe
Niezależnie od sposobu przesyłania plików,
z którego korzysta webmaster, ważny jest
jeszcze jeden element znacząco wpływający
na komfort aktualizowania witryn
WWW. Chodzi o parametry łącza internetowego.
Większość dostawców usług sieciowych
reklamuje się podając zazwyczaj
maksymalną prędkość downloadu. Może to
być 1, 2 czy nawet 10 megabitów. Każdy bajt to osiem bitów. Zatem łącze dwumegabitowe
pozwoli na pobieranie plików z prędkością
256 kilobajtów na sekundę, co wystarcza
w zupełności do przeglądania stron WWW
i jednoczesnego korzystania z innych aplikacji
sieciowych (np. radia). Jednak imponującym
osiągom w kwestii downloadu bardzo często
towarzyszą marne wyniki uploadu – np. 128
kilobitów, czyli 16 kilobajtów na sekundę.
Z taką prędkością 10-megabajtowa paczka
aktualizacyjna strony WWW będzie przesyłana
na serwer ponad 10 minut. Wrzucenie nowej
wersji 300-megabajtowej witryny potrwa
pięć godzin. Jeśli administrator nie jest zadowolony
z uploadu, powinien sprawdzić jego
parametry za pomocą jednego z popularnych
testów prędkości (http://www.speedtest.pl,
http://www.numion.com) i porównać ten wynik
z deklaracjami dostawcy usług internetowych.
Jeśli wszystko będzie się zgadzać, pozostaje
tylko porozmawiać z providerem na temat
zwiększenia tempa uploadu za odpowiednią
dopłatą. Zaawansowani webmasterzy, którzy
zarządzają dużymi serwisami WWW, korzystają
co najmniej z prędkości rzędu 512 kilobitów
(64 kilobajtów) na sekundę.
Anonimowe FTP-y
Serwery FTP mogą służyć nie tylko jako miejsca przechowywania
stron WWW dostępnych online, ale także funkcjonować jako
repozytoria publicznych plików (np. multimedialnych, które nie
są już chronione prawami autorskimi). Aby uzyskać dostęp do
tych zasobów, nie jest konieczne posiadanie konta (jako nazwę
użytkownika wpisuje się zwykle „anonymous”) ani specjalnego
hasła (zamiast niego czasem podaje się e-mail).
Potrzebny jest
jedynie adres serwera. Po zalogowaniu anonimowy internauta
ma dostęp do wszystkich lub wybranych przez administratora
katalogów. Może pobierać pliki, ale nie jest w stanie ich kasować,
podmieniać czy uploadować nowych (w zależności od ustawień
wprowadzonych przez webmastera).
Obsługa klienta FTP na przykładzie programu FileZilla
FileZilla jest popularnym i darmowym klientem FTP. Program można pobrać ze strony http://www.filezillaproject.org (wybrać opcję Download FileZilla Client i odpowiedni system operacyjny). Interfejs aplikacji
składa się z 6 głównych części. Na samej górze jest pasek narzędziowy wraz z polami, w które trzeba
wpisać adres, nazwę użytkownika, hasło i port (informacje te powinien dostarczyć administrator serwera,
np. firma hostingowa). Poniżej znajduje się konsola, gdzie pojawiają się komunikaty o udanych lub nieudanych
operacjach, które wykonuje klient.
Jeszcze dalej są trzy pola do zarządzania plikami. U góry po lewej
znajduje się lista dostępnych napędów – dysków twardych czy optycznych. Po wybraniu odpowiedniego
urządzenia dostajemy dostęp do plików i folderów. Po prawej pojawiają się elementy, które są już umieszczone
online (pod warunkiem wcześniejszego podłączenia się do serwera). Stosując metodę \”przeciągnij
i upuść\” można przenosić pliki i foldery między dyskiem twardym a kontem online. Na dole okna programu
jest pole, w którym znajduje się lista plików do pobrania lub wrzucenia (kolejka).
W menu Edycja umieszczono polecenie Ustawienia.
To tam można zmienić opcje firewalla (a także włączyć
tryb pasywny), proxy czy SFTP (szyfrowanego FTP). W kategorii Ustawienia transferu pliku znajduje
się element ASCII/Binarny. To dwa główne typy przekazywania danych, używane w zależności od rodzaju
pliku. Warto zostawić tutaj Autodetekcja. Dodatkowo należy upewnić się, że nie ma włączonego ograniczenia
szybkości. Za to kompresja powinna być aktywna \”dla całego transferu\”.
W Ustawieniach interfejsu
można wybrać język czy zmienić układ pól w oknie programu. W menu Plik korzystając z polecenia
Ponów połączenie można nawiązać kontakt z ostatnio wykorzystywanym serwerem bez konieczności
ponownego wpisywania adresu, loginu i hasła.