UWAGA: Strona zawiera materiały archiwalne. Większość artykułów dotyczy Joomla! 1.0
Start arrow Instalacje arrow JoomlaPack: więcej niż kopia zapasowa
JoomlaPack: więcej niż kopia zapasowa Drukuj Email
Redaktor: Stefan Wajda   
12.08.2008.

JoomlaPack spakuje Twoją witrynę do jednego pliku, który możesz wykorzystać do odtworzenia witryny w przypadku awarii albo jako pakietu instalacyjnego albo też… Zapewne już masz swój pomysł!

Czym jest JoomlaPack?

JoomlaPack, komponent autorstwa Nicholasa K. Dionysopoulosa [www.joomlapack.net], tworzy pełną kopię zapasową witryny – wszystkich plików i bazy danych. Ale to nie wszystko JoomlaPack umieszcza w archiwum zmodyfikowane wersje instalatora Joomla! A taki pakiet może posłużyć do instalacji Joomla! gdziekolwiek, na dowolnym serwerze, jak każdego innego pakietu instalacyjnego.

Użyteczność JoomlaPack

JoomlaPack może posłużyć do:

  • sporządzania pełnych kopii zapasowych witryny,
  • sporządzania kopii bazy danych,
  • przeniesienia witryny z serwera na serwer,
  • przeniesienia witryny z komputera domowego na serwer i odwrotnie,
  • tworzenia autorskich dystrybucji Joomla!.
  • do odtworzenia witryny w przypadku awarii,

  • do odtworzenia kopii witryny na komputerze lokalnym (z oprogramowaniem serwerowym)
  • zainstalowania na serwerze witryny przygotowanej lokalnie,
  • instalacji u klientów przygotowanego lokalnie szablonu witryn

Użyteczność JoomlaPack podnosi niewątpliwie fakt, że autor zastosował w nim neutralną wersję MySQL, dzięki czemu kopię bazy stworzonej na serwerze z MySQL5 można odtworzyć na serwerze ze starszą wersją MySQL (poniżej 4.1). Już choćby dlatego komponent może zainteresować osoby, które mają problemy z dokonaniem zrzutu bazy danych w odpowiednim kodowaniu.

JoomlaPack może Ci zaoszczędzić wiele godzin pracy. A przy tym to bezcenne narzędzie nic nie kosztuje. Zostało wydane na licencji GNU GPL v. 2.0. Za podobne rozwiązanie - JoomlaCloner oferowany na www.joomlaplug.com trzeba zapłacić od 49,95 € do 99,95 € (za 1-3 lata wsparcia i aktualizacje).

Autor podkreśla, że JoomlaPack nie jest próbą wynalezienia koła. Są inne komponenty dla Joomla! o podobnej użyteczności. Można również napisać własny skrypt cron, korzystając ze standardowych programów użytkowych, takich jak tarmysqldump. Stworzył JoomlaPack, ponieważ wymienione programy nie czynią wszystkiego albo wymagają zbyt dużo czasu na przygotowania.

Instalacja komponentu

Najnowsze wersje komponentu dla Joomla 1.0 i Joomla 1.5 oraz jego dokumentacja są dostępne na oficjalnej stronie projektu – www.joomlapack.net. Polską wersję znaleźć można w składnicy plików [Polskiego Centrum Joomla!]. Wersja dla Joomla 1.0 może działać w Joomla 1.5 w trybie zgodności wstecznej, ale lepiej w takim przypadku pobrać wydanie przeznaczone dla Joomla 1.5.

Wymagania

Oprócz Joomla! 1.0.x począwszy od wydania 1.0.11 albo Joomla 1.5. JoomlaPack wymaga na serwerze:

  • PHP od 4.3.9 wzwyż; zalecane od 5.2.1 w górę,
  • zmienna PHP memory_limit ustawiona co najmniej na poziomie 8Mb,
  • udostępniona funkcja opendir lub glob (zalecane opendir)
  • raczej wyłączony tryb bezpieczny (safe_mode=Off, ale przy włączonym też nie powinno być problemów).

  • wolne miejsce na serwerze w granicach 70-80% rozmiaru zajmowanego przez witrynę.

Komponent nie został wystarczająco przetestowany z modułami rozszerzającymi PHP, jak np. mod_suhosin.

Natomiast komputer-klient wymaga przeglądarki Internet Explorer 6+ albo Firefox 1.5+ z włączoną obsługą javascript i wyłączonym blokowaniem przez programy ochronne obiektów xmlHttpObject. Program może działać poprawnie także z innymi przeglądarkami obsługującymi AJAX. Wiadomo z testów, że w przeglądarkach KHTML - Konqueror i Safari – pojawiają się błędy w przetwarzaniu javascript. Innych przeglądarek nie testowano, ale spróbować – oczywiście – można.

