Jak zainstalować własne forum na silniku MyBB

Poradniki
vps, www, mybb
bopke
bopke Moderator forum.lvlup.pro

MyBB

MyBB jest nieco archaicznym, ale nadal bardzo popularnym silnikiem forumowym. W tym poradniku zaprezentuję jego instalację zarówno na hostingu WWW, jak i na serwerze VPS.

Instalacja na serwerze VPS jest bardziej skomplikowana niż na hostingu WWW, więc działy poradnika przeznaczone w całości tylko dla osób instalujących na serwerze VPS będę oznaczał gwiazdką (*) na początku nazwy działu

*Instalacja serwera WWW i bazy danych

Jeżeli jeszcze nie mamy zainstalowanego serwera WWW, bazy danych i php, to posłużmy się tym poradnikiem: https://lvlup.rok.ovh/t/www-instalacja-apache-php-i-mysql-na-vps-dedyku/582/

Dodatkowo, do poprawnego działania MyBB potrzebujemy kilku rozszerzeń PHP, które mogą nie być domyślnie zainstalowane, więc doinstalujmy je poleceniem sudo apt-get install php-simplexml php-mbstring php-gd php-mysqli

Stworzenie bazy danych MySQL

MyBB do działania wymaga bazy danych. Najpopularniejszym rozwiązaniem jest baza danych MySQL.

Hosting WWW

W wypadku hostingu WWW z oferty lvlup, w panelu DirectAdmin musimy na stronie głównej, w sekcji Twoje Konto przejść do Zarządzania MySQL

image|478x220

Następnie wybieramy opcję Utwórz nową bazę danych

image|592x425

Wypełniamy formularz danymi, które pozwolą nam połączyć się z bazą i wciskamy przycisk Utwórz

image|588x171

Powinniśmy zobaczyć coś w tym stylu:

image|690x306

Więc nasza baza danych jest już utworzona i możemy przejść do kolejnego etapu.

Serwer VPS

Przy instalacji serwera MySQL podawaliśmy hasło do logowania na konto ROOT. Ze względów bezpieczeństwa nie wypada korzystać z tego konta do normalnych operacji na bazie, więc zajmiemy się teraz stworzeniem nowego użytkownika w bazie danych

Zaczynamy od zalogowania się na konto root w mysql za pomocą polecenia mysql -u root -p, a potem uwierzytelniamy logowanie hasłem.

image|643x193

