Jak przenieść MyBB na inny serwer?

Łukasz | Tagi: , , ,

Przenosiny forum to jedna z najbardziej nielubianych prac administratora. Często przenosiny sprawiają problemy, ten artykuł powinien pomóc Ci przejść przez ten proces bezproblemowo.

Kopia bazy danych i plików

Na samym początku musisz zamknąć forum, w tym celu zaloguj się do panelu administratora, wybierz Konfiguracja a następnie Forum zamknięte / otwarte. Zaznacz opcję Tak, wpisz powód zamknięcia i zatwierdź to przyciskiem Zapisz…

Kopia bazy danych

Zalecam, aby przed zrobieniem kopii bazy danych wyczyścić logi administracji, moderacji, e-mail oraz systemu e-mail. To działanie zmniejszy wielkość bazy danych. W przypadku małych baz danych możesz to pominąć. Aby usunąć logi w panelu administratora wybierz Narzędzia i konfiguracja a następnie z lewego menu wybieraj po kolei logi administracji, moderacji, e-mail, system e-mail i korzystaj z opcji Usuń.

Teraz wybierz ponownie Narzędzia i konfiguracja i bocznego menu Kopie bazy danych. Z zakładki wybierz Nowa kopia. Wybierz opcję Zaznacz tabele należące do forum, następnie, jako typ pliku wybierz Archiwum GZIP(jeżeli Twoja baza danych jest duża), bądź Plik tekstowy(jeżeli Twoja baza danych jest mała). Jako metodę zapisu zaznacz Pobierz, a jako zawartość kopii wybierz Dane i struktura. Wybierz TAK przy opcji Przeanalizuj i optymalizuj zaznaczone tabele
Ostatnim krokiem jest kliknięcie na Wykonaj kopię, zapisz kopie bazy danych na dysku.

Kopia plików

Za pomocą klienta FTP przejdź do głównego katalogu forum i skopiuj na dysk Twojego komputera wszystkie pliki i katalogi.

Import bazy danych

Pobierz skrypt BigDump, za pomocą tego skryptu zaimportujesz nawet duże bazy danych bez problemu. Na nowym serwerze stwórz nową bazę danych oraz nowego użytkownika tej bazy(szczegóły znajdziesz w dokumentacji udostępnionej przez firmę z usług, której korzystasz).

Rozpakuj skrypt BigDump, otwórz plik bigdump.php za pomocą edytora PHP(jeżeli nie posiadasz takiego programu skorzystaj z np. Notepad++). Musisz zmienić cztery linie w tym pliku, który musisz uzupełnić w taki sposób

$db_server   ='nowy_serwer_bazy_danych';  //najczęściej localhost
$db_name     = '_nowa_nazwa_bazy_danych';
$db_username = 'nowy_użytkownik_bazy_danych';
$db_password = 'nowe_haslo_do_bazy_danych';

oraz linię:

$db_connection_charset = '';

zamień na

$db_connection_charset = 'utf8';

Zapisz plik i do katalogu, w którym znajduje się plik bigdump.php przenieś kopie bazy danych, którą wykonałeś wcześniej. Teraz cały katalog bigdump, który zawiera plik bigdump.php oraz kopie bazy danych za pomocą klienta FTP wyślij do głównego katalogu forum na nowym serwerze.

Jeżeli poprawnie przesłałeś cały katalog w swojej przeglądarce wpisz http://twoje_forum.pl/bigdump/bigdump.php. Zobaczysz swoją kopie bazy danych, kliknij na Start Import obok jej nazwy. Czekaj aż zobaczysz komunikat Congratulations: End of file reached, assuming OK. To po jakim czasie zobaczysz ten komunikat jest zależne od wielkości bazy danych. Skasuj cały katalog bigdump z serwera.
Jeżeli masz wyłączone JavaScript po kliknięciu na start import musisz wybrać Continue from the line 3024.

Przenoszenie plików

Za pomocą edytora PHP otwórz plik inc/config.php(pobrałeś go wcześniej). Musisz zmienić kilka linii:

$config['database']['database'] = 'nazwa_nowej_bazy_danych';

oraz

$config['database']['hostname'] = 'serwer_nowej_bazy_danych'; //najczęściej localhost
$config['database']['username'] = 'użytkownik_nowej_bazy_danych';
$config['database']['password'] = 'hasło_do_nowej_bazy_danych';

Zapisz plik inc/config.php

Zmiana domeny

Jeżeli wraz ze zmianą serwera nie wiąże się zmiana domeny pomiń ten punkt i przejdź do razu do zakończenia.

Jeżeli zmieniasz także domenę musisz zmienić jeżeli kilka rzeczy. Otwórz plik inc/setting.php(pobrałeś go wcześniej). Musisz zmienić kilka linii:

$settings['bburl'] = "nowy_adres_forum"; //z http na początku, adres nie może kończyć się ukośnikiem
$settings['cookiedomain'] = "nowe_cookie_domain";
$settings['cookiepath'] = "nowy_cookie_path";

Jeżeli nie wiesz jak uzupełnić ustawienia cookies skorzystaj z instrukcji.

