Przejdź do treści

Aktualizacja wtyczek i szablonów WordPress za pomocą skryptu i SSH

Aktualizacja wtyczek i szablonów WordPress za pomocą skryptu rozpakowującego zip na FTP jest jedną z najszybszych i najwygodniejszych metod na zaktualizowanie wielu wtyczek lub szablonów na raz jednym kliknięciem. Aby metoda działała, nasz hosting musi mieć dostęp do SSH (standard dla normalnych hostingów). Jeśli go nie ma, polecamy zmianę na używany przez nas dhosting. Opis będzie dla konfiguracji na Windows, można osiągnąć ten sam efekt również na innych systemach. Konfiguracja polega na jednorazowej prostej edycji 2 plików.

  1. Konfigurujemy darmowy program FileZilla koniecznie w taki sposób aby po logowaniu na FTP przechodziło automatycznie do katalogu z wtyczkami lub szablonami naszej instalacji WordPress. Jeśli mamy kilka stron warto stworzyć oddzielne logowanie dla każdej z stron w ten sposób. Jak to zrobić możesz przeczytać w tym poradniku w punkcie “Określanie domyślnego katalogu po logowaniu na FTP” . Zależnie od potrzeb tworzymy logowanie tylko wtyczek, szablonów, lub do obu rzeczy oddzielnie.
  2. Upewniamy się czy SSH na hostingu jest włączone i ma przypisany login i hasło. W razie problemów pomocna będzie obsługa techniczna naszego hostingu.
  3. Do połączenia SSH potrzebny będzie darmowy program Putty. Jest to klient który pozwala zalogować się do terminala SSH. Opis instalacji tego programu znajduje się tutaj.
  4. Potrzebny nam teraz będzie również skrypt do aktualizacji. Pobieramy go tutaj.
  • Folder z skryptem można umieścić w dowolnym miejscu na dysku.
  • Jeśli zmieniamy nazwę folderu, nie może ona mieć spacji w nazwie.
  • Wszystkie pliki które znajdują się w folderze muszą pozostać z niezmienioną nazwą w tym samym miejscu w folderze.
  • Folder z skryptem musi być osobny do aktualizowania wtyczek jak i szablonów (inna konfiguracja). Jeśli potrzebujemy go dla obu tych rzeczy dla jednej strony, tworzymy kopię folderu z skryptem w raz z zawartością. Tak samo każda kolejna strona (domena) musi mieć z tego samego powodu swój własny katalog do aktualizacji wtyczek i szablonów.

5. Otwieramy najpierw za pomocą notatnika lub innego programu tekstowego plik skrypt-unzip.sh .Interesuje nas tylko linia:

cd KATALOG-STRONY/public_html/wp-content/plugins

Polecenie to przechodzi do odpowiedniego folderu na SSH po uruchomieniu skryptu. Działa to identycznie jak w FileZilla przejście do ustawionego zdalnego katalogu logowania. Adres powinien być identyczny jak w programie FileZilla, zakładając że nasz login SSH przenosi nas po logowaniu do tego same katalogu co login FTP. Jeśli używamy głównego loginu FTP i SSH dla hostingu to będzie nas przenosić w to samo miejsce, do głównego katalogu root. Najłatwiej to sprawdzić logując się na SSH za pomocą Putty i wpisując polecenie ls . Po zatwierdzeniu powinna pokazać się lista katalogów głównych naszych stron. W przypadku FTP po zalogowaniu się powinniśmy widzieć to samo w prawym oknie programu.

W tym pliku zmieniamy jedynie “KATALOG-STRONY” na nazwę katalogu naszej strony (tam gdzie jest zainstalowana na hostingu). W przypadku naszego sklepu i konfiguracji dla wtyczek będzie to allkeystore.pl i konfiguracja będzie wyglądać tak:

Aktualizacja wtyczek i szablonów WordPress za pomocą skryptu i SSH | Sklep z dodatkami premium WP Allkeystore.pl
Konfiguracja dla aktualizacji wtyczek. W przypadku szablonów zmienia się jedynie końcówka URL z “plugins” na “themes”

Należy również sprawdzić najlepiej na FTP czy na pewno występuje katalog public_html. W przypadku części hostingów nie ma go, i publiczna zawartość strony znajduje się bezpośrednio w katalogu strony (najczęściej o nazwie domeny). Jeśli go nie ma, usuwamy z ścieżki URL jedynie “public_html” upewniając się że nie ma podwójnego “//”.

Powyższa konfiguracja jest dla aktualizacji wtyczek. W przypadku szablonów wygląda to identycznie, zmieniamy jedynie “plugins” na końcu na “themes”. Oczywiście powinno być to zrobione w osobnej kopii tego folderu do aktualizacji szablonów.

Możemy również zmodyfikować ten kod w taki sposób, żeby po rozpakowaniu wszystkich zip z nadpisaniem plików skrypt wyszedł z katalogu “plugins”, przeszedł do katalogu “themes” i ponownie wykonał operację. Kod będzie wyglądać następująco.

Aktualizacja wtyczek i szablonów WordPress za pomocą skryptu i SSH | Sklep z dodatkami premium WP Allkeystore.pl
Skrypt powyżej zaktualizuje zarówno wtyczki jak i szablony jednocześnie dla danej strony.

