From MineOS Wiki
Jump to navigation Jump to search

MineOS on Ubuntu

While MineOS has historically been released as a full, self-contained and configured distribution, the core value of MineOS has typically aimed at Minecraft-related automation, rather than the OS-side; that is, the web-ui and the python scripts.

MineOS Microcore and MineOS CRUX always did come fully configured with regard to the OS (iptables, partitioning, formatting, etc), but the CRUX model in itself laid the kernel building responsibility to the end user. To make CRUX viable as a novice-friendly distribution, I created the kernel for the ultimate end-user, selecting particular hardware based on likeliness of use and usefulness in dedicated server scenarios. Unfortunately, as MineOS grew in popularity, a greater variety of hardware needed to be used than I could satisfactorily anticipate and include in the pre-built kernel provided on the ISO.

MineOS-on-Ubuntu addresses this. By effectively outsourcing the kernel-building process to a far more established and knowledgeable community, I can wield the hugely optimized kernel Ubuntu distributes for their Server suite and focus on the scripts' and web-ui's usability, extensibility, and functionality.

These steps will take a stock-install of Ubuntu server and guide the user in the steps necessary to fully take advantage of MineOS python scripts and web interface. For all intent and purposes, the end result will be strongly comparable to an installed MineOS CRUX installation, with a few pluses and minuses.

  1. + Wider driver support built-in, OS update automation
  2. + More heavily documented distribution, more novice-friendly packaging system
  3. + Larger distribution-community
  1. - Shields the user from much education that CRUX inherently encourages
  2. - Higher memory footprint
  3. - Requires user upfront to do setup tasks

In the end, both approaches will help you successfully learn to be a system administrator of a Minecraft game server. I hope this helps!

Installing Ubuntu

Install Ubuntu using the ISO of your choice (x86/x64, LTS/standard) from Ubuntu Server's Website.

For help installing Ubuntu, refer to the Official Documentation, accompanied with MineOS-on-Ubuntu Installation Screenshots.

From here out, the instructions assume you are using x64. If you wish to use x86, you will need to use the alternate URL for the Hiawatha and Java packages. The URL is provided in each's respective section.

Configuring Ubuntu

Logging in as root

Once Ubuntu is installed, log into the terminal using PuTTY as your newly-created (non-mc) username:

<syntaxhighlight> login as: will will@ password: Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-29-generic x86_64)


Last login: Sun Nov 18 20:04:12 2012 will@mineos-ubuntu:~$ </syntaxhighlight>

Next, set the password for linux root and switch to root:

<syntaxhighlight> will@mineos-ubuntu:~$ sudo passwd root [sudo] password for will: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully will@mineos-ubuntu:~$ su - Password: root@mineos-ubuntu:~# </syntaxhighlight>

Creating the mc user

<syntaxhighlight> root@mineos-ubuntu:~# useradd -m -N -s /bin/bash mc root@mineos-ubuntu:~# passwd mc Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully root@mineos-ubuntu:~# </syntaxhighlight>

Installing required software

Removing Apache from the startup services


Removing any system startup links for /etc/init.d/apache2 ...


Update apt-get repos

Install Hiawatha webserver

For x86 installations, use this url instead: http://files.tuxhelp.org/hiawatha/hiawatha_8.8_i386.deb

If an error occurs: <syntaxhighlight> root@mineos-ubuntu:/usr/src/hiawatha# dpkg -i hiawatha_8.8_amd64.deb Selecting previously unselected package hiawatha. (Reading database ... 49886 files and directories currently installed.) Unpacking hiawatha (from hiawatha_8.8_amd64.deb) ... Setting up hiawatha (8.8) ... Starting webserver: Error binding error! Processing triggers for man-db ... Processing triggers for ureadahead ... ureadahead will be reprofiled on next reboot root@mineos-ubuntu:/usr/src/hiawatha# </syntaxhighlight>

This error occurs because port :80 is still bound to the running Apache2 daemon. You will only see this error if you did not stop the Apache service in the above step. However, it is not a problematic error and you can remedy it by restarting the server or stopping the Apache service as demonstrated above. You will not need to re-install the package and can continue the steps normally.

Install rdiff-backup

Installing Java7

There is more than one method to install Java.

The first method Installing using recommended Oracle-packaged binaries is for the admin who would like to maintain more than one version of Java. That is, each java version is stored in its own separate directory, allowing the admin to use any version at any time, simply by editing server.config.

The second method, Using Ubuntu-packaged binaries will update to the latest Java version that Ubuntu has prescribed for usage in the stable tree. This may not always be the latest possible version available, but it will be the Ubuntu-supported version, and future apt-get updates will overwrite this version with the most recent, Ubuntu-supported version.

Installing using recommended Oracle-packaged binaries

Available URLs depending on system architecture:

Note, the reason for the --no-cookies --header [...] is because Java's filehosting servers require a cookie to be accepted to show acceptance of the terms and usage policy. If you do not agree to Oracle's terms and usage policy, you should not download Oracle Java7 and instead use the OpenJDK.

Using Ubuntu-packaged binaries
Testing Java Symlink

When installed, you can test java works by checking its version:

<syntaxhighlight> root@mineos-ubuntu:/usr/java# /usr/java/java-latest/java -version java version "1.7.0_09" Java(TM) SE Runtime Environment (build 1.7.0_09-b05) Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode) root@mineos-ubuntu:/usr/java# </syntaxhighlight>

Be sure to test java, as shown above.

If this doesn't work, MineOS won't know where Java is and MineOS won't start up your server.

Your command-line results should indicate the java version, else the symlink is either incorrect or you did not install java properly. In the web-ui, 'Error 32512' (command not found) will appear.

Configuring MineOS

The following segments are directed toward shaping Ubuntu server to work with MineOS' python scripts. Be sure to take special note of which user should be committing which actions.

Creating MineOS file structure

Create directories and establish mc ownership.

Download python scripts and web-ui.

Configuring Hiawatha Webserver

Configuring iptables (firewall)

Secure all inbound ports and allow ports 22 (SSH), 80 (HTTP) and 25565 (Minecraft). For more information, see Iptables.

Installation Complete

That's it! The python scripts and web-ui are installed. You can now visit your IP in your browser and fully control MineOS-on-Ubuntu!

Missing/To-be-documented Features

Soon to be Documented