Aktionen

Minecraft Server mit rfwadmin unter Ubuntu 14.04 LTS und ISPConfig

Aus znilwiki

Ich hatte bisher einen Minecraft Server auf meinem Heimserver laufen (DSL 16.000) und über meine Fritz!Box freigegeben.

Nun, da ich den Rest auch auf meinem Webserver im Internet laufen habe - warum nun nicht auch diesen.
Die Map die ich bisher bespielt hatte wollte ich gerne Mitnehmen - und ein Management-Tool wäre auch nett ....

Meine Wahl fiel dann auf rfwadmin: https://github.com/Thue/rfwadmin

Und so habe ich das ganze unter ISPConfig eingerichtet:


1 Subdomain in ISPConfig anlegen

In ISPConfig habe ich eine neue Subdomain angelegt:

minecraft.znil.net

Unter dieser soll dann das Admin-Panel laufen.
Der Server selbst ist ja nur über Port 25565 erreichbar.

In den Einstellungen der Webseite unter Option beim Parameter PHP open_basedir setzen wir noch folgenden Eintrag vorweg:

/var/lib/minecraft/:

so das die ganze Zeile wie folgt aussieht:

/var/lib/minecraft/:/var/www/clients/client0/web25/web:/var/www/clients/client0/web25/private:/var/www/clients/client0/web25/tmp:/var/www/minecraft.znil.net/web:/srv/www/minecraft.znil.net/web:/usr/share/php5:/usr/share/php:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin

Auf der gleichen Seite sehen ich das bei mir diese Subdomain unter dem Benutzer

Linux User: web25

und der Gruppe

Linus Group: client0

läuft - Ihr sucht den euren Benutzer und eure Gruppe und merkt euch diese!



2 Vorraussetzungen

Loggt euch auf eurem Server per SSH ein und wechselt ggf. zum Benutzer root:

sudo -i


Installiert die noch folgenden Pakte nach:

apt-get install tmux openjdk-7-jre libapache2-mod-php5 php5-curl wget zip unzip git




3 Webverzeichnis Vorbereiten

Meine Subdomain heisst

minecraft.znil.net

also heisst das Webverzeichnis bei ISPConfig

/var/www/minecraft.znil.net/web

Und wir löschen jetzt alles was da drin ist:

