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/"
}