Instalacja JoomlaPack przebiega podobnie, jak innych rozszerzeń Joomla! W skrócie jej przebieg jest następujący:

  1. Zaloguj się do panelu administracyjnego.
  2. Wybierz z menu opcję Instalatory=>Komponenty.
  3. Kliknij przycisk Przeglądaj.
  4. Wskaż na dysku lokalnym archiwum zawierające źródła komponentu
  5. Kliknij przycisk Wczytaj i zainstaluj.

Korzystanie z komponentu

Ze zrozumiałych względów (bezpieczeństwo!) prawa korzystania z komponentu zostały ograniczone tylko do grupy głównych administratorów.

Strona startowa (panel kontrolny)

Po wybraniu z menu administracyjnego pozycji Komponenty => JoomlaPack wyświetla się strona gówna komponentu - panel kontrolny z ikonami skrótów do wszystkich funkcji oraz dwoma kartami: Przegląd [Overview] oraz Szczegóły [Details].

Na pierwszej wyświetlany jest komunikat o stanie komponentu – gotowości do sporządzania kopii zapasowej, na drugiej informacje o aktualnych prawach dostępu do dwóch katalogów, wykorzystywanych przez JoomlaPack. Oba powinny być udostępnione do zapisu:

Odnośnik Więcej informacji na pierwszej z kart zaprowadzi Cię do działu dokumentacji na stronie projektu. Nieprzetłumaczone słowo Current przy pytaniu o nową wersję na drugiej karcie informuje, że zainstalowana jest najaktualniejsza.

Dziewięć ikon skrótów po lewej stronie panelu kontrolnego udostępnia funkcje komponentu:

  • Ustawienia [Options]: otwiera edytor konfiguracji komponentu
  • Wyłączone katalogi [Exclude Directories]: otwiera listę katalogów witryny, umożliwia sprecyzowanie, które katalogi pominąć w archiwizacji.
  • Wyłączone pliki [Single File Exclusion]: otwiera menedżera listy plików, które nie zostaną umieszczone w kopii.
  • Wyłączone tabele bazy danych [Exclude DB Tables]: otwiera stronę z listą wszystkich tabel bazy danych, umożliwia wyłączenie z kopii wybranych tabel, w tym wyłączenie wszystkich tabel obsługujących inne aplikacje.
  • Kopia z wielu baz danych [Multiple DB backup]: umożliwia skonfigurowanie innych baz danych, w których znajdują się tabele obsługujące witrynę lub powiązane z nią aplikacje.
  • Archiwizuj [Backup Now]: przenosi do okna, w którym tworzymy kopie zapasowe.
  • Kopie [Administer Backup Files]: umożliwia zarządzanie plikami archiwów.
  • Dziennik zdarzeń [View Log]: umożliwia przegląd raportów z przebiegu operacji.
  • Wyczyść i usuń blokady [Cleanup and Reset Locks]: czyści katalog tymczasowy i usuwa blokadę bazy danych. Opcja przewidziana na wypadek nieudanego sporządzania automatycznej kopii zapasowej.

Przygotowanie - konfiguracja

Wykonanie kopii zapasowej rozpoczynamy od skonfigurowania komponentu. Kliknij w panelu kontrolnym ikonę Ustawienia, by przejść do edytora konfiguracji. Sprawdź na górze strony, czy plik konfiguracyjny – jpack.config.xml – jest zapisywalny. Jeśli nie, zmień prawa dostępu do katalogu lub tylko do pliku, jeśli istnieje, na 0766. Plik konfiguracyjny w głównym katalogu komponentu /administrator/component/com_joomlapack/ tworzony jest dopiero przy pierwszym wywołaniu polecenia Zapisz na stronie Ustawienia.

Opcje konfiguracji znajdują się na czterech kartach: Ogólne, Rozszerzone, Zdalnie oraz Magiczne liczby.

Opcje ogólne

