Obecnie jest ponad bilion stron internetowych na świecie. Ta liczba ciągle rośnie, ponieważ coraz więcej ludzi uzyskuje dostęp do internetu, a tym samym ma możliwość zaprezentowania siebie oraz swojej firmy. Obecnie jedna trzecia stron internetowych została zbudowana w oparciu o następujące platformy: WordPress, Joomla!, Drupal oraz Magento. WordPress to dziś najpopularniejszy CMS na świecie, jego zasięg wynosi blisko 60% wśród innych systemów tego typu. Oczywiście szeroki dostęp do narzędzi do tworzenia stron poza niewątpliwymi korzyściami niesie za sobą także zagrożenia. Ta popularność oraz ilość dostępnych wtyczek ma też swoje mroczne oblicze – WordPress jest najczęściej atakowanym i infekowanym systemem. Warto zatem zadbać aby nasza strona internetowa nie była podatna na ataki. Istotną kwestią jest również zabezpieczenie się w razie ataku na stronę internetową i potencjalnego uszkodzenia. Podstawową opcją zagwarantowania sobie bezpieczeństwa jest tworzenie regularnie kopii zapasowej strony.
Co to jest kopia zapasowa?
Kopia bezpieczeństwa (backup, copy) to nic innego, jak kopia danych tworzona na wypadek utraty lub uszkodzenia oryginalnych danych. Backup może dotyczyć zarówno prywatnych danych znajdujących się na domowym komputerze, jak i zawartości serwera.
Kopią bezpieczeństwa, kopią zapasową lub backupem nazywamy kopię danych, z której możemy skorzystać, gdy potrzebujemy odtworzyć zainfekowane, uszkodzone lub skasowane dane. Przydaje się również wtedy, kiedy uszkodzimy stronę, nieumiejętnie ją edytując lub źle aktualizując wtyczkę. Pełna kopia zapasowa to coś na wzór zahibernowanej, w pełni działającej strony, która jest gotowa do „odmrożenia” w dowolnym momencie.
Jaki jest cel kopii zapasowej?
Kopia zapasowa jest duplikatem wszystkich istotnych danych, które zawiera strona internetowa lub sklep internetowy. W przypadku wystąpienia awarii systemu lub uszkodzenia taki zestaw umożliwia przywrócenia CMS-a wraz danymi aktualnymi w momencie robienia backupu. Kopia zapasowa jest również nieodzowna podczas przenoszenia strony z serwera A na serwer B.
Aktualnie praktycznie wszystkie CMS-y, w tym systemy Wordpress, Joomla! Oraz Drupal są zbudowane z dwóch kluczowych elementów: plików oraz bazy danych. Aby odtworzona strona poprawnie działała konieczne jest bezwzględne wykonanie kopii tych dwóch elementów. Pełna kopia zapasowa zawiera wszystkie foldery, pliki oraz bazę danych. Kopie zapasowe możemy robić na wiele sposobów. Niestety, ani WordPress, ani Joomla! Nie dysponują wbudowanym na stałe narzędziem do wykonywania kopii zapasowych. Na szczęście dla obu tych systemów dostępnych jest wiele zarówno darmowych, jak i płatnych wtyczek oraz komponentów umożliwiających automatyczne lub ręczne wykonywanie kopii zapasowych w dowolnym momencie. Można również sprawdzić czy firma hostingowa w której mamy wykupiony serwer oferuje usługę kopii zapasowej.
Ręczna kopia zapasowa WordPress
Umiejętność tworzenia ręcznej kopii zapasowej jest szczególnie przydatną umiejętnością, jeśli zaplecze CMS-a odmawia posłuszeństwa i nie masz możliwości skorzystania z dedykowanych wtyczek. Może też się zdarzyć sytuacja, kiedy nie można uzyskać dostępu do panelu hostingowego.
Aby utworzyć kompletną kopię witryny, trzeba uzyskać dostęp do zasobów serwera i je skopiować. Na ogół wystarczy posiadać:
- Dane niezbędne do skonfigurowania klienta FTP (nazwa serwera, numer portu, typ szyfrowania, nazwa użytkownika oraz hasło),
- Lub dane do panelu hostingowego (np. adres strony, nazwa użytkownika/domeny oraz hasło)
Jeśli nie ma możliwości zalogowania się do panelu hostingowego i wykonania kopii bezpieczeństwa z pozycji DirectAdmin lub cPanel należy ręcznie skopiować wszystkie pliki oraz eksportować bazę danych. Aby wykonać backup poprzez FTP należy skorzystać z:
- Klienta FTP (np. FileZilla)
- Jednoplikowego skryptu o nazwie Adminer (http://www.adminer.org)
Program FileZilla to jeden z najpopularniejszych programów do połączenia się z serwerem poprzez FTP. Adminer to uproszczona wersja skryptu phpMyAdmin, która umożliwia wykonywanie prostych operacji na bazie danych, w tym operacji eksportu i importu. To narzędzie jest również przydatne podczas awaryjnego tworzenia nowego użytkownika lub zmieniania hasła administratora CMS-a.
Korzystając z klienta FTP, powinno się zgrać wszystkie foldery i pliki wchodzące w skład CMS-a. Warto sprawdzić, czy wśród pobranych plików jest .htaccess oraz .php.ini. Jeśli nie, należy w programie FileZilla włączyć opcję pokazywania plików ukrytych. Pliki pobierane przez FTP nie są w żaden sposób kompresowane, a każdy z nich jest pobierany osobno. Aby wykonać zrzut bazy danych należy:
- Pobrać plik adminer-4.x.x-mysql.php
- Plik umieścić w katalogu /public_html i uruchomić, korzystając z domeny kierującej bezpośrednio do katalogu /public_html, na przykład http://mojadomena.pl/adminer-4.2.5-mysql.php
- Wpisać nazwę hosta, użytkownika i bazy danych oraz hasło. Znaleźć można je w pliku wp-config.php
- Następnie należy wybrać opcję Export w lewej kolumnie. Domyślnie wszystkie tabele powinny być zaznaczone.
- W opcji Rezultat trzeba wybrać: zapisz (aby zapisać bez kompresji) lub gzip (aby skompresować bazę danych przed zapisaniem).
- Ostatnim krokiem jest naciśnięcie Eksport i wybranie folderu docelowego.
Oczywiście na podobnej zasadzie można użyć phpMyAdmin jeśli mamy tylko do niego dostęp.
Istnieją również inne alternatywne metody wykonywania kopii zapasowych. Bardzo popularną formą jest korzystanie z zainstalowanych wtyczek. Dla WordPressa powstało kilkanaście różnych rozwiązań, których kluczową funkcjonalnością jest wykonywanie kopii zapasowych. Z sprawdzonych i niezawodnych wtyczek do tworzenia kopii zapasowych można wyróżnić:
- Akeeba Backuo dla Wordpess
- BackWPup