Migrating to unRAID 5.0 Release

unRAID 5.0 has now been officially released. Considering the significant changes, upgrade is not as smooth as it used to be so it is better to start off from scratch with a clean USB drive that only contains disk configuration. With the new add-ons management options it requires less tweaking in the ‘go’ startup file. Please read the release note. Depending of your current version you might just have to upgrade the unRaid image while with other (i.e. any 5.0 beta) it is advised to go through a fresh installation while using exisiting disk configuration.

Warning!

Only upgrade a server that has all disks enabled with valid parity: no missing disk(s), no disabled disk, etc. Verify everything is working correctly with your current release before proceeding.

Backup the entire contents of your Flash device before upgrading. If something goes wrong or a major problem is uncovered in the release this will make it easier for you to downgrade. You will also need it the backup to get your disk configuration.

Record the model, serial number, and position of each of your hard disks. Perhaps the easiest way to do this is to take a screen capture of the webGui Main page.

Bare unRAID 5.0 installation

Format USB Drive

You have been warned already. BACKUP the USB drive first so you don’t lose your disk configuration.

Open My Computer (XP) or Computer (Vista/Win7), right-click your Flash device and select Format…

For File system, leave what Windows sets as default.

For Volume label, enter use the following (all-caps)!

 UNRAID

Select Quick Format and click Start.

Copy unRAID 5.0 files and make disk bootable

Download latest unRAID 5.0 Release files from here

Click on your Flash device (to open it) and drag the entire contents of the unRAID Server release zip file to the Flash.

For Windows XP, click the file make_bootable. A DOS window will open and run the syslinux utility on the Flash. For Windows Vista or Windows 7, right-click the file make_bootable and select Run as administrator.

Copy back your configuration files

Only copy the following files from your old /config directory to Flash drive… not the go file

 disk.cfg
 flash.cfg
 ident.cfg
 network.cfg
 passwd
 Pro.key
 secrets.tdb
 shadow
 share.cfg
 shares (directory and its content)
 smb-extra.conf
 smbpasswd
 super.dat

Unmount flash drive

Once again, right-click your Flash device in My Computer or Computer and select Eject. Your Flash device is now ready to boot into unRAID Server OS.

Boot unRAID with new flash drive

Install the flash drive on unRAID server and boot.

First boot

Once system is started, check and compare the disk configuration with the screenshot you took of your last working configuration before starting the array. I would also recommend to check the split level for each user share and set it to Disable if you don’t plan to use it on a particular share.

When the array has successfully started you can safely enable the array auto start under Settings/Disk Settings.

From now you can only Telnet to the unRAID box. SSH will be enabled later.

Install SimpleFeatures add-on

SimpleFeatures adds many nice GUI tools to unRAID.

Download SimpleFeatures Plugin zip from our Google Code page.

Extract and choose the plugins you wish to install. The Base package is required for all other packages to run.

Create folder called plugins inside the root folder of the flash drive - /boot/plugins

Copy in the plugins (must have .plg extension) you wish to have installed.

When you are done you can reboot (or continue to install other addons before rebooting).

Do not copy Web Server plugin as there is a little bug showing a timezone error in a number of pages (PHP related). I also did not copy the iTune server and DNS server. If you need the webserver plugin (i.e. to use phpvirtualbox) then you need to manually fix the plg (see below).

Install Control Panel add-on

