Poniższy artykuł jest pisany z myślą o skrypcie vBulleitn. Jednak znaczna większość instrukcji może być z powodzeniem zastosowana przy przenoszeniu innych for, portali.
Witam
W tym artykule postaram się Wam jak najlepiej przybliżyć proces przenoszenie forum na inny serwer.
Założenia:
1. Do obsługi MySQL używamy PhpMyAdmin w języku polskim. Ja użyłem wersji 2.11
2. Na nowym serwerze mamy już umieszczone pliki skryptu vBulletin (koniecznie tę samą wersją, która jest obecnie na Twoim forum!). Proponuję od razu zainstalować forum, oszczędzi nam to kilku kroków.
3. PMA = PhpMyAdmin
UWAGA!
Zanim przejdziesz do dalszej części artykułu przeczytaj!
Bazę najlepiej zaimportować na serwer wykorzystując SSH. Jeśli nie mamy takiej możliwości (dostępu do SSH) wgrywamy bazę na serwer FTP, piszemy ticket do obsługi hostingu z prośbą o zaimportowanie bazy z wymuszeniem kodowania na wskazane przez nas konto. Oszczędzi nam to sporo czasu, gdyż bazy nie musimy dzielić i wgrywać każdej części poprzez phpMyAdmin. W ostateczności (gdy nie mamy takiej możliwości jak opisana powyżej) stosujemy się do punktów 3 i 4 zawatych w tym artykule.
..::# START #::..
1. Wyłączenie aktywnych modyfikacji
Na początek niezbędne będzie poprawne zgranie aktualnej bazy forum na nasz HDD.
Pierwsze co zrobimy to wyłączymy wszystkie aktywne modyfikacje.
W tym celu logujemy się na nasz FTP. Przechodzimy do folderu includes, a następnie wyszukujemy plik config.php.
Otwieramy go i w drugiej linijce, tuż po <?php wklejamy:
define('DISABLE_HOOKS', true);
Zapisujemy plik i wysyłamy na serwer. Wyłączyliśmy modyfikacje.
2. Zgrywamy bazę na nasz dysk
Teraz logujemy się do naszego PhpMyAdmina.
Ze spisu baz (o ile istnieje więcej niż jedna) wybieramy bazę naszego forum.
Widzimy strukture tabeli w bazie. Zjeżdżamy na sam dół strony i wybieramy Zaznacz wszystkie.
Następnie z rozwijanego menu wybieramy opcję Napraw tabele.
Po wykonaniu procesu ponownie zaznaczamy wszystkie tabele i tym razem z rozwijanego menu wybieramy opcję Optymalizuj.
Z górnego menu wybieramy zakładkę Eksport.
Z rodzaju formatów wybieramy SQL (standardowo powinien być już wybrany).
Struktura: dodatkowo zaznaczamy Dodaj DROP TABLE.
Dane: dodatkowo zaznaczamy Pełne rozszerzenia.
Zaznaczamy kwadracik przy Zapisz jako plik.
Typ kompresji: Brak
I klikamy Wykonaj.
Wybieramy miejsce zapisu bazy na naszym dysku po czym rozpoczynamy ściąganie.
Mamy bazę na dysku.
Adnotacja:
Dokładny opis procesu eksportu bazy z pMa znajduje się tutaj:
http://vbhelp.pl/artykua-y-faq-f22/e...admin-t83.html
3. Dzielimy bazę na mniejsze części
W zależności od tego ile nasza baza zajmuje mamy różne problemy z wgraniem jej na nowy serwer. Im większa baza, tym większy problem. Dlatego najlepiej podzielić bazę. Do tego celu służy wiele narzędzi. Ja korzystam z SQLDumpSplitter i to na jego przykładzie pokażę jak podzielić bazę (program do pobrania w załączniku).
Po otwarciu programu uzupełniamy następująco:
I jeszcze objaśnienia słowne:
Step 1: po kliknięciu Browse wybieramy naszą bazę, którą wcześniej pobraliśmy.
Step 2: tutaj wybieramy wielkość jednego kawałka bazy. Jako, że PhpMyAdmin standardowo ma ustawioną maksymalną wielkość 2048 KB, a i nie zawsze nasze kochane, polskie łącza dają sobie radę z większymi plikami proponuję:
Do baz o rozmiarze poniżej 20 MB wybrać 512-1024 KB
Do baz powyżej 20 MB wybrać 1024-2048 KB
Dzięki takim małym rozmiarom zyskamy pewność, że ani nasze łącze, ani PhpMyAdmin nie zawiedzie podczas wgrywania bazy.
Step 3:
Po kliknięciu Browse wybieramy folder, w którym ma zostać zapisana podzielona już baza (najlepiej stworzyć osobny folder).
Skip 4:
Zostawiamy zaznaczone (pomijamy komentarze w bazie, które są nam zbędne).
Teraz klikamy Execute i czekamy, aż pasek procentów dobiegnie do końca.
Kiedy tak się stanie tzn., że mamy już na dysku podzieloną bazę gotową do wysłania na nowy serwer.
4. Wgrywamy bazę na nowy serwer
Logujemy się do PhpMyAdmin na nowym serwerze.
Jak napisałem na początku założyliśmy, iż vB jest już zainstalowane czyli baza jest również stworzona.
Wybieramy bazę naszego forum z kolumny po lewej stronie (o ile w PMA jest więcej niż jedna).
Zjeżdżamy na sam dół strony z nazwami tabel i wybieramy Zaznacz wszystkie. Z rozwijanego menu po prawej stronie, na którym obecnie widnieje napis "Zaznaczone" wybieramy Usuń, a następnie Wykonaj. Skrypt zapyta nas czy na pewno usunąć wszystkie tabele. Potwierdzamy.
Teraz wybieramy zakładkę Import.
Zestaw znaków dla pliku: uf8 lub latin2 (zależnie jakie kodowanie było na starym serwerze).
Zaczynamy wgrywać bazę. Po kliknięciu Przeglądaj przechodzimy do folderu gdzie znajduje się podzielona baza, a następnie (UWAGA !) jako pierwszy wgrywamy plik nazwabazy_DataStructure. Po zakończeniu wgrywania może pokazać się komunikat informujący nas, że plik został wgrany poprawnie lub też może ukazać się nam biała strona. W jednym, jak i w drugim przypadku wszystko jest OK (jeśli pokazała się biała strona, to odświeżamy stronę i przechodzimy znów do zakładki Import).
Wgrywamy wszystkie pliki bazy po kolei (są ponumerowane - nazwabazy_1, nazwabazy_2 itd.).
Po każdym zakończeniu wgrywania sytuacja może być podobna jak podczas wgrywania pliku nazwabazy_DataStructure.
Po wgraniu ostatniego pliku wchodzimy na adres naszego forum.
5. Podstawowa konfiguracja forum na nowym serwerze.
Po pierwszym odpaleniu forum prawdopodobnie ukażą nam się różnego rodzaju błędy. Wiele z nim może mieć swoje źródło we wciąż obecnych w bazie modyfikacjach.
Jeśli chcesz się ich pozbyć patrz pierwszy punkt artykułu. Kiedy błędy znikną zaloguj się do AdminCP i odinstaluj ręcznie modyfikacje.
Kolejny problem może być spowodowany domyślnym ID języka przypisanym do użytkowników. W takim wypadku najlepiej ręcznie odpalić zapytanie, dzięki któremu każdemu użytkownikowi przypiszemy ID języka równe 0.
Ponownie logujemy się więc do phpMyAdmin, przechodzimy do zakładki SQL w okienko wpisujemy:
Kod:
UPDATE user SET languageid = 0
I wysyłamy zapytanie.
Jeśli problem nadal występuje spróbuj użyć tools.php (z katalogu 'do_not_upload' znajdującego się w paczce z pobranym vBulletin) poprzez umieszczenie go w folderze 'admincp' na FTP.
Przejdź do:
twoje-forum.pl/admincp/tools.php
I użyj wszystkich funkcji.
Jeśli forum już działa bez błędów musimy odbudować parę struktur.
W tym celu przechodzimy kolejno:
ACP => Maintenance => Update Counters
I używamy:
- Rebuild Forum Information
- Rebuild Thread Information
- Update User Titles and Ranks
- Rebuild Search Index
Uwaga do ostatniej pozycji: zależnie od tego ile mamy postów/tematów może to potrwać trochę czasu także mamy chwilę na zrobienie sobie kawy.
Warto również zainteresować się pozostałymi opcjami.
Na koniec pozostało nam już tylko poinformowanie użytkowników, że stoimy na nowym serwerze
Mam nadzieję, że ten artykuł pomoże niejednej osobie w przenoszeniu forum na nowy serwer.
Wszelkie pytania co do tego tematu proszę kierować tutaj - w tym temacie. Nie odpisuje na PM/GG.
--------------
Tutorial iNFO:
Autor: Max Kwiatkowski
Data: 31.X.2007
~ Zakaz kopiowania artykułu bez zgody autora!