[Tut] Instalacja PufferPanel - dobra alternatywa dla AimPanel i nie tylko! (Minecraft, CS:GO, Terraria, TF2)

Poradniki społeczności
pufferpanel
anon82750602
anon82750602

PufferPanel to całkiem dobra darmowa alternatywa dla paneli takich jak AimPanel, Multicraft czy McMyAdmin. Pozwala na zarządzanie serwerami na wielu maszynach, posiada wbudowany menedżer plików i jest całkiem łatwy w obsłudze.

Panel składa się z dwóch części:

  • Frontend - z niego zarządzamy serwerami - może być postawiony na oddzielnej maszynie lub nawet na naszym komputerze.
  • Backend - instalujemy go na zarządzanych przez front-end serwerach, tworzy konta i kontenery Dockera, jeśli mamy KVM oraz instaluje serwery.

W aktualnej wersji (0.8.6) PufferPanel obsługuje następujące gry:

Instalacja Front-endu.

Front-end możesz zaintalować na VPS-ie, na którym nie hostujesz żadnych serwerów - nawet lepiej gdy zainstaujesz panel na VPS-ie odciętym od dostępu publicznego.

Składniki:

  • jeden a najlepiej więcej VPS(ów) OpenVZ/KVM.
  • Debian 8 albo Ubuntu 14.04, ew. Fedora lub CentOS.
  • Dostęp do roota.

Instalacja nginx

Zapewne po zakupieniu VPS-a będziesz miał zainstalowany serwer Apache. Oczywiście można zostawić serwer Apache, będzie działać po konfiguracji, ale nie jest on obsługiwany... Jeśli chcesz pokombinować z PufferPanel + Apache zajrzyj tutaj: http://www.pufferpanel.com/v0.8.6/docs/apache-configuration

Zacznijmy od jego usunięcia:

Debian/Ubuntu:

apt-get remove apache2

Fedora/CentOS:

dnf remove apache2

Jeśli nie ma komendy dnf użyj yum.

Idziemy dalej 😛

Aktualizujemy repozytorium i instalujemy sudo oraz curl oraz jeden potrzebny składnik.

Debian/Ubuntu:

apt-get update
apt-get install sudo curl uuid-runtime

Nie martw się, że Ubuntu ma to już zainstalowane - idź dalej

W wypadku Fedory nie trzeba dodawać żadnych repozytoriów (sprawdzone na lokalnym PC) - jednak jeśli nasz serwer używa CentOS-a należy doinstalować dodatkowe repozytoria. (Wzięte stąd: https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7)

CentOS:

sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Następnym krokiem będzie po prostu instalacja nginx i PHP.

Debian/Ubuntu: Jeśli nie miałeś zainstalowanego MySQL serwer zapyta się o ustawienie hasła.

sudo apt-get install -y openssl nginx git mysql-client mysql-server php5-fpm php5-cli php5-curl php5-mysql php5-mcrypt

Po zainstalowaniu PHP i nginx należy włączyć moduł mcrypt.

sudo php5enmod mcrypt
sudo service php5-fpm restart

Fedora/CentOS: W przypadku tego systemu należy po prostu wkleić to w konsolę:

sudo yum install nginx mariadb-server mariadb php56w-fpm php56w-common php56w-cli php56w-mcrypt php56w-pdo php56w-mysqlnd

sudo systemctl start nginx
sudo systemctl enable nginx

sudo systemctl enable mariadb
sudo systemctl start mariadb

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Po zainstalowaniu należy ustawić hasło do MySQL.

sudo mysql_secure_installation

Instalacja panelu.

Jeśli pracujemy pod Fedorą lub CentOS-em logujemy się jako root, jeśli wykonywaliśmy poprzednie kroki jako user.

sudo su

Zaczynamy instalację.

mkdir -p /srv && cd /srv
curl -L -o pufferpanel.tar.gz https://git.io/vaOuN
tar -xf pufferpanel.tar.gz
cd pufferpanel
./pufferpanel install

