Strony www Lublin na Joomla staram się na bierząco aktualizować, wykonuję kopie zapasowe i zabezpieczam RS Firewaal. Ostatnio okazało się że jedna z moich stron została zawirusowana. Nie było maila od hostingu bo nie było przeciążenia serwera, nie było informacji od google w Search Console pod którą ta strona była podpięta. Chciałem jednak dokonać kilku zmian w jej funkcjonalności, m.in zmienić szablon i postanowiłem zrobić to na localhot - za pomocą JAMPA. W trakcie rozpakowywania kopii Akeeba Backup za pomocą Kickstarta - Kaspresky skanował stronę internetową i na bieżąco usuwał zainfekowane pliki.
Strona działa - zarówno szablon jak i zaplecze - ale stwierdziliśmy że została zainfekowana. Nie mamy także nie zainfekowanej kopii zapasowej. Co zrobić w takim wypadku. Po pierwsze wszystkie działania jakie podejmiemy wykonywać będziemy na kopii oryginalnej strony www Lublin. Nie będzie jakichkolwiek działań na oryginalnym serwisie. W tym tutorialu pokaże jak zrobić to z Joomla. Może być wiele rozwiązań, może być wiele problemów innych lub podobnych. To co pokaże nie musi być działaniem profesjonalnym bo jestem freelancerem który zajmuje się tworzeniem stron a nie ich ratowaniem. Ten tutorial ro raczej tekst do pozycjonowania. Piszę go dlatego że specjaliści raczej nie chętnie podzielą się swoją wiedzą, a po drugie ciężko odróżnić w tej branży specjalistę od zwykłego ściemniacza.
1. Wykonujemy kopię zapasową zainfekowanej strony - w tym wypadku za pomocą Akeeba Backup. Następnie przywracamy kopię strony za pomocą Akeeba Kickstart - UWAGA Nie pokazuję wszystkich ekranów z przywracania strony za pomocą Akeeba Kickstart - ale jest poradnik dotyczący tego na tej stronie.
Pierwszy etap to przeskanowanie strony ZAINFEKOWANEJ i bazy przez program antywirusowy. Możemy zrobić to na własnym kompie. Jeśli mamy działającą - ale zainfekowaną kopię stronę www Puławy na Joomla instalujemy ją na JAMP - już w czasie rozpakowania strona jest skanowana a zainfekowane pliki usuwane, lub przenoszone do kwarantanny
2. W tym wypadku strona www Lublin na Joomla skanowana jest przez Kaspesky'ego. Widzimy tu listę plików usuniętych i są tu niestety pliki Joomla, pliki szablonu hathor (jeden z szablonów domyślnych) i szablonu komercyjnego.
Pliki te zostały usunięte i za chwilę przekonamy się że strona nie będzie działać. Możemy więc w tym momencie przerwać instalację tej kopii i zainstalować stronę na serwerze gdzie nie ma antywirusa, lub odinstalować antywirusa na swoim kompie na chwilę i zainstalować jeszcze raz kopię strony ale bez skanowania.
Dlaczego?
Bo odinstalujemy szablony które są zainfekowane i przeinstalujemy całą Joomla za pomocą menu Komponenty >>> Aktualizacja Joomla, lub zwyczajnie przez nadpisanie plików. Szablon komercyjny - tu musimy mieć jego instalkę lub zainstalujmy inny szablon mający taką samą strukturę modułów.
Ja w tym tutorialu nie pokaże tego bo nastawiłem się na ratowanie strony na nowej instalacji Joomla i oryginalną bazą danych
3. Instalacja trwa nadal bo zdecydowałem się ją dokończyć
4. OK na tym etapie musimy podać dane do połączenia z serwerem i utworzenia - przywrócenia bazy danych. Kto korzysta z JAMP wie że
Database server host name : localhost
User name: joomla
Password: Joomla
Database name: test2 - to jedyna dowolna wartość więc wpiszcie co chcecie bez polskich znaków
Database table name prefix: jpx7m_ Prefiks bazy danych pozostawiamy oryginalny
Dwie ostatnie wartości zapamiętajcie lub zróbcie screena i zapiszcie go
5. W kolejnym ekranie oznaczamy tę opcję: Override tmp and log paths
6. OK ostatecznie finał jest taki. Sytuacja wygląda tak samo dla szablonu jak i zaplecza. Skanowanie Kasperkym usunęło pliki zainfekowane ale także spowodowało że strona nie działa.
7. Mamy do wyboru kilka działań które możemy przeprowadzić w różnej kolejności ale tym razem zrobimy coś bardziej złożonego. Zainstalujemy na JAMP nową Joomla. Możemy to być instalacja z przykładowymi danymi lub całkiem czysta. Ja posłużę się najnowszym szablonem od Inspire Theme - Beauty. Będzie to quickstart czyli pełna instalka Joomla z szablonem na frameworku Gantry 5 - tak jak uszkodzona strona.
Proces instalacji pominę - poza kilkoma ekranami
Tu wpisujecie swoje dowolne dane
8. Ponieważ instalacji dokonujemy na JAMP poniższe dane są stałe dla wszystkich instalacji
- nazwa serwera: localhost
- Nazwa użytkownika: Joomla
- Hasło : Joomla
Nazwa bazy danych - dowolne i Przedrostek dla tabel bazy danych domyślny Joomla - Zapamiętajcie te dane lub zróbcie screena tego ekranu strony www Puławy na Joomla
9. Tu możecie wybrać dowolnie wg. swojego uznania.
10. OK zarówno nową stronę - z przykładowymi danymi jak i nową - nie działającą mamy zainstalowane na JAMP. Przeniosę teraz katalog "images" z zainfekowanej - przeskanowanej strony - do nowej strony www Lublin na Joomla.
11. Teraz przechodzimy do JAMP i zajmiemy się bazą danych. Gdybyśmy robili to na serwerze logowalibyśmy się do do dwóch różnych baz danych dlatego wcześniej pisałem o zapamiętaniu haseł do bazy danych. Tu wszystkie bazy dostępne są w jednym panelu i nie musimy się do nich logować. Zrobimy dwie rzeczy wyeksportujemy bazę danych zainfekowanej strony i zaimportujemy ją do nowej strony gdzie są już tabele ale z innym przedrostkiem dlatego łatwo je zidentyfikujemy i usuniemy - przełączając na nie najpierw nawą stronę www na joomla.
Klikam w lewym menu pozycję "phpMyAdmin"
12. Bazy danych do starej (test2) i nowej (test4) strony mam na dole phpMyAdmin. Klikam na nazwę bazy danych strony nie działającej - "test2"
13. Jesteśmy w bazie danych "test2" widzimy tu przedrostki bazy danych. Przechodzimy do zakładki "Eksport"
14. Wybieramy opcję "Szybko - wyświetlane są tylko minimalne opcje" i klikamy button "Wykonaj" żeby wyeksportować bazę danych naszej strony internetowe Lublin na Joomla.
15. Bazę danych zapisujemy na dysku naszego komputera - ponieważ w tym momencie używam JAMP wszystkie operacje wykonywane są lokalnie ale można przecież pracować na serwerze. Bazę danych przeskanowałem jeszcze raz Kasperskym.
16. Teraz przechodzimy do bazy strony www Lublin która jest czysta instalacja lub instalacją z przykładowymi danymi - w moim wypadku jest to quickstart szablonu od InspireTheme. W tym wypadku jest to baza "test4" - klikam w jej nazwę na samy dole po lewej stronie.
17. Jak widać ta baza ma inny przedrostek tabel to pozwoli nam odróżnić nam tabele starej bazy które tu zaimportujemy. Klikamy button "Importuj"
18. W zakładce "Import" phpMyAdmina zaimportujemy bazę danych starej strony. Klikamy button "Przeglądaj" żeby odnaleźć plik bazy danych na naszym komputerze. Następnie klikamy button "Wykonaj"
19. Import zakończony sukcesem
20. W bazie danych mamy teraz tabele z dwóch baz - te ze starej bazy danych zostaną, ale zanim je usuniemy musimy zmienić w zapleczu Joomla prefix bazy danych.
21. Logujemy się do zaplecza naszej strony www Lublin na Joomla i przechodzimy do zakładki System >>> Konfiguracja globalna.
Nasza baza danych to "test4" ale mamy tu zarówno tabele tej świeżej instalacji jak i strony która została zainfekowana.
22. W miejsce przedrostka nazw tabel wpisuje ten z zainfekowanej strony " jpx7m_ i klikam zielony button "Zapisz"
23. Zostajemy wylogowani - trzeba się zalogować ale już na dane z poprzedniej strony internetowe Puławy - mam nadzieję że pamiętacie hasło głównego administratora bo jeśli nie trzeba będzie je zmienić w bazie danych - a tego nie ma w tym tutorialu :)
24. Już widać że w bazie danych są informacje o komponentach których nie ma faktycznie zainstalowanych w tej Joomla
25. Zerknijmy na stronę frontową - szablon się nie wyświetla bo w starej bazie danych ustawiony był taki jak na oryginalnej stronie
26. W zapleczu przechodzimy do Rozszerzenia >>> Szablony
Ponieważ oryginalna strona działała na serwerze zanim wykonałem kopię mogłem doinstalować ten szablon które quickstart użyłem do przywrócenia strony - informacja o nim byłaby w bazie danych. Trzeba było także usunąć szablony komercyjne - Remnant bo nie ma go tu fizycznie a jest o nim informacja w bazie danych.
27. Co możemy teraz zrobić?
- Przeinstalujmy ten nowy szablon który fizycznie jest ale nie ma o nim wpisu w starej bazie
- Zainstalujmy brakujące komponenty
- Usuńmy szablon komercyjny Remnant którego nie ma na tej stronie ale jest o nim informacja w bazie danych
Żeby było optymistycznie na koniec szybko instaluję szablon "Beauty" którego quickstartu użyłem. Szablon nie chciał się zainstalować dopóki nie usunąłem fizycznie plików z katalogu templates - użyłem TotalCommandera. Potem instalacja szablonu poszła bez problemu.
Ustawiam szablon jako domyślny - ale poniżej Remnant jest ciągle przypisany do 14 stron.
28. Ponieważ szablon jest na frameworku Gantry 5 żeby go przypisać do poszczególnych pozycji menu muszę przejść do Gantry 5 Themes >>> Available Themes
29. Jak widać Gantry 5 nie widzi szablonu Remnant (także Gantry 5) z poprzedniej strony - mimo że Joomla dostaje o nim informacje z bazy danych. Klikam w avatar szablonu.
30. Teraz musimy wybrać szablon domyślny lub inny bo Base Outline ni możemy przypisać do pozycji menu.
32. Wybieram w Gantry 5 zakładkę Assigments - szablony domyślnego i przypisuje szablon do wszystkich pozycji menu.
33. Szablon działa ale nie wszystko jeszcze w porządku. Tak naprawdę w tym momencie mamy jeszcze sporo pracy z doinstalowaniem komponentów.
Każdy przypadek jest inny i sposób w jaki przywróciłem stronę do działania nie musi być idealny - ale jeśli umiesz myśleć i masz jakieś doświadczenie poradzisz sobie z doinstalowaniem komponentów lub odinstalowaniem tych które są zapisane w tabelach bazy danych a fizycznie ich nie ma. Tutorial był dość długi i na razie nie chcę wracać do tematu. Mam nadzieję że pomogłem.