Instead of installing individual add-ons from [unRAID 5 plugins page](http://lime-technology.com/wiki/index.php/UnRAID5_Plugins you can use Control Panel to manage them all from one convenient place (i.e. acupsd, bittorrent sync, cache directory, deny host, openssh, virtualbox).

Please note that unMenu also provides its own package installer/manager that sometimes works better than the one provided by Control Panel (i.e. email notification).

Download control_panel-ikosa.plg

Copy PLG to /boot/config/plugins

Perform an ‘installplg control_panel-ikosa.plg’ or simply reboot.

Install unMenu

Unmenu is an improved, extensible web interface to supplement the web-based management console on Lime-Technology’s unRAID Network Attached Storage OS.

Unmenu is a web-server and a set of web-pages written in GNU Awk. It is restricted in that it can only handle one “request” connection at a time. Plug-in pages can be written in “awk” or in any interpreted text language.

To install this on an unRAID server Create a /boot/unmenu directory

 # mkdir /boot/unmenu

Download the unmenu_installXXXX.zip file. The install utility will download the latest version of unMENU. (It does not have the same version number as unMENU)

Unzip and move unmenu_install to the /boot/unmenu directory.

Install unmenu by doing:

 # cd /boot/unmenu

 # unmenu_install -i -d /boot/unmenu

Edit /boot/config/go to make unMenu to start on boot by adding:

/boot/unmenu/uu

To start unmenu running, invoke it as

/boot/unmenu/uu

or

 cd /boot/unmenu
 ./uu

or

Reboot

Once running you can view the unMENU pages in your web-browser by browsing to http://tower:8080

If you already have an older unmenu version installed type unmenu_install -u To check an existing installation for available updates, type unmenu_install -c

Install OpenSSH

Both unMenu and ControlPanel provide SSH setup. The one from ControlPanel is easy to configure even for multiple users.

Enable SSH on control panel

Click on Download Plg

Start the service

Change default SSH options

Under Settings/OpenSSH: Permit Root Login: Yes Password Authentication : No Permit Empty Passwords: No

Copy your old public key

Location for ssh keys have changed and supports multiple users (the same users found in unRAID).

It was stored in /boot/config/myconfig/ssh/idxxx.pub (for those who used my old ssh install script).

cp ../idxxx.pub /boot/config/plugins/ssh/root/.ssh/authorized_keys

Reboot and SSH should be working fine.

You can check that password is disabled by logging with:

 ssh root@192.168.0.10 -o PreferredAuthentications=password

Server should at this point returns:

 Permission denied (publickey,keyboard-interactive)

If you don’t like to see the keyboard-interactive then you can edit

 /boot/config/plugins/ssh/sshd_config

and add

ChallengeResponseAuthentication no

Install email notification

SimpleFeatures ships with an easy to configure email notification but I never succeeded in setting it up. I could send the test email but never received any daily email. Therefore I decided to uninstall it by removing its file from /boot/plugins and use the email notification from unMenu.

Go to http://tower:8080/pkg_manager and install both:

  • mail and ssmtp: you will have to change the configuration variables to accommodate your own email sever.
  • unraid-status-email:

Setup monthly parity check

Simple-features includes easy to use GUI for monthly parity check. You can configure it under Settings/SimpleFeatures.

In case it doesn’t work fine for you can also use the package from unMenu.

Instal other useful packages

There are many package under Control Panel found under Settings but also with unMenu.

Here are some interesting packages to install from unMenu via http://tower:8080/pkg_manager :

  • ntfs3g: read/write access on NTFS drives
  • powerdown: replacement for safer powerdown command and CTL+ALT+SUP support
  • vim: CLI text editor
  • unrar: to unrar files
  • screen: to keep console sessions active across connections
  • rsync: not required, it is already installed
  • bwm-ng: track network performance
  • encfs: access encrypted filesystems
  • htop: monitor system performance
  • md5deep: recursive file hash tool, it needs GCC compiler to be installed (can be installed via unMenu package manager and doesn’t need to be started on next reboot).

Show CPU & motherboard temperature on homepage

I use a SuperMicro C2SEA motherboard and couldn’t see the temperature on the homepage until I found the following post with a fix.

SuperMicro C2SEE/C2SEA Temperature Display Setup

Create the following (new) sensors.conf file in a persistent location (e.g. /boot/config):

 # config

 chip "w83627dhg-isa-0290"

 label temp1 "MB Temp"
 label temp2 "CPU Temp"

Add the following lines to your ‘go’ file:

 modprobe w83627ehf
 cp /boot/config/sensors.conf /etc/sensors.d

Temperature should now show up.

Virtualbox

Core VirtualBox

Installation

Go under Settings/Control Panel and click on Download Plg for VirtualBox then Install.

You will then need to go under Settings/VirtualBox and Download/Install:

  • VirtualBox
  • VirtualBox Extension
  • VirtualBox Guest Additions

Configuration

VMs configuration will be placed under /boot/custom/vbox. If you have been running VirtualBox in the past on unRaid then you can copy back your previous vbox directory with VM configurations at the same location.

You will also need to create the following directory for logs: # mkdir /boot/config/plugins/virtualbox/

Go under Settings/Control Panel and click on Download Plg for VirtualBox then configure:

 Install VirtualBox during array mount: Yes
 Check & Update VirtualBox during array mount: No
 Check & Update Plugin during array mount: No
 Start VMs and vboxwebsrv during array mount: Yes
 Which Virtual Machines should be automatically started: None
 VirtualBox symbolic link (part of install package): /boot/custom/vbox

 vboxwebsrv Host IP: 127.0.0.1
 vboxwebsrv Port: 18083

 vboxwebsrv log file location (must be valid location): /boot/config/plugins/virtualbox/vboxwebsrv.log

 vboxwebsrv log file "--verbose" mode: Yes
 vboxwebsrv log file rotation "LOGROTATE" option: 0
 vboxwebsrv log file size "LOGSIZE" option: 50000
 vboxwebsrv log file interval "LOGINTERVAL" option: 604800

phpVirtualBox

Fix and install webserver plugin

phpVirtualBox requires a webserver to run. The one from SimpleFeatures is fine but has a small bug that can be easily fixed.

Extract SimpleFeatures (see link above)

Edit simpleFeatures.web.server-1.0.11-noarch-1.plg

Replace all occurences (there should be 3 instances) of

  sqlite-3.7.14.1-i486-1.txz

with

  sqlite-3.7.17-i486-1.txz

Replace (there should be 1 instance)

 433769b1cd27b59667a34295184356e3

with

  60f75216d98dc6910f74eeef232421d7

Copy simpleFeatures.web.server-1.0.11-noarch-1.plg /boot/plugins/

Installplg /boot/plugins/simpleFeatures.web.server-1.0.11-noarch-1.plg

Enable webserver under Settings/Web Server

  Web server function: Enabled
  Web root directory: /boot/custom/webserver
  Listening port: 81
  PHP error logging: Enabled
  Error logging: Disabled
  Access logging: Disabled

Install phpVirtualBox

Download phpVirtualBox

Extract the file in the webserver directory (i.e /boot/custom/webserver)

Enable default config

 cp config.php-example config.php

Fix phpvirtualbox authentication

I coulnd’t get the authentication to work on phpvirtualbox. Best is to disable it because it can only be seen on your local network

Edit /boot/custom/webserver/config.php

Find an uncomment:

  var $noAuth = true;

Fix SOAP error when logging in

Edit /boot/config/simpleFeatures/php.ini and add, just below [PHP]

 extension = soap.so

Virtual host for multiple webservers

The following was found on unRaid forum. I’m just posting it here for reference.

I wanted to add “virtual hosts” to this so I could run the php front end to virtual box.

I decided to run my newznab host on port 85 and my phpvbox on port 84. For those who are curious, here’s what you add to the lighthttp.cfg in /boot/config/plugins/simplefeatures/ :

This code sets up the “host” for NEWZNAB, as well as the particular URL re-writing rules that the code requires. Originally this was a global configuration, and I couldn’t figure out why my PHPVBOX wasn’t working! It was because the URL-rewriting was effing things up :)

 # User customizations
 # Add your own settings here. These won't get overwritten upon reboot
 #
 $SERVER["socket"] == ":85" {
 url.rewrite-once = (
 "^/.*\.(css|jpg|jpeg|gif|png|js|ico)" => "$0",
 "^/(admin|install).*$" => "$0",
 "^/([^/\.]+)/?(?:\?(.*))$" => "index.php?page=$1&$2",
 "^/([^/\.]+)/?$" => "index.php?page=$1",
 "^/([^/\.]+)/([^/]+)/?(?:\?(.*))$" => "index.php?page=$1&id=$2&$3",
 "^/([^/\.]+)/([^/]+)/?$" => "index.php?page=$1&id=$2",
 "^/([^/\.]+)/([^/]+)/([^/]+)/?$" => "index.php?page=$1&id=$2&subpage=$3"
  )
 }

This code sets up the “host” for PHPVBOX

 $SERVER["socket"] == ":84" {
  server.document-root = "/mnt/extra/phpvbox/"
 }

This is just an example of how to have yet another “host” running on a different port. This way you can house different sites.

 $SERVER["socket"] == ":83" {
  server.document-root = "/mnt/extra/sandbox/"
 }
Share Comments
comments powered by Disqus