Jeśli wszystko poszło dobrze instalator uruchomi się i zapyta o parę rzeczy.

HP 5.5.0+: [Installed]
PHP-curl: [Installed]
PHP-hash: [Installed]
PHP-openssl: [Installed]
PHP-mcrypt: [Installed]
PHP-pdo: [Installed]
PHP-pdo_mysql: [Installed]
------------
Thank you for using the PufferPanel installer!
Before we can complete the installation, we need to ask you some questions
These questions will help configure PufferPanel so that you can get to using it
------------
MySQL Configuration
Enter the MySQL host [localhost]:

Jeśli robiliśmy wszystko tak, jak wcześniej mamy zainstalowany serwer MySQL na VPS-ie z panelem - naciskamy Enter, w przeciwnym wypadku wpisujemy adres zewnetrznego serwera MySQL (wymagany dostep root do tego serwera!).

Enter the MySQL port [3306]:

Jeśli portu nie ruszaliśmy - zostawiamy domyślny - 3306.

Enter the MySQL username (MUST HAVE GRANT) [root]: 

Jeśli nie ustawialiśmy oddzielnego użytkownika MySQL z uprawnieniami tworzenia kont, baz danych i tabel zostawamy root - wciskamy Enter.

Enter the MySQL account password: 

W ostatnim kroku instalator zapyta się o hasło MySQL - jeśli nie tworzyiśmy nowego, wpisujemy wcześniej ustawione hasło.


Jeśli wszystko poprawnie zainstalowaliśmy powinno się pojawić to, co niżej, w przeciwnym wypadku powtarzamy krok.

Creating pufferpanel account and installing database...
MySQL has been configured and the database was installed
Switching to new user for further commands

Wpisujemy domenę, którą podepniemy (podpięliśmy) do VPS jako panel (np. panel.mojasiec.pl). Jeśli nie podpinaliśmy/nie chcemy jej używać/nie mamy jej - wpisujemy adres IP naszego VPS.

------------

