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.
Bardzo ładnie opisane – na pewno przyda się wszystkim, którzy mają z tym problem.
Dzięki. Starałem się, aby było, to jasno opisane.
świetnie opisane.
Git majonez. Bez zbędnych, amatorskich screenów. Naprawdę nieźle.
Mam nadzieje że w końcu mi się to uda:D Dzieki serdeczne
Brawo dla twórcy, bardzo pomocne. Mała uwaga: przy ostatniej komendzie do MySQL nie powinno być średnika 😉
Ładnie, działa. Dziękuję za dokładne opisanie. 😉
Dziękuję za poradniczek:) Mam nadzieję że wszystko pójdzie gładko.
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.
@Junak.
Po prostu folder inc wgraj z instalki MyBB. Mi to pomoglo. Usun caly folder inc i wgraj ten z instalki 😉
Nic nie pomógł ten artykuł, przenoszę forum z głównej domeny nazwa.pl na nazwa.pl/forum i nic już nie działa…
Świetny artykuł, kilka razy już przenosiłem forum jednak zawsze gdy mam jakieś wątpliwości do to niego ząglądam.
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
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.
Dzięki wielkie! Przeniosłem dzięki tobie MyBB 1.6.8 ;]
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.
zrobione 🙂