Na karcie Ogólne określasz ścieżki do potrzebnych katalogów, schemat nazwy pliku kopii zapasowej oraz zakres informacji w dzienniku komponentu.

  • Katalog wynikowy [Output Directory]: katalog, w którym będą składane pliki kopii zapasowych. Domyślnie jest to podkatalog w katalogu instalacyjnym JoomlaPack, nazwany /administrator/components/com_jpack/temp (ścieżka względna od głównego katalogu Joomla) Zwróć uwagę, że musisz podać ścieżkę bezwzględną. Jeśli Twoja witryna jest w katalogu /var/www/html/joomla, to musisz wprowadzić ścieżkę /var/www/html/joomla/administrator/components/com_jpack/temp
  • Katalog tymczasowy [Temporary Directory]: katalog, w którym będą składane pliki tymczasowe, tworzone po uruchomieniu funkcji komponentu. Standardowo jest to ten sam, co wymieniony wcześniej katalog /administrator/components/com_jpack/temp (ścieżka względna). Także i w tym przypadku podając własną ścieżkę, trzeba wpisać ścieżkę bezwzględną. W obu przypadkach zalecana jest zmiana domyślnego katalogu na jakikolwiek inny.
  • Schemat nazwy archiwum [Archive Name Template]: wzór określający treść elementów składających się na nazwę plików kopii zapasowych. Nazwa może zawierać własne elementy oraz dowolne z poniższych markerów:
    • [DATE] – umieszcza w nazwie datę stworzenia pliku zapisywaną w formacie YYYYMMDD, np. 20070127 dla 27 stycznia 2007.
    • [TIME] – umieszcza w nazwie pliku czas utworzenia zapisywany w formacie HHMMSS, np. 231753 dla godziny 23:17:53.
    • [HOST] – umieszcza w nazwie pliku nazwę serwera, np. localhost
  • Dziennik zdarzeń [Log Level]– decyduje o zakresie informacji, jakie zostaną umieszczone w raporcie z przebiegu archiwizacji. Wybieramy jedną z opcji:
    • Tylko błędy [Errors only]: raport zawierać będzie tylko informacje o błędach krytycznych, powodujących niepowodzenie
    • Błędy i uwagi [Errors and Warnings] raport zawierać będzie informacje o błędach krytycznych oraz ostrzeżenia, informujące. które pliki i katalogi, ze względu na brak dostępu, nie zostały włączone do archiwum (opcja najbardziej zalecana)
    • Wszystkie informacje [All Information]: raport będzie zawierać wszystkie informacje o przebiegu archiwizacji, krok za krokiem.
    • Wszystkie informacje i diagnostyka [All Information and Debug]: raport będzie zawierać wszystkie informacje o przebiegu archiwizacji, krok za krokiem, a ponadto informację diagnostyczną, przydatną w przypadku błędów (można ją np. przesłać autorom komponentu z prośbą o pomoc)
    • Brak [None]: nie zalecana.
Opcje rozszerzone