Configuring site details
Please enter the domain or IP (if you do not have a domain) for your site (do NOT include http(s)://): 

Ostatnim krokiem będzie podanie loginu, email'a oraz hasła do panelu. Hasla oczywiście nie będą widoczne ;)

Settings saved to database
------------
Please enter the following information for the new admin user
Username: {username}
Email: {moj@email}
Password: {mojehaslo}
Installing user...
Installing nginx config (if possible)
------------

W ostatnim kroku zostaniemy zapytani czy dziękujemy twórcom panelu - twoja decyzja 😛

Would you like to thank us? Each thanks gives us the motivation to provide this software to you. [Y/n]: y

Po zainstalowaniu panelu powinniśmy zobaczyć na dole link.

------------
Thank you for installing PufferPanel!
Assuming that the installation completed, you will be able to visit your new panel at http://panel.jakassiec.pl

Po prostu otwieramy link w przeglądarce i logujemy się!

Ale to jeszcze nie koniec! Pozostaje instalacja backendu...

Instalacja back-endu.

Instalacja backendu jest dużo prostsza od instalacji front-endu... Jedyne co musimy zrobić to zalogować się od panelu

undefined

Możesz zmienić język na polski używając tego przycisku: undefined ale polecam pozostać bez tłumaczenia.

Po zalogowaniu zostaniemy przywitani takim ekranem:

undefined

Na razie nie możemy dodać żadnego serwera - nie mamy zainstalowanych backendów!

Naciskamy przycisk undefined znajdujący się w prawym górnym rogu - przeniesie on nas do ustawień administratora.

undefined Wybieramy stąd opcje Add Node.

undefined

W polu Node Short Name wpisujemy krótką nazwę węzła, np. local albo node1 W polu Node FQDN wpisujemy nazwę domenową węzła np. s1.mojasiec.pl albo adres IP.

W polu Daemon Listening Port możemy zmienić port backendu - jeśli jest on już zajęty, w przeciwnym wypadku nie trzeba go zmieniać. Jeśli zmieniliśmy port SSH, zmieniamy port w polu Daemon SFTP Port.

W ostatnim polu - Available IPs & Ports ustawiamy adresu IP i porty dostępne dla serwerów gry. Jeśli posiadamy jeden - wpisujemy po prostu IP oraz zakres portów.

Kilka przykładów

12.34.56.78|10000-10100,25565,25566-25570

W tym przykładzie mamy jeden adres IP - 12.34.56.78 oraz odblokowujemy porty: od 10000 do 10100, 25565, oraz zakres od 25566 do 25570.

13.37.255.0|7777,8888,9999

W tym przykładzie mamy 1 adres IP oraz 3 porty: 7777, 8888 i 9999.

3.42.29.0|20000-30000
3.43.244.0|9000-10000

W tym przykładzie mamy 2 adresy IP i 2 zakresy portów.

Jeśli instalujemy backend na VPS-ie KVM lub serwerze dedykowanym warto zaznaczyć opcję undefined. Serwery będą instalowane wtedy w oddzielnych kontenerach (mniejsze VPS-y) co pozwoli na lepszą kontrolę nad zasobami zużywanymi przez serwery gier.

Zatwierdzamy przyciskiem Create Node.

Po skonfigurowaniu węzła pozostaje nam zainstalować samego backenda - ogranicza się to do tylko jednej komendy.

Wciskamy undefined.

Powinniśmy zobaczyć takie okienko:

undefined

Wciskamy Generate Deployment Script.

Powinniśmy zobaczyć coś podobnego do tego okienka:

undefined

Logujemy się do konsoli skonfigurowanego wcześniej serwera.

Jeśli mamy Ubuntu lub Debiana wpisujemy komendę apt-get install sudo curl.

Nastepnie kopiujemy komendę z czerwonej ramki w panelu i wklejamy ją w konsolę SSH i zatwierdzamy enterem.

W przypadku instalacji na KVM/Dedyk + Docker może pojawić się informacja o wersji jądra. Jeśli nie mamy jądra z hostingu - zatwierdzamy - y i enter - w przeciwnym wypadku instalujemy nowe z repozytorium albo kompilujemy własne ;P

[!!] STOP - READ THIS BEFORE CONTINUING [!!]
THIS SOFTWARE DOES NOT AND WILL NOT RUN PROPERLY ON NON-STANDARD KERNELS. PLEASE ENSURE THAT THE OUTPUT BELOW IS VALID.

Kernel Version: 4.5.5-300.fc24.i686+PAE

If this looks anything like '-grsec-xxxx-grs-ipv6-64' then it is probably a non-standard kernel. Standard kernels appear as '3.13.0-37-generic' or similar and should be at least version 3.10 or higher. Documentation for updating your kernel can be found at: http://scales.pufferpanel.com/docs/switching-ovh-kernels

I have read the above and confirmed that my kernel is a.) standard and b.) of a high enough version [y/N]: 

po poprawnej instalacji na końcu zobaczymy coś takiego:

Starting Scales
[2016-09-03 11:39:14] [INFO] + ========================================== +
[2016-09-03 11:39:14] [INFO] | Scales logs all information, (inc. errors) |
[2016-09-03 11:39:14] [INFO] | into the logs/ directory. Please check     |
[2016-09-03 11:39:14] [INFO] | there before asking for help with bugs.    |
[2016-09-03 11:39:14] [INFO] |                                            |
[2016-09-03 11:39:14] [INFO] | Submit bug reports at the following link:  |
[2016-09-03 11:39:14] [INFO] | https://github.com/PufferPanel/Scales      |
[2016-09-03 11:39:14] [INFO] + ========================================== +
[2016-09-03 11:39:14] [INFO] Scales is now listening on port 5656
[2016-09-03 11:39:15] [INFO] Scales has started
Successfully Installed Scales

Backend został zainstalowany! Jeśli posiadasz więcej serwerów - powtórz ten krok dla każdego z nich.

anon82750602
anon82750602

-- Zarezerwowane --

Instalacja serwera Minecraft

Instalacja serwera CS:GO