Ja korzystam z serwera MariaDB, więc mój prompt delikatnie różni się od prompta MySQL, ale obsługa jest identyczna. Najpierw musimy utworzyć naszego użytkownika, służy do tego polecenie CREATE USER login IDENTIFIED BY 'haslo'; gdzie zamieniamy odpowiednio login na login, którym chcemy potem logować się do bazy, a haslo zamieniamy na hasło którego chcemy używać. Ważne jest, żeby hasło było otoczone apostrofami (')!

image|491x66

Mamy naszego użytkownika. Teraz nadszedł czas na utworzenie bazy danych, do której później damy mu dostęp. Bazę tworzymy poleceniem CREATE DATABASE nazwa;, gdzie nazwa zamieniamy na nazwę bazy którą chcemy się potem posłużyć.

image|325x66

Teraz nadajemy użytkownikowi pełne prawa dostępu do bazy, za pomocą komendy GRANT ALL ON nazwa.* TO login; gdzie nazwa zamieniamy na nazwę świeżo utworzonej bazy (bardzo ważnym jest, żeby "przykleić" do nazwy .*!), a login zamieniamy na nazwę naszego użytkownika.

image|382x65

I teraz mamy już bazę gotową na przyjęcie forum.

Wgranie plików na serwer

Teraz, gdy zarówno serwer WWW jak i nasza baza danych są gotowe, Możemy przystąpić do wgrywania plików.

MyBB polecam pobierać z oficjalnej strony https://mybb.com/download/, żeby mieć pewność, że pobrana wersja jest aktualna i stabilna, bez niespodzianek w kodzie.

Hosting WWW

Za pomocą danych dostarczonych razem z danymi do panelu DirectAdmin łączymy się za pomocą FTP do serwera, nawigujemy do katalogu z nazwą naszej domeny (w moim wypadku będzie to lvlup.re-host.ovh/, a następnie do jego podkatalogu public_html, do którego wrzucamy wszystkie pliki z katalogu Uploads/ z naszej paczki z pobranym MyBB. Po przerzuceniu, w moim wypadku za pomocą programu filezilla, powinniśmy ujrzeć mniej więcej taki widok:

image|570x500

Teraz możemy przejść już do instalacji skryptu.

Serwer VPS

W wypadku systemów opartych o debiana (m.in ubuntu), domyślnym katalogiem na pliki stron internetowych jest /var/www/html/. Jeżeli korzystasz z innego systemu, sprawdź w jakim katalogu należy składować pliki stron i to właśnie nim się posługuj.

Na początek zalogujmy się na nasz serwer za pomocą SSH i przejdźmy do katalogu, w którym powinny znaleźć się nasze pliki strony, za pomoca polecenia cd /var/www/html

image|236x35

Jeżeli chcemy, żeby nasze forum nie było dostępne na stronie np. lvlup.pro, tylko na lvlup.pro/forum, to musimy utworzyć katalog o nazwie forum i do niego przejść. Aby go utworzyć, musimy posiadać uprawnienia administratora, które najczęściej wyrażane są poprzez konto root, lub przez uprawnienia do polecenia sudo, lecz to pierwsze rozwiązanie jest mocno odradzane, dlatego posłużę się narzędziem sudo. Katalog tworzymy poleceniem mkdir nazwa, gdzie zamiast nazwa wpisujemy nazwę katalogu, w naszym przykładzie będzie to sudo mkdir forum. Po utworzeniu katalogu od razu do niego przejdźmy.

image|326x66

sudo może zapytać nas o nasze hasło użytkownika, więc po prostu mu je podajemy. Jeżeli mamy uprawnienia administratora to przejdziemy po prostu dalej.

Ja jednak chcę, żeby moje forum było zainstalowane po prostu na domenie lvlup.pro/, bez dodatkowego katalogu, więc wracam do /var/www/html.

Przechodzimy teraz do pobrania plików potrzebnych do działania naszego forum. W tym celu posłużę się bezpośrednim linkiem do paczki .zip z plikami forum, który można dorwać z wyżej linkowanej strony. Pobieramy pliki bezpośrednio na serwer za pomocą polecenia sudo wget https://resources.mybb.com/downloads/mybb_1815.zip, gdzie link wymieniamy na aktualny link do paczki z plikami forum. W momencie pisania tego poradnika aktualna wersja to 1.8.15.

image|644x257

Pobrane pliki rozpakujemy poleceniem sudo unzip -q nazwa, gdzie nazwa zastępujemy nazwą pobranego pliku (można odczytać w przedostatniej linijce przy zapisano, w moim wypadku jest to sudo unzip -q mybb_1815.zip. Po wykonaniu tego polecenia powinniśmy zobaczyć jedynie nowy prompt:

image|416x33

Jeżeli jednak zobaczymy coś w tym stylu:

image|351x34

to znaczy, że musimy doinstalować pakiet unzip. W tym celu możemy posłużyć się, w wypadku systemów debianowych, poleceniem sudo apt-get install unzip. Po zainstalowaniu pakietu wystarczy, że ponownie wykonamy polecenie rozpakowywania, wtedy powinno wszystko pójść gładko.

Teraz możemy upewnić się, że wszystko dobrze się rozpakowało. W tym celu musimy podejrzeć zawartość naszego folderu ze świeżo rozpakowanymi plikami. Do tego celu użyjemy polecenia ls, którego wynik powinien być podobny do tego:

image|295x50

Możemy od razu usunąć niepotrzebne nam elementy, a więc paczkę z plikami forum i katalog Documentation, gdyż nie jest nam potrzebny. Osiągniemy to za pomocą polecenia sudo rm -rf Documentation/ mybb_1815.zip, gdzie zamiast mybb_1815.zip wpisujemy nazwę archiwum, które pobraliśmy. Teraz po ponownym sprawdzeniu zawartości za pomocą polecenia ls powinniśmy zobaczyć to:

image|215x51

Teraz możemy wynieść pliki naszego forum do miejsca docelowego. Zrobimy to korzystając z polecenia sudo mv Upload/* . Teraz po podejrzeniu powinniśmy zobaczyć pliki naszego forum, wyglądające mniej więcej tak:

image|564x240

Teraz możemy dodatkowo usunąć katalog z którego wyjęliśmy pliki naszego forum poleceniem sudo rm -rf Upload/.

Teraz musimy jeszcze tylko zmienić uprawnienia do kilku plików i jednemu zmienić nazwę. Zacznijmy od zmiany nazwy pliku inc/config.default.php na inc/config.php Dokonamy tego za pomocą polecenia sudo mv inc/config.default.php inc/config.php.

Zostało jeszcze ustalenie uprawnień do odpowiednich plików. Pliki inc/config.php oraz inc/settings.php powinny dostać chmod 666. Dokonamy tego wykonując polecenie sudo chmod 666 nazwa, wpisując zamiast nazwa nazwy obu tych plików. Katalogi cache/, cache/themes/, uploads/ i uploads/avatars/ powinny dostać chmod 777 Dokonamy tego wykonując polecenie sudo chmod 777 nazwa, wpisując zamiast nazwa nazwy tych katalogów. Wykonanie tych poleceń powinno wyglądać następująco:

image|562x128

Teraz jesteśmy gotowi na przejście do przejścia do instalatora.

Instalacja skryptu

Teraz wreszcie jesteśmy gotowi, aby zainstalować skrypt na serwerze. W tym celu musimy się połączyć z naszym serwerem przez przeglądarkę. Powinniśmy zobaczyć wtedy taki widok:

image|690x460

Za pomocą checkboxa możemy zaznaczyć, czy chcemy przesyłać trochę anonimowych danych o serwerze do twórców tego silnika. Gdy już się zdecydujemy, wciskamy przycisk Next

image|581x500

Teraz musimy zapoznać się z licencją na oprogramowanie i zaakceptować ją wciskając przycisk Next

image|622x500

O ile w przypadku hostingu WWW nic nie zmienialiśmy w ustawieniach PHP, to wszystko powinno przejść pomyślnie i możemy wcisnąć przycisk Next. Jeżeli w przypadku serwera VPS któreś z informacji o możliwości zapisywania plików jest czerwona o treści Not Writable, upewnijmy sie, że wcześniej ustaliliśmy dobre chmody do plików.

image|559x500

Teraz musimy podać dane do bazy danych, którą utworzyliśmy wcześniej. Wypełniamy pola zgodnie z opisem, danymi które utworzyliśmy wcześniej. Opcja Table Prefix pozwala zainstalować kilka for MyBB na jednej bazie, ważne jest, żeby prefix tabel każdej z instalacji był inny. Przechodzimy dalej przyciskiem Next. Powinniśmy zobaczyć długą listę utworzonych tabel. Jeżeli na końcu widnieje informacja All tables have been created, click Next to populate them. to znaczy, że wszystko poszło zgodnie z planem i możemy kontynuować przyciskiem Next, a następnie ponownie zatwierdzamy przyciskiem Next` pojawiające się informacje. Dochodzimy do następującej sekcji:

image|475x500

i tutaj wypełniamy dane tak jak nam odpowiada. Gdy wszystko wypełnimy tak jak chcemy, zatwierdzamy przyciskiem Next

image|573x500

Teraz tworzymy pierwsze konto na forum - konto administratora forum, za pomocą którego będziemy mogli spersonalizować forum pod siebie. Po wpisaniu danych zatwierdzamy przyciskiem Next

image|690x483

Oto i jest koniec naszej instalacji - forum jest już sprawne i gotowe działania!

image|690x311

Możemy już stworzyć działy, grupy, zapraszać użytkowników i otwierać nasze nowe forum! :slight_smile:

WACLAW
WACLAW

blad|690x305 Taki bład mam, i tak chce wgrać swoje forum, ale pasowalo by to chyba naprawic?

bopke
bopke Moderator forum.lvlup.pro

Usuń z katalogu z plikami forum katalog install/

WACLAW
WACLAW

Moge to zrobic z poziomy ssh? A i jak zalogowac sie do ftp/sftp na hostingu www aby pobrac folder forum i skopiowac sobie tu?

bopke
bopke Moderator forum.lvlup.pro

Za pomocą SSH możesz usunąć go tak:

zakładam, że forum masz zainstalowane w katalogu /var/www/html/. Jeżeli masz w jakimś innym, to zamień tą ścieżkę na ścieżkę do plików forum. rm -rf /var/www/html/install/

Jeżeli masz hosting www w lvlup, to połącz się przez ftp do serwera w2.lvlup.pro i zaloguj się danymi których używasz do panelu directadmin.

DoreK
DoreK α-tester v3

Nie lepiej korzystać z polskiej paczki MyBB z wbudowanym już tłumaczeniem?

WACLAW
WACLAW

No teraz działa, ale nie moge sie zalogowac do ftp,pisze conected timed out

WACLAW
WACLAW

I jak wgrac baze danych stara?

WACLAW
WACLAW

A jak naprawic ftp? Musze pobrac ten folder :c A baze danych moge wgrac inaczej? z panelu phpmyadmin chociazby?

bopke
bopke Moderator forum.lvlup.pro

https://pomoc.zenbox.pl/pl/kb/articles/import-bazy-danych-poprzez-phpmyadmin

ftp musisz mieć najpierw zainstalowane na serwerze. Spróbuj użyć sftp, a jeżeli koniecznie musisz użyć przestarzałego ftp, możesz je zainstalować poleceniem apt-get install proftpd

WACLAW
WACLAW

w2.lvlup.pro ma problemy, nie dziala :c A mam 2 dni na zapisanie mojego folderu :c

bvcz
bvcz

w2.lvlup.pro:2222 u mnie działa

WACLAW
WACLAW

U mnie pisze, ze potrzebowal zbyt wiele czasu na odpowiedz.

WACLAW
WACLAW

Problem po mojej stronie?

Infinity
Infinity

U mnie także działa - problem po twojej stronie.

WACLAW
WACLAW

Restart routera pomog, http://164.132.75.33/forum/, proba podmiany bazy danych na tkiej jak mial stary serwer.... Jeszcze pliki mialem wgrac ale jest tu jakis problem :/

Infinity
Infinity

Komunikat jest prosty, brak katalogu "forum" na serwerze (w miejscu, gdzie ten adres fizycznie prowadzi).

WACLAW
WACLAW

Wlasniw wgrywam swoj stary z starego forum, bedzie cos potrzebne jeszcze zeby bylo dobrze?

PszemoPL
PszemoPL

Rozszerzenia PHP XML: Nie zainstalowany co zrobić ?

eSuu
eSuu

Zainstalować?

sudo apt-get install php-xml

a po tym

sudo service apache2 restart

PszemoPL
PszemoPL

eSuu:

sudo service apache2 restart

Dzieki ;)

PszemoPL
PszemoPL

nie chce mnie polączyć z bazą danych co zrb wszystko dobrze wpisuje https://imgur.com/tpmHbAu

bopke
bopke Moderator forum.lvlup.pro

Może skopiowałeś jakieś nadmiarowe spacje w haśle? Sprawdź jeszcze raz, bo raczej nie wszystko dobrze wpisujesz, lub ta baza danych ma jakieś dziwne obostrzenia.

PszemoPL
PszemoPL

no do phpmyadmin sie normalnie loguje

PszemoPL
PszemoPL

coś chyba nie tak undefined

Nikox
Nikox

Jakieś błędy wyświetla?

DBanaszewski
DBanaszewski α-tester v3

Prosimy o informację z trybu deweloperskiego (zazwyczaj dostępne pod F12) ;)