Teraz zaloguj się do phpMyAdmin, wybierz swoją bazę i teraz będzie musiał wydać trzy polecenia SQL

UPDATE `mybb_settings` SET `value` = 'http://nowy_adres' WHERE `mybb_settings`.`name` = 'bburl';
UPDATE `mybb_settings` SET `value` = 'nowe_cookie_domain' WHERE `mybb_settings`.`name` = 'cookiedomain';
UPDATE `mybb_settings` SET `value` = 'nowy_cookie_path' WHERE `mybb_settings`.`name` = 'cookiepath';

Zakończenie

Wszystkie pliki i katalogi, które pobrałeś wcześniej i wyślij do głównego katalogu forum na nowym serwerze. Ustaw atrybuty plików i folerów zgodnie z zaleceniami. Sprawdź czy wszystko działa, jeżeli nie ma błędów otwórz forum. Wybierz Konfiguracja a następnie Forum zamknięte / otwarte i zaznacz opcję Nie.







komentarzy 17 »
  1. Jack (26 czerwca 2009, 18:32 ) #

    Bardzo ładnie opisane – na pewno przyda się wszystkim, którzy mają z tym problem.

  2. Łukasz (28 czerwca 2009, 14:31 ) #

    Dzięki. Starałem się, aby było, to jasno opisane.

  3. Ramza (21 lipca 2009, 17:32 ) #

    świetnie opisane.

  4. iro (7 marca 2010, 9:05 ) #

    Git majonez. Bez zbędnych, amatorskich screenów. Naprawdę nieźle.

  5. WHiSKY (25 maja 2010, 14:50 ) #

    Mam nadzieje że w końcu mi się to uda:D Dzieki serdeczne

  6. Daggerka (31 stycznia 2011, 4:06 ) #

    Brawo dla twórcy, bardzo pomocne. Mała uwaga: przy ostatniej komendzie do MySQL nie powinno być średnika 😉

  7. Evil (3 marca 2011, 22:41 ) #

    Ładnie, działa. Dziękuję za dokładne opisanie. 😉

  8. Art-nail (20 marca 2011, 23:30 ) #

    Dziękuję za poradniczek:) Mam nadzieję że wszystko pójdzie gładko.

  9. Junak (28 sierpnia 2011, 18:57 ) #

    Wszsytko jak tu i cookie dobrze ustawione i w bazie i w settings i caly czas nie mozna sie zalogowac -wszystko inne dziala… bez sensu … najgorszy skrypt forum jaki moze byc do przenoszenia.

  10. Robert (4 września 2011, 18:49 ) #

    @Junak.

    Po prostu folder inc wgraj z instalki MyBB. Mi to pomoglo. Usun caly folder inc i wgraj ten z instalki 😉

  11. sum (4 marca 2012, 14:45 ) #

    Nic nie pomógł ten artykuł, przenoszę forum z głównej domeny nazwa.pl na nazwa.pl/forum i nic już nie działa…

  12. Kris (13 marca 2012, 17:40 ) #

    Świetny artykuł, kilka razy już przenosiłem forum jednak zawsze gdy mam jakieś wątpliwości do to niego ząglądam.

  13. Adrian (11 listopada 2012, 22:20 ) #

    Witam już bardzo dawno natrafiłem na ten artykuł i zawsze przy przenoszeniu z niego korzystam 🙂 więc pasowało by się chociaż raz wypowiedzieć i podziękować za kawał dobrej roboty,wszystko wytłumaczone w przejrzysty i zrozumiały sposób,dzięki czemu przeprowadzamy tą jakże ważną operację na naszych forach. Dzięki

  14. Łukasz Tkacz (9 lutego 2013, 12:07 ) #

    Warto aby ktoś wreszcie poprawił ten artykuł, bo jest on delikatnie mówiąc niebezpieczny.

    Wynika to z faktu, iż autor postanowił w ostatnim kroku (tj. aktualizacja w bazie) wyszukiwać pola po sid, zamiast po nazwie. To niebezpieczne rozwiązanie, bo to, że u autora dany sid oznacza jakieś ustawienie wcale nie implikuje tego, że u mnie, u znajomego itd. będzie tak samo. Kolumna sid jest głównym indeksem, dodatkowo z autoinkrementacją. Wyszukiwanie po niej konkretnego ustawienia to całkowita pomyłka.

  15. adam (13 lutego 2013, 15:19 ) #

    Dzięki wielkie! Przeniosłem dzięki tobie MyBB 1.6.8 ;]

  16. jacek (21 lutego 2013, 18:51 ) #

    Proszę poprawić zapis dotyczący aktualizacji wpisów do bazy danych , w moim wypadku nabrałem się na ten błąd
    poza tym dzięki za opis.

  17. Łukasz (21 lutego 2013, 22:45 ) #

    zrobione 🙂

Dodaj komentarz

XHTML: Możesz użyć tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


Prosimy nie zgłaszać swoich problemów poprzez komentarze! W przypadku problemów zapraszamy nasze forum.

Serwis MyBBsite.pl wykorzystuje cookies. Korzystanie z witryny oznacza zgodę na ich zapis lub wykorzystanie, więcej informacji w polityce prywatności
Akceptuję politykę prywatność, zamknij informację