From MineOS Wiki
Revision as of 14:44, 30 November 2012 by Hexparrot (talk | contribs)
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.

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

If an error occurs: <syntaxhighlight> root@mineos-ubuntu:/usr/src/hiawatha# dpkg -i hiawatha_8.6_amd64.deb Selecting previously unselected package hiawatha. (Reading database ... 49886 files and directories currently installed.) Unpacking hiawatha (from hiawatha_8.6_amd64.deb) ... Setting up hiawatha (8.6) ... 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

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.

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>

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