Po co i dla kogo?

Tak jak obiecaliśmy przy poprzednim poradniku, tym razem będzie coś bardziej ambitnego. Jeśli często zajmujemy się tworzeniem, modyfikowaniem stron www (czy to php, czy zwykły html, css) z pewnością napotykamy na problemem uploadu tych poprawek i powolnego procesu edytowania. Zazwyczaj wrzucamy pliki na FTP wcześniej zapisując wszystkie poprawki na swoim dysku lub edytujemy bezpośrednio na serwerze przy użyciu jakiegoś programu z wtyczką do ftp (przykładowo).

Obydwa rozwiązania są poprawne ale na dłuższą metę dość nużące. Do tego dochodzi konieczność za każdym razem skonfigurowania połączenia, upload plików trwa itp. itd.

Jak możemy rozwiązać ten problem? Skonfigurować i zautomatyzować połączenie typu SSHFS (zwykłe SSH wiemy jak ustawić z pierwszej części tego poradnika) przez co nasze konto hostingowe będzie na stałe połączone z komputerem z którego pracujemy i widoczne tak jak zwykły, dodatkowy dysk.

Zatem przechodzimy do działania. Ten mini-poradnik podzielimy na dwie części: osobno dla komputerów z systemem Windows oraz osobno dla Linux. Na MacOS jest zapewne podobnie jak przy konfiguracji dla Linux, więc wystarczy się wzorować.

SSHFS dla Windows

Instalacja

Możemy użyć różnych programów ale z darmowych godnych polecenia najprostszy będzie Dokan, którego odpowiednią wersję znajdziemy tutaj – https://dokan-dev.net/en/category/sshfs/ . Istnieją różne wersje i metody instalacji ale paczka „dokan-sshfs-0.6.0” będzie najwłaściwsza w naszym przypadku. Oprócz tego zainstalujemy jeszcze wymagane biblioteki – https://dokan-dev.net/wp-content/uploads/DokanInstall_0.6.0.exe .

linuxpl

Konfiguracja i połączenie

Po zainstalowaniu otwieramy DokanSSHFS.exe (w niektórych wersjach Windows konieczne będzie użycie opcji Uruchom jako administrator) i rozpoczynamy konfigurację połączenia. Definiujemy: host (czyli nazwę serwera zdalnego), user (nasz login do ssh), port (najczęściej 22 aczkolwiek w linuxpl.com jest to 59184), hasło lub tożsamość/klucz oraz ścieżkę zdalną i literę dysku pod jaką ma widnieć połączenie. Jako Server Root podajemy oczywiście ścieżkę do swojego zdalnego hosta w formie /home/login/ Jak widać na screenie, mamy już połączenie, ikonka programu natomiast znajduje się w trayu.

linuxpl2

SSHFS dla Linux

Instalacja

W większości dystrybucji linuxa sshfs (jak i ssh) jest dostępne bezpośrednio po zainstalowaniu systemu aczkolwiek dla pewności warto sprawdzić (przykładowo debian/ubuntu – “apt-get install sshfs” w terminalu).

Konfiguracja i połączenie

Składnia samego polecenia do połączenia w terminalu jest prosta:

sshfs user@IPhosta:ścieżkazdalna /home/login/kataloglokalny -p numerportu

W praktyce wygląda to tak:

sshfs andrzej@hostingandrzeja.net:/home/andrzej /home/andrzej/HOSTING -p 22

Czyli pierwsza część dotyczy maszyny zdalnej, a druga lokalnej i numer portu do połączenia ssh. Na początek podajemy login konta ssh, nazwę hosta (czy IP) i jaką lokalizację ma wskazywać połączenie, na koniec określając katalog z naszego dysku który ma zostać podpięty jako dysk wirtualny przez sshfs (ważne aby miał odpowiednie prawa do zapisu i odczytu, np. 775 i owner do którego mamy dostęp), wprowadzamy hasło (można i bez hasła… o tym na końcu poradnika!).

Od teraz przechodząc do katalogu /home/andrzej/HOSTING (lub przez Menadżer plików), możemy przeglądać i edytować zawartość bezpośrednio naszego konta hostingowego. Wystarczy więc otworzyć dowolny edytor i wskazać folder/plik który chcemy edytować „w locie”. Tak samo możemy kopiować/przesuwać pliki, podglądać zawartość grafik itp.

linuxpl3

Połączenie sshfs zamykamy w ten sposób:

umount -l /home/andrzej/HOSTING

(dla Ubuntu oczywiście potrzebne będzie na początku „sudo”) oraz zabijamy proces:

killall -9 sshfs

Bonus na koniec

To praktycznie wszystko jeśli chodzi o dzisiejszy artykuł z serii “Poniedziałki z hostingiem LinuxPL.com” ale dla ambitnych i wytrwałych jeszcze na koniec mała niespodzianka.

Przygotowaliśmy dla Was prosty skrypt który pozwala na zamontowanie sshfs bez konieczności każdorazowego wpisywania hasła połączenia z serwerem (tak, możemy sobie też dodać do rc.local/autostartu) oraz także obsługujący połączenia bez hasła, na klucz szyfrujący (np. ssh-rsa) i pingujący serwer przed jego podpięciem (sprawdzamy czy jest online).

W razie problemów – komentarz poniżej, będziemy pomagać. Miłej zabawy!
Link do skryptu: https://pastebin.com/C0J5EWhh

 

Partnerem sponsorowanej akcji Poniedziałki z Hostingiem na DailyWeb jest:

banerr