Należy pamiętać że w sytuacji gdzie nie mamy żadnych zip w katalogu wtyczek lub szablonów to pojawi się błąd. Nie jest to weryfikowane w tym skrypcie żeby go nie komplikować, nie należy się tym jednak przejmować w takiej sytuacji. Oczywiście można dalej rozbudowywać ten skrypt, aby aktualizował kolejno wszystkie nasze strony itp.

6. Po edytowaniu skrypt-unzip.sh i zapisaniu zmian edytujemy start.bat w notatniku. Jest to plik wykonywalny Windows, który uruchomi narzędzie PLINK dołączone do Putty które to uruchomi z kolei skrypt który przed chwilą edytowaliśmy. W tym pliku zmieniamy tylko “TWOJ-LOGIN-SSH” na nasz login SSH oraz “TWOJE-HASLO-SSH” na hasło SSH.

Należy uważać by wszystkie spacje zostały zachowane dokładnie tak jak są w oryginalnym pliku. Zapisujemy zmiany.

7. W tym momencie nasz skrypt jest gotowy. Ostatnią rzeczą jest utworzenie skrótu do pliku start.bat Skrót ten możemy dowolnie nazwać np. “AKTUALIZUJ WTYCZKI MOJASTRONA.PL” i przenieść go w dowolne miejsce, aby wygodnie było nam go uruchomić. Jeśli mamy kilka stron i tworzymy kilka skrótów, warto przenieść je wszystkie do jednego folderu by wygodnie z tego korzystać.

8. Jeśli nie przenieśliśmy jeszcze plików zip z wtyczkami lub szablonami do aktualizacji, przenosimy je teraz. Opis jak to zrobić jest tutaj .

WAŻNE RÓŻNICE I ZMIANY WZGLĘDEM OPISU WYŻEJ:

  • Opis ten jest o aktualizacji wtyczek i szablonów przez FTP, a my chcemy przenieść tylko pliki zip w odpowiednie miejsca. Nie przenosimy rozpakowanych katalogów z wtyczkami lub szablonami do katalogów “plugins” i “themes” na FTP tak jak opisano w tym artykule, a spakowane archiwa zip z wtyczkami i szablonami od nas, dokładnie w ten sam sposób.
  • Musimy upewnić się czy na pewno kopiujemy pliki zip wtyczek i szablonów które nadają się do instalacji. Czasem deweloperzy pakują wtyczki i szablony razem z dokumentacją, demo itp. a wtyczka czy szablon jest tylko jednym z plików zip. Jeśli rozpakujemy coś takiego na FTP to aktualizacja nie powiedzie się i będziemy musieli ręcznie skasować wszystkie błędnie rozpakowane pliki. Nie ma tego problemu jeśli aktualizujemy wtyczki i szablony pobrane od nas. Jeśli wtyczka lub szablon od nas jest z czymś spakowany razem, zawsze taki plik ma w nazwie “RozpakujMnie” (ang. UnzipMe). Należy wtedy koniecznie go rozpakować, i przenieść właściwe pliki zip wtyczek i szablonów. Najlepiej jest kliknąć w nie i sprawdzić zawartość. Jeśli w archiwum zip znajduje się tylko jeden katalog o nazwie wtyczki / szablonu lub podobnej, jest to plik zip do aktualizacji / instalacji. Jak nie jesteśmy pewni, można spróbować zainstalować ten plik przez panel WP. Jeśli pojawi się błąd “Nie znaleziono odpowiednio przygotowanych wtyczek (lub szablonów)” to znaczy że nie jest to właściwy plik. Można znajdować się tam również katalog “__MACOS” dla systemów Mac OS, ale nasz skrypt kasuje go automatycznie.

9. Skrypt uruchamiamy klikając na skrót. Pojawi się czarne okno konsoli na którym będą wykonywane polecenia, po czym okno zniknie i zostanie otwarty automatycznie plik tekstowy log.txt do którego zostały przeniesione z konsoli ostrzeżenia i błędy. Jeśli wszystko się powiodło, powinien być widoczny komunikat “X archives were successfully processed”

10. Sprawdzamy w panelu admina WP czy wtyczki / szablony zmieniły wersje.

Jeśli mamy kilka stron, możemy też stworzyć plik .bat który uruchomi wszystkie nasze pliki bat na raz. Dzięki temu możemy zaktualizować wszystkie wtyczki i szablony na wielu stronach jednym kliknięciem.

KOŃCOWA PORADA:

Przy przenoszeniu plików zip przeciągając je do FileZilla należy uważać by nie przenieść tych plików zip do katalogu zainstalowanej jakiejś wtyczki i szablonu. Najlepiej rozwiązać ten problem tworząc np. 3 pliki o nazwie ‘aaa’, ‘bbb’, ‘ccc’ bez żadnego rozszerzenia, i przenieść je do katalogu wtyczek lub szablonów naszej strony. Wtedy na sortowaniu po nazwie w FileZilla klikamy na “Filename” i nasze 3 pliki będą zawsze na górze przy sortowaniu. Przeciągamy nasze pliki zip na te właśnie 3 pliki. Wtedy zawsze zostaną przeniesione prawidłowo do katalogu głównego plików i szablonów.

Aktualizacja wtyczek i szablonów WordPress za pomocą skryptu i SSH | Sklep z dodatkami premium WP Allkeystore.pl
Pliki ułatwiające przenoszenie plików zip

Sprawdź ofertę 1500+ wtyczek i szablonów Premium WordPress!