Instalacja serwera TF2

SystemZ
SystemZ Admin lvlup.pro

Generalnie wydaje się sporo roboty względem Aimpanel, tam jest tylko jedna komenda i już działa.

Timo
Timo Moderator forum.lvlup.pro

W przypadku posiadania serwerów gier na kilku maszynach, jest to ogromne udogodnienie. Zobaczę, co ten panel umie.

Timo
Timo Moderator forum.lvlup.pro

Mam już ten panel, sprawuje się świetnie, lecz jest jedna sprawa:

  • Jak ustawić CPU Quota przy VPS z lvlup? Pisze tam o faktycznych rdzeniach, a przy moim VPS na którym ten panel testuję (OpenVZ 4GB z lvlupa) są 2vCPU. Jak mam więc ustawić to CPU Quota, aby serwer "zżerał" maksymalnie 50% lub 25% procesora dostępnego dla mojego VPS? Czy jak ustawię 50 w tym polu to będzie max. 50% zasobów mojego VPSa? ( http://screenshot.sh/owj1gWu7bTDcp )
anon82750602
anon82750602

Poprawnie działa to w przypadku KVM + Docker... Na OpenVZ raczej średnio to działa za względu na stare jądro + brak cgroups...

Timo
Timo Moderator forum.lvlup.pro

Wszystko ładnie śmiga, tylko jak zrobić opcję autorestartu np. o 3-ciej w nocy codziennie? Próbowałem skrypt + cronjobs, ale nie działa mi to :( Ktoś ma jakiś patent, ewentualnie napisze mi tu prosty skrypt? Ze swojej strony mogę zapewnić wyłączenie serwera o którejś godzinie, mam nawet na to własny plugin, tylko żeby puffer mi go startował zaraz po wyłączeniu.

anon82750602
anon82750602

Panel posiada API REST, wystarczy curl, przykłady masz w dokumentacji i to w różnych językach programowania.

Łączysz to z cronem i lecisz :slight_smile:

http://scales.pufferpanel.com/docs/serverpowerstatus

koweq
koweq

A ten panel obsługuje Garrys Moda i Unturned?

Timo
Timo Moderator forum.lvlup.pro

Podczas tworzenia nowego serwera masz do wybrania nastepujące silniki: Minecraft, Minecraft (pre 1.7), BungeeCord, PocketMineAP oraz SRCDS, co oznacza że każdą grę z silnikiem SRCDS możesz zainstalować, czyli odpowiedź brzmi tak. Wystarczy tylko wgrać pliki.

Dev
Dev

Gdzie można zmienić ten napis? image|690x50

Timo
Timo Moderator forum.lvlup.pro
Arifeek
Arifeek

ktoś wie jak to zainstalować ??

hmm|629x162

SP24
SP24

Ten moduł nie jest wspierany od PHP 7.2 więc jest on domyślnie niedostępny, ale jeśli to chcesz to tu znajdziesz odpowiedź: https://askubuntu.com/questions/1031921/php-mcrypt-package-missing-in-ubuntu-server-18-04-lts

Arifeek
Arifeek

okej rozumiem a ktos powie mi jak zainstalowac ten panel jestem na momencie ze trzeba wejsc w przegladarce na adres ip vps

i gdy wejde mam takie cos nie mam logowania do panelu

Przechwytywanie|690x307

SP24
SP24

Nie masz zainstalowanego PHP.

sudo apt install php

Arifeek
Arifeek

mam 5.6 wszystkie komendy brałem z tego poradnika

SP24
SP24

Daj wynik komendy php -v To wygląda na ewidentny brak interprator PHP. I na jakim systemie to instalujesz?

Arifeek
Arifeek

Przechwytywanie|648x101

debian 8

SP24
SP24

Zmień może php na wersje 7.1 lub 7.2. Najpierw usuń stare:

sudo apt purge php.* sudo apt remove php.* sudo apt autoremove

A postępuj według poradnika: https://tecadmin.net/install-php7-on-debian/

Masz w ogóle Apache2 lub nginx?