W grupie ustawień Rozszerzone decydujesz o sposobie i właściwościach kopii zapasowej. Znajduje się tutaj 7 zaawansowanych opcji.

  • Tryb zgodności SQL ,
  • Algorytm tworzenia listy plików
  • Algorytm tworzenia kopii bazy danych
  • Algorytm pakowania plików
  • Format archiwum
  • Instalator w archiwum
  • Metoda wykonania kopii zapasowej
  • Tryb zgodności SQL

    Pierwsza opcja umożliwia określenie formatu kopii bazy danych w przypadku serwerów obsługiwanych przez MySQL w nowszej wersji (od 4.1 wzwyż). Na serwerach ze starszą wersją MySQL ta opcja zostanie zignorowana. Dysponujemy dwiema opcjami:

    • Zgodność domyślna [Default compatibility]: JoomlaPack nie będzie dokonywać żadnego korygowania zrzutu - wykona kopię bazy danych w tej samej wersji MySQL, w jakiej istnieje na serwerze. A więc, jeśli korzystasz z MySQL 5.0 czy późniejszych, kopia również zostanie wykonana w formacie MySQL 5.0 lub późniejszym. Wybierz tę opcję, gdy zamierzasz odtwarzać bazę danych na tym samym serwerze. Jeśli zechcesz odtworzyć bazę na serwerze ze starszą wersją MySQL, nie będzie to możliwe.
    • Wymuszona zgodność z MySQL 4 [Force MySQL 4 compatible] Ustawienie alternatywne, bezpieczniejsze – JoomlaPack stworzy kopię bazy danych zgodną z formatem stosowanym w starszych wersjach MySQL, do 4.0 włącznie. W zapytaniach nie zostana umieszczane dodatkowe informacje o tabelach (zestaw znaków, typ silnika MySQL, itd.), dzięki czemu odtwarzanie bazy na serwerach z wcześniejszą wersją MySQL nie powinno powodować problemów.
    Trzy tryby pracy do wyboru

    Trzy kolejne opcje umożliwiają wybór optymalnej procedury sporządzania kopii. Możemy ustalić wybrane algorytmy dla każdego z trzech głównych działań:

    • tworzenia listy plików [File List Creation Algorithm],
    • tworzenia kopii bazy danych [Database Backup Algorithm],
    • pakowania plików [File Packing Algorithm].

    W każdym z ustawień mamy do wyboru trzy algorytmy postępowania programu:

    • szybki - jeden krok [single]
    • sprytny [smart]
    • wolny – etapami [multi].

    Szybko – w jednym kroku [single]: JoomlaPack spróbuje wykonać wszystkie działania w jednym kroku. Ta opcja jest niezawodna jedynie w przypadku niewielkich witryn. Gdy ilość plików obsługujących witrynę jest duża (ok. 100 MB) lub gdy ograniczony jest czas wykonywania skryptów (ustawienie PHP max_execution_time mniejsze niż 10 sekund), wybór tej opcji spowoduje przekroczenie czasu oczekiwania (‘timeout’]), proces nie powiedzie się.

    Powoli – etapami [multi]: JoomlaPack będzie wykonywać każde z zadań powoli, etapami, dzieląc je na małe kroki. Na przykład tworząc listę plików, będzie je dzielić w katalogach na porcje nie większe niż po 100 albo nie więcej niż 1 MB danych. Tworząc kopię bazy danych, będzie zrzucać maksymalnie po 100 rekordów z kolejnych tabel. W rezultacie operacja tworzenia kopii trwa długo, ale powinna zakończyć się pomyślnie. Przekroczenie czasu oczekiwania raczej nie powinno się zdarzyć.

    Sprytnie [smart]: To opcja domyślna, dodana w stabilnym wydaniu JoomlaPack, jest kompromisem między algorytmem „szybkim” i „wolnym”. JoomlaPack najpierw próbuje wykonać zadanie w jednym kroku. Gdy jednak zbliży się do granicy czasu oczekiwania narzuconego przez ustawienie max_execution_time, przełączy się w tryb wykonywania kopii etapami, korzystając z technologii Ajax. Po wykonaniu kolejnej części zadania, może ponownie przełączyć się w tryb „jednym krokiem”. Ot, inteligentna bestia!

    Format archiwum

    W najnowszej wersji komponent oferuje „do wyboru” dwa typy archiwum:

    • popularny i powszechnie stosowany - ZIP
    • własny format JPA (Archiwum JoomlaPack),

    Format JPA wymaga zastosowania do wyodrębnienia plików z archiwum skryptu dołączonego do rozszerzonego wydania komponentu - "Kickstart.php.

    Instalator w archiwum

    Stworzone przez komponent archiwa są w pełni funkcjonalnymi pakietami instalacyjnymi. Możemy tutaj zdecydować, który z trzech możliwych instalatorów zostanie włączony do pakietu:

    • Instalator JoomlaPack 2.0 [JoomlaPack Installer 2.0 (compatible with Joomla 1.0.x and 1.5.x)]: nowy, napisany przez projektanta od podstaw, instalator kompatybilny zarówno z Joomla! 1.0.x jak i z 1.5.x. Umożliwia odtwarzenie w podobny sposób Joomla 1.0 i Joomla 1.5 nawet w przypadku dużych baz danych - z zachowaniem oryginalnych ustawień konfiguracyjnych.
    • Instalator JoomlaPack 1.0 [JoomlaPack Installer 1.0 derived from standard Joomla installer]: opracowany na podstawie instalatora Joomla! 1.0.11 instalatora, ale zachowujący ustawienia konfiguracyjne archiwizowanej witryny. Służy tylko do odtwarzania z archiwum Joomla 1.0. W odtwarzaniu witryny korzysta z technologii AJAX, przywraca witrynę metodą małych kroków – etapami, mniejsze fragmenty.
    • zmodyfikowany instalator Joomla! 1.0.11. [Joomla 1.0.11 modified installer]: nieznacznie zmodyfikowany instalator Joomla! 1.0.11, zachowujący ustawienia konfiguracyjne archiwizowanej witryny. Przeznaczony dla witryn z niewielką bazą danych (1-2 MB), w przypadku większych baz danych odtwarzanie może się skończyć niepowodzeniem.
    Metoda wykonania kopii zapasowej
    • AJAX (bez przeładowywania strony): To jest oryginalna metoda, wykorzystująca AJAX. Bardzo szybka, ale wymaga włączonej obsługi javascript, kompatybilnej przeglądarki (najnowsze wersje) oraz nieblokowania obiektów xmlHttpObject przez programy ochronne (ściany ogniowe, antywirusowe, itp.). Ta metoda będzie działać w 90% przypadków.
    • Javascript (przeładowywanie): po każdym kolejnym kroku kod javascript powoduje przeadresowanie, a zatem i odświeżenie strony. Ta opcja umożliwia skorzystanie z komponentu w przypadku przeglądarek i nieobsługujących AJAX i oprogramowania blokującego funkcje AJAX.
    Archiwizacja zdalna

    Opcje na karcie Zdalnie konfigurują możliwość sporządzania kopii zapasowej bez logowania się na zapleczu. Jest to nie tyle - jak można by przypuszczać – sposób na wykonywanie kopii zapasowej z poziomu strony frontowej, ale narzędzie wykonywania systematycznych kopii za pomocą programów typu cron czy wget.

    • Włącz zdalną archiwizację [Enable front end backup]: jeśli pole zostanie zaznaczone, możliwe będzie sporządzenie kopii zapasowej przez wywołanie w przeglądarce internetowej lub za pomocą ze strony frontowej, jeśli pole wyboru zostanie zaznaczone.
    • Sekretne słowo [Secret word] jest "hasłem” kontrolującym dostęp do funkcji archiwizowania z poziomu strony frontowej. Żądający procesu musi podać hasło, aby wykonać kopię zapasową.

    Ważne! Kiedy wywoływany jest skrypt, "tajne słowo” jest transmitowane jako zwykły, łatwy do podsłuchania tekst. Dlatego nie jest wskazane, by stosować tutaj słowa, używanego jako hasła administratora czy w innych przypadkach.

    Oczywiście, zdalną archiwizację można wywołać za pomocą przeglądarki internetowej, wpisując poniższy adres (oczywiście z odpowiednią domeną i hasłem):

    http://domena.com/index2.php?option=com_joomlapack&act=fullbackup&key=sekretne_slowo&no_html=1
    Magiczne liczby

    Zestaw opcji na karcie Magiczne liczby umożliwia bardziej doświadczonym administratorom optymalizację procesu archiwizowania witryny. Można tu ustalić:

    • maksymalną ilość rekordów bazy danych zrzucanych w jednym kroku: domyślnie 100
    • maksymalny rozmiar pojedynczego fragmentu z plikami w bajtach: domyślnie 1048756 (1MB)
    • maksymalna ilość plików w jednym fragmencie: domyślnie 50
    • niestosowanie w archiwum funkcji file_get_contents: domyślnie niezaznaczone (funkcja wykorzystywana do odczytywania zawartości pliku),
    • rozmiar, poniżej którego pliki nie będą kompresowane (w bajtach): domyślnie 1024768
    • maksymalny rozmiar fragmentu do scalania w pliku archiwum: domyślnie 1024768

    Zwolennicy eksperymentowania, operujący na dobrych nowoczesnych maszynach mogą przetestować inne ustawienia niż standardowe. Dla użytkowników korzystających ze słabszych maszyn możliwość zmniejszenia ustawień domyślnych zwiększa szansę na pomyślny przebieg archiwizacji. Warto spróbować, gdy przy ustawieniach domyślnych pojawiają się błędy.

    Wyłącz katalogi, pliki, tabele

    Początkowo komponent umożliwiał jedynie na wyłączanie z archiwum wskazanych katalogów. Ukończone wersje stabilne dostarczają pełnego spektrum opcji – można wykluczyć całe katalogi, wybrane pliki oraz wybrane tabele bazy danych.

    Załóżmy, że masz folder dokumentów do pobrania wielkością 10Gb. Zapewne nie będziesz sporządzać za każdym razem jego kopii zapasowej. Gdy Twój serwer Apache zapisuje dla celów analitycznych dzienniki zdarzeń w poszczególnych katalogach (jak na serwerze, z którego korzystam), ich archiwizowanie również mijałoby się z celem. Prawdopodobnie masz również inne skrypty, które zechcesz wyłączyć z kopii zapasowej. Możesz wreszcie wyłączyć z archiwizowania dowolne tabele bazy danych, zwłaszcza tabele obsługujące inne aplikacje czy inne witryny, a także np. kopie dawniejszych tabel.

    Wyłączenie wybranych katalogów, plików czy tabel bazy danych nie sprawi nikomu problemu. Najpierw odnośnikiem w panelu kontrolnym przywołujemy odpowiednią stronę.

    Wyłączenie katalogów

    W panelu kontrolnym wybierz opcję Wyłączone katalogi [Exclude Directories from Backup]. Zobaczysz stronę z listą katalogów:

    Możesz wyłączyć w całości każdy z katalogów albo też wyłączyć wybrane podkatalogi. Zwróć uwagę, że nazwy katalogów są łączami, co sygnalizuje odmienny kolor (zielony). Zaznaczenie pola wyboru obok nazwy katalogu wyłącza go z archiwum w całości (rekurencyjnie, wraz ze wszystkimi podkatalogami). Jeśli natomiast naciśniesz aktywną nazwę katalogu, to na kolejnym ekranie możliwe będzie wybranie podkatalogów, które chcesz wyłączyć z archiwum. Proste i efektywne. Aby usunąć filtr wyłączający katalog, trzeba po prostu ponownie nacisnąć pole wyboru.

    Wyłączanie plików

    W panelu kontrolnym wybierz opcję Wyłączone pliki [Single File Exclusion]. Po lewej stronie wywołanego ekranu znajduje się lista katalogów. Ich nazwy są aktywnymi odnośnikami, przywołującymi strony z listą podkatalogów i plików. Możemy przemieszczać się po całym drzewie katalogów i plików witryny. Aby wyłączyć jakiś plik z archiwizowani, zaznaczamy pole wyboru przy jego nazwie. Aby usunąć filtr, klikamy ponownie.

    Ważne: Zalecane jest, aby z kopii zapasowej wyłączyć foldery systemowe, takie jak foldery dzienników czy foldery statystyk serwera. W przeciwnym przypadku archiwizacja może się skończyć niepowodzeniem.

    Wyłączanie tabel bazy danych

    W panelu kontrolnym wybierz opcję Wyłączone tabele bazy danych [Exclude DB Tables].

    Podobnie jak w poprzednich dwu przypadkach, filtrem wyłączającym tabelę z archiwizacji jest zaznaczenie pola wyboru przy nazwie tabeli. Zadania na tej stronie ułatwiają dwa odnośniki umieszczone tuż nad listą tabel:

    • Wyczyść filtry wyłączające [Reset exclusion filters]: usuwa wszystkie filtry
    • Wyłącz tabele spoza Joomla [Exclude non-Joomla tables]: filtruje (wyłącza) tabele nieobsługujące archiwizowanej witryny Joomla!, a więc oznaczone innym przedrostkiem.

    Uwaga: Może się wszakże zdarzyć, że innym przedrostkiem oznaczone są tabele obsługujące aplikacje zintegrowane z archiwizowaną witryna (np. Wikimedia dla Joomla! czy fora SMF albo vBulletin).

    Z wielu baz danych

    W stabilnym wydaniu komponentu projektant przewidział także i sytuację niecodzienną – możliwość przechowywania danych w więcej niż jednej bazie danych, co może mieć miejsce w przypadku integracji Joomla! z innymi aplikacjami – własnymi skryptami, skryptami forów dyskusyjnych, CRM czy innych. W takim przypadku archiwizacja nieuwzględniająca tych danych byłaby niepełna. Rozwiązaniem jest udostępniana przez JoomlaPack możliwość sporządzenia kopii danych z wielu baz MySQL (i ich przywracania). Jedyne, co trzeba zrobić, to skonfigurować połączenie komponentu z tymi bazami danych.

    Uwaga: Sporządzenie kopii z wielu baz danych oraz odtworzenie tych baz z kopii obsługiwane jest jedynie przez Instalator JoomlaPack 2.0. Jeśli więc w opcjach rozszerzonych wybierzesz inny instalator (1.0 albo zmodyfikowany 1.0.11), skorzystanie z tej funkcji nie będzie możliwe.

    W panelu kontrolnym naciskamy odnośnik Kopia z wielu baz danych [Multiple DB backup], a następnie polecenie Utwórz [New] w przyborniku w prawym górnym rogu ekranu. W edytorze konfiguracji połączenia podajemy:

    • adres serwera bazy danych [Database Server Hostname]
    • numer portu serwera bazy danych [Database Server Port]
    • nazwę użytkownika bazy danych [Database Server User Name]
    • hasło użytkownika bazy danych [Database Server Password]
    • nazwę bazy danych [Database Name].

    Poprawność konfiguracji można sprawdzić za pomocą przycisku Test połączenia [Test connection]. O wyniku testu zostaniemy poinformowani stosownym komunikatem (angielski komunikat o niepowodzeniu: Connection was not successful; please check your settings - Połączenie nie powiodło się; sprawdź swoje ustawienia).

    Tworzenie kopii zapasowej

    O gotowości komponentu do sporządzania kopii zapasowej informuje komunikat po prawej stronie panelu kontrolnego. Jeśli wyświetla się komunikat informujący o znalezionych błędach, trzeba powrócić do edytora konfiguracji i bacznie przyjrzeć się podanym ścieżkom dostępu do katalogu wynikowego i katalogu tymczasowego i w razie potrzeby poprawić je. Gdy są poprawne, przyczyn braku gotowości można upatrywać albo w nieodpowiednich prawach dostępu do tych katalogów, albo w zbyt małej ilości wolnego miejsca na serwerze, albo w nieodpowiednich ustawieniach serwera.

    Aby wykonać kopię zapasową:

    1. Na stronie startowej komponentu lub w jego w menu kliknij odnośnik Stwórz kopie.
    2. W oknie kreatora kliknij jeden z przycisków:

      • Kopia witryny [Backup Your Site].
      • Kopia bazy danych [Backup Your Database].

    Proces tworzenia kopii zapasowej może potrwać kilka – kilkanaście minut, co zależy od ilości dodatkowych składników zainstalowanych w Joomla! oraz ilości danych.

    Wszystkie foldery i skrypty w katalogu Joomla! oraz wszystkie pliki z danymi zostaną zarchiwizowane, a następnie skompresowane. O przebiegu procedury informować Cię będzie pasek postępu oraz komunikaty informujące o wykonywaniu kolejnych zadań – sporządzaniu listy plików, archiwizowaniu kolejnych katalogów i plików, archiwizowaniu bazy danych i na koniec.

    Uwaga: Podczas procesu archiwizacji w katalogu tymczasowym zostanie stworzony plik tymczasowy. Pod paskiem postępu zobaczysz prośbę - zalecenie
    Do pojawienia się komunikatu o zakończeniu procesu NIE KORZYSTAJ z przeglądarki.

    Przebieg operacji

    Rozmaitość konfiguracji serwerów, na których działa Joomla!, może być źródłem różnych nieprzewidzianych problemów w pracy JoomlaPack. Stąd ważne jest, by rozumieć, jak JoomlaPack działa.

    Każda procedura składa się z czterech operacji (nazwanych domenami), następujących po sobie. Na każdą operację składa się kilka kroków. Operacjami tymi są:

    Tworzenie listy plików. Najpierw JoomlaPack sporządza listę plików, aby ustalić, co powinno być włączone do archiwum. W pierwszej kolejności dokonuje przeglądu głównego katalogu i tworzy listę umieszczonych w nim plików. Następnie przegląda kolejne katalogi i dodaje je do listy. Proces ten kontynuuje dopóty, dopóki nie przejrzy wszystkich katalogów. Każdorazowo, gdy przegląda katalog, dodaje kolejny fragment kierując się albo rozmiarem – każdy po 1 MB, albo ilością – maksymalnie 100 plików (chyba, że zmienimy ustawienia domyślne).

    Przygotowanie instalatora. Pliki instalatora są wyodrębniane do katalogu tymczasowego i dodawane do nowego fragmentu listy plików. Ta operacja jest wykonywana w jednym kroku.

    Kopiowanie bazy danych. Baza danych jest zrzucana do plików SQL. Każdy krok obejmuje domyślnie zrzut 100 rekordów z jednej tabeli. Pliki SQL są dodawane fragmentami do listy plików do zakończenia operacji.

    Tworzenie archiwum. Pliki umieszczone na liście plików dodawane są do archiwum. Każdy krok składa się z dodania do archiwum pojedynczego fragmentu.

    Na koniec JoomlaPack usuwa stworzone pliki tymczasowe i tymczasowe wpisy do bazy danych.

    Zarządzanie plikami archiwów

    Po stworzeniu kopii zapasowej w oknie kreatora kopii pojawi się komunikat informujący, że możesz przejść do menedżera plików kopii zapasowych. Pliki kopii można przechowywać na serwerze, pobrać na dysk lokalny oraz usuwać. Na stronie menedżera znajduje się wykaz istniejących plików. W kolejnych kolumnach znajdziesz następujące informacje i narzędzia:

    • nazwa pliku,
    • rozmiar pliku,
    • przycisk umożliwiający pobranie i zapisanie pliku na dysku lokalnym,
    • przycisk umożliwiające usunięcie niepotrzebnych kopii
    • datę utworzenia kopii.

    Zwróć uwagę: Usunięcie kopii jest nieodwracalne. Przed ostatecznym usunięciem kopii z serwera zostaniesz poproszony o potwierdzenie zamiaru usunięcia pliku.

    Odtwarzanie lub instalacja witryny z kopii

    Plik archiwum może zawierać pełną kopię witryny lub jej wybrane elementy - zależnie od dokonanych wcześniej ustawień (wykluczenia plików, katalogów, tabel bazy danych). Może to być również tylko nieskompresowany plik SQL z kopią bazy danych.

    Jeśli tak zdecydujemy w ustawieniach, w drzewie katalogów znajdzie się również katalog instalacyjny (/installation) z wybraną wersją instalatora. W polskim wydaniu instalator jest, niestety, tylko anglojęzyczny, co jednak doświadczonym administratorom nie sprawi dużego problemu.

    Umieszczenie w nowej lokalizacji

    Kopię archiwum pobraną na swój lokalny komputer możemy wykorzystać w różnych celach. Najczęściej zechcemy jej użyć do odtworzenia witryny, która uległa awarii albo do instalacji nowej witryny. W obu przypadkach przeprowadzamy niemal standardowy proces instalacji. Projektant oferuje nam jednak pewne udogodnienia.

    Umieszczenie plików na serwerze

    Standardowa procedura instalacji Joomla! wymagała umieszczenia na serwerze w katalogu przeznaczonym na witrynę rozpakowanego pakietu instalacyjnego. Podobnie można uczynić z archiwum stworzonym przez JoomPack - rozpakować archiwum na komputerze lokalnym, a następnie za pomocą klienta FTP czy SCP przesłać je na serwer. Jeśli nasz usługodawca umożliwia skorzystanie z jakiegoś menedżera plików, możemy przesłać na serwer skompresowane archiwum i dopiero tam je rozpakować.

    Przesyłanie kilku tysięcy plików za pomocą protokołu FTP, a sam rdzeń Joomla! ma ich około 3000, do ulubionych zajęć raczej nie należy. Jeszcze do niedawna byliśmy skazani na tę wątpliwą przyjemność. Teraz już nie! Do pakietów JoomlaPack_Begginers_Bundle projektant dołączył dwa skrypty: "Kickstart.php i "Kickstart2.php, które rozpakują nam archiwum na serwerze. Pierwszy korzysta z AJAX, drugi z javascript. Wykorzystujemy ten, który jest zgodny z możliwościami i konfiguracją naszej przeglądarki. Kickstart obsługuje zarówno format ZIP, jak i własny, bardziej ekonomiczny własny format JoomlaPack. Na serwer przesyłamy więc skompresowane archiwum i wybrany skrypt "Kickstart.php. W pasku adresu przeglądarki internetowej wpisujemy adres skryptu:

    http://domena/com/kickstart.php

    I wykonujemy kolejne kroki:

    Rozpakowanie archiwum

    Pierwszym krokiem jest rozpakowanie archiwum. Wskazujemy plik archiwum (zapewne jedyny w katalogu) i naciskamy Start:

    Rozpocznie się wyodrębnianie plików. O postępie będziemy informowani:

    Po rozpakowaniu archiwum możemy rozpocząć instalację Joomla! W tym celu naciskamy pierwszy odnośnik here na kolejnym ekranie:

    Instalacja przeprowadzana jest w nowym oknie przeglądarki. Z drugiej informacji dowiadujemy się, że po zakończonej instalacji mamy ponownie nacisnąć kolejne here, aby dokończyć proces - usunąć skompresowany plik oraz przywrócić plik .htaccess. Po chwili dowiemy sie, że odnieśliśmy sukces!

    Instalacja

    Instalacja przebiega bardzo podobnie, jak standardowa. Najpierw instalator testuje konfigurację serwera i wyświetla przegląd wyników:

    Po naciśnięciu Dalej przechodzimy na stronę licencji:

    W kolejnym kroku konfigurujemy bazę danych:

    Instalator podejmie próbę założenia bazy i wypełnienia jej danymi, informując o efekcie:

    Dodajemy pozostale dane konfiguracyjne i kończymy proces zakłądania nowej witryny bądź odtwarzania zniszczonej:

    Warunki powodzenia

    Warunków powodzenia jest zapewne więcej, niż potrafimy przewidzieć. Kilka trzeba sobie wszakże uzmysławiać:

    Konfiguracja: Oryginalna witryna musi być dobrze skonfigurowana, a plik configuration.php musi znajdować się w głównym katalogu witryny, nie może mieć innej zmienionej nazwy, musi być udostępniony do odczytu. JoomlaPack, a potem instalator korzystają z pliku konfiguracyjnego - niepoprawne ścieżki, nazwa bazy danych, hasło użytkownika, itd. z całą pewnością będą przyczyną niepowodzenia.

    Format archiwum: Projektant zachęca do korzystania z formatu JPA - jest wydajniejszy, a skompresowany plik archiwum mniejszy niż w przypadku formatu ZIP. Jest wprawdzie podatniejszy na błędy, ale z drugiej strony - ponieważ nie zawiera mechanizmów kontroli spójności i poprawności (sumy kontrolnej) - zagrożenie błędami przy rozpakowaniu jest mniejsze. Autor zachęca do korzystania z tego formatu szczególnie w przypadku archiwizowania dużych witryn oraz na powolnych serwerach.

    Niestety, z dwóch względów mogą być konieczne ingerencje w zawartość archiwum przed umieszczeniem go na serwerze.

    Plik .htaccess: Kiedy przywracamy witrynę z kopii zapasowej, JoomlaPack przywraca również plik .htaccess. Próba odtworzenia witryny na serwerze lokalnym w systemie Windows spowoduje błąd serwera. Ale temu problemowi można zaradzić. Przed sporządzeniem kopii zapasowej witryny wystarczy przemianować plik np. na temp.htaccess, a po zainstalowaniu w nowej lokalizacji przywrócić mu oryginalną nazwę.

    Kodowanie bazy danych: Z przeprowadzonych testów wynika, że mimo wymuszonej zgodności ze starszymi wersjami MySQL w kopii bazy danych zachowane jest kodowanie znaków oryginalnej bazy danych. Jeśli więc baza była kodowana w standardzie utf-8, otrzymamy kopię w utf-8, a nie - jak można by się spodziewać, przekonwertowaną do ISO-8859-1 czy ISO-8859-2. Jeśli zechcemy odtworzyć witrynę na serwerze z MySQL w wersji poniżej 4.1, a więc nieobsługującym standardu UTF, musimy plik SQL przekonwertować do formatu akceptowanego przez naszą bazę danych.

    Gdy dysponujemy archiwum w formacie .ZIP, zarówno przemianowanie pliku .htaccess, jak i wyodrębnienie, przekodowanie i ponowne umieszczenie w archiwum zrzutu bazy danych są łatwe do wykonania. W przypadku formatu JPA, niestety, nie - projektant nie udostępnił bowiem opisywanego w dokumentacji UNJPA.php. Oczywiście, i z tego problemu można wybrnąć. Po rozpakowaniu archiwum na serwerze za pomocą skryptu Kickstart.php wstrzymujemy się na chwilę z instalacją Joomla!, ściągamy plik zrzutu bazy danych, dokonujemy potrzebnej konwersji i przesyłamy go z powrotem na swoje miejsce.

    Prawa dostępu: O powodzeniu rozpakowania archiwum mogą decydować prawa dostępu tudzież praca serwera w trybie bezpiecznym. Jeśli spróbujemy uruchomić "Kickstart.php w takim środowisku, nawet bez pliku archiwum (co zawsze warto uczynić), zostaniemy powiadomieni, że rozpakowanie archiwum nie będzie możliwe. Można wówczas zwrócić się do administratora serwera o chwilowe przynajmniej wyłączenie trybu safe_mode.

Zmieniony ( 12.11.2008. )
 
« poprzedni artykuł   następny artykuł »