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:
- Minecraft/Bungeecord
- Minecraft PE (PocketMine)
- Różne gry na silniku Source - CS:GO, TF2 i nie tylko - Terraria, Starbound - pełna lista znajduje się na stronie Valve: https://developer.valvesoftware.com/wiki/Dedicated_Servers_List#Linux_Dedicated_Servers
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
Możesz zmienić język na polski używając tego przycisku: ale polecam pozostać bez tłumaczenia.
Po zalogowaniu zostaniemy przywitani takim ekranem:
Na razie nie możemy dodać żadnego serwera - nie mamy zainstalowanych backendów!
Naciskamy przycisk znajdujący się w prawym górnym rogu - przeniesie on nas do ustawień administratora.
Wybieramy stąd opcje Add Node.
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ę . 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 .
Powinniśmy zobaczyć takie okienko:
Wciskamy Generate Deployment Script.
Powinniśmy zobaczyć coś podobnego do tego okienka:
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.