rm -R /var/www/minecraft.znil.net/web/*

Den Pfad müsst Ihr natürlich an eure Subdomain anpassen.



4 ifwadmin herunterladen und anpassen

Wechselt ins Verzeichnis Quellenverzeichnis und ladet den rwfadmin herunter:

cd /usr/src
git clone https://github.com/Thue/rfwadmin.git
cd /usr/src/rfwadmin

Nun passen wir die Installationsdatei an:

nano install.sh

und ändern die folgenden Zeilen:
Original:

#You can also use WEBINTERFACE_DIR=/var/www/ to put the web interface in the www root
if [ -d /var/www/html ]; then
  #centos has webroot /var/www/html
  WEBINTERFACE_DIR="/var/www/html/rfwadmin"
else
  #Ubuntu has webroot /var/www
  WEBINTERFACE_DIR="/var/www/rfwadmin"
fi

#rfwadmin runs as the web server user. If $WEBSERVER_USER is empty, this script will try to guess the web server user from the owner of the process currently using port 80
WEBSERVER_USER=

Geändert:

#You can also use WEBINTERFACE_DIR=/var/www/ to put the web interface in the www root
# if [ -d /var/www/html ]; then
#   #centos has webroot /var/www/html
#   WEBINTERFACE_DIR="/var/www/html/rfwadmin"
# else
#   #Ubuntu has webroot /var/www
#   WEBINTERFACE_DIR="/var/www/rfwadmin"
# fi
WEBINTERFACE_DIR="/var/www/minecraft.znil.net/web"

#rfwadmin runs as the web server user. If $WEBSERVER_USER is empty, this script will try to guess the web server user from the owner of the process currently using port 80
WEBSERVER_USER=web25

Den Pfad müsst Ihr natürlich an eure Subdomain anpassen.
Und den richtigen Web-Benutzer natürlich


5 Minecraft-Server installieren und anpassen

Nun führen wir das Installationsscript aus:

cd /usr/src/rfwadmin
./install.sh

er kopiert und startet dann den Minecraft-Server.


Important.png
Hinweis: Thue, der Autor des Scriptes hat meinen Artikel hier gefunden - und sein Script so angepasst das der nachfolgende Teil eigentlich überflüssig sein sollte. Überspringt diesen Abschnitt also einfach wenn ihr keine Probleme habt


Den Dienst beenden wir gleich wieder:

service minecraft_default.sh stop

Dann bearbeiten wir das Start-Skript:

nano /etc/init.d/minecraft_default.sh

und ändern die folgende Zeile:
Original:

SU_TO_USER="www-data"

Geändert:

SU_TO_USER="web25"

Den Benutzer müsst ihr wiederum an den Benutzer anpassen unter dem auch die Subdomain läuft!

Nun müssen wir noch den Besitz des Verzeichnisses mit Minecraft-Server anpassen

chown -R web25:root /var/lib/minecraft/

und den Benutzer des Web-Verzeichnisses der Subdomain:

chown -R web25:client0 /var/www/minecraft.znil.net/web/




6 Server starten

Mit

service minecraft_default.sh start 

sollte sich der Server nun starten lassen und dann unter dem Benutzer web25 laufen:

ps -awx | grep "java -Xms"
 6375 pts/7    Sl+    0:13 java -Xms1024M -Xmx1024M -server -jar /var/lib/minecraft/jars/serverjars/minecraft_server.1.8.jar nogui

An den Parameter können wir sehen das der Server sich immer mindestens 1GB (= -Xms1024m) reserviert bis zu einem Maximum von 1GB (= -Xmx1024m).
Nun, soviel ist auf meinem Server nun auch nicht los und das reservierte Gigabyte somit Verschwendung.
Deshalb berarbeiten wir die

/var/lib/minecraft/minecraft_base.sh

und ändern die Zeile

MEM_LOW="1024M"

in

MEM_LOW="32M"


Nach einem Neustart des Servers gilt der neue Wert:

service minecraft_default.sh restart
ps -awx | grep "java -Xms"
 6375 pts/7    Sl+    0:13 java -Xms32M -Xmx1024M -server -jar /var/lib/minecraft/jars/serverjars/minecraft_server.1.8.jar nogui




7 Webinterface absichern

Zur Zeit kann nun jeder die Subdomain aufrufen und Unfug machen - deshalb solltet Ihr den Zugriff absichern.
Entweder erstellt Ihr selbst eine .htaccess im Web-Verzeichnis oder Ihr nutzt in ISPConfig die Funktionen

  • Protected Folders
  • Protected Folders User




8 Kommentare


Thue

50 Monaten zuvor
Punktzahl 0++
To make the install slightly simpler, you can edit the "settings" section of install.sh line 16 before installing, to set WEBSERVER_USER=web25 . Then you don't need to "chown -R web25:root /var/lib/minecraft/" or to edit /etc/init.d/minecraft_default.sh .

BLinz

50 Monaten zuvor
Punktzahl 0++

Sorry - but i try that and it did not work. Then the script show the "error: HTTP server user web25 looks wrong"

Bernhard

Thue

50 Monaten zuvor
Punktzahl 0++
That is just because the regexp on line 41 is (was) too restrictive for no good reason. Fixed now.

BLinz

50 Monaten zuvor
Punktzahl 0++
I change the this manual :-) Thx Thue!

Thue

50 Monaten zuvor
Punktzahl 0++
No thank you! I am honored that somebody has taken the time to write an installation guide for my software :).
Kommentar hinzufügen
znilwiki freut sich über alle Kommentare. Sofern du nicht anonym bleiben möchtest, trage deinen Namen oder deine Email-Adresse ein oder melde dich an. Du kannst das Feld auch einfach leer lassen.