Installing on Mini-Box: Difference between revisions

From IHRIS Wiki
m (Added category)
m (point to debian package installation)
Line 1: Line 1:
These are installation notes for getting the [http://www.mini-box.com/M200-LCD-Enclosure?sc=8&category=87 mini-box] LCD appliance up and running with Ubuntu Server 32-bit 9.04 (Jaunty) wth an  processor and making use of the [https://launchpad.net/lcdmenu menuing] system.
These are installation notes for getting the
[http://www.mini-box.com/M200-LCD-Enclosure?sc=8&category=87  
mini-box] LCD appliance up and running with Ubuntu Server 32-bit 9.04
(Jaunty) wth an  processor and making use of the
[https://launchpad.net/lcdmenu menuing] system.


[[Image:Mini-box-ihris-suite.jpg|center]]
[[Image:Mini-box-ihris-suite.jpg|center]]


<center><videoflash>6h79JeTiSQg</videoflash></center>
<center><videoflash>6h79JeTiSQg</videoflash></center>
This document covers installation of Ubuntu and the bits of software
to control the LCD Panel on the iHRIS Appliance.  For information on
installing the iHRIS Suite itself (including a full LAMP stack) see
[[HowTo: Installing the Debian Packages|Installing Debian Packages]]


==Ubuntu==
==Ubuntu==
Although we will intend to run this box without a monitor for the moment we will plug in the monitor to install Ubuntu from
Although we will intend to run this box without a monitor for the
a USB-CDROM. Make sure the BIOS is configured to boot from the CD-ROM.  Also, under Peripheral Devices you will need to enable all legacy support (or it will hang on installation).
moment we will plug in the monitor to install Ubuntu from a USB-CDROM.  
Make sure the BIOS is configured to boot from the CD-ROM.  Also, under
Peripheral Devices you will need to enable all legacy support (or it
will hang on installation).


For a flash drive, apparently [http://suereth.blogspot.com/2008/03/my-new-toy-installing-ubuntu.html Josh] has had some success following [http://edoceo.com/liber/ubuntu-live-usb these directions].
For a flash drive, apparently
[http://suereth.blogspot.com/2008/03/my-new-toy-installing-ubuntu.html
Josh] has had some success following
[http://edoceo.com/liber/ubuntu-live-usb these directions].


We will do a [http://advosys.ca/viewpoints/2007/04/setting-up-software-raid-in-ubuntu-server/ Software Raid].  Once it has been setup, we need to [http://ubuntuforums.org/showthread.php?t=237582 monitor] it using mdadm:
We will do a  
[http://advosys.ca/viewpoints/2007/04/setting-up-software-raid-in-ubuntu-server/
Software Raid].  Once it has been setup, we need to
[http://ubuntuforums.org/showthread.php?t=237582 monitor] it using
mdadm:
To do this:
To do this:
  sudo dpkg-reconfigure mdadm
  sudo dpkg-reconfigure mdadm
Line 21: Line 40:


==Mail Server==
==Mail Server==
We don't want our box to be the general mail server for the network. There is a mail server, postfix, installed by default on Ubuntu  We will want to set the mail server to relay email to some other place.   First we need to do:
We don't want our box to be the general mail server for the network.  
There is a mail server, postfix, installed by default on Ubuntu  We
will want to set the mail server to relay email to some other place.
First we need to do:
  sudo apt-get install postfix
  sudo apt-get install postfix
Then select
Then select
Line 27: Line 49:
   somewhere.org        //the name of your organization
   somewhere.org        //the name of your organization
   smtp.somewhere.org  //your smtp server to relay mail to
   smtp.somewhere.org  //your smtp server to relay mail to
The above assumes that smtp.somewhere.org is an '''open''' relay which is probably not the case.
The above assumes that smtp.somewhere.org is an '''open''' relay which
 
is probably not the case.
You will probably need to set Postfix up for [http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html SMTP Auth]
 
As an ''alternative'' here are some  instructions for forwarding to a [http://ubuntu-tutorials.com/tag/relayhost/ gmail accout].
 
 


==LAMP Server==
You will probably need to set Postfix up for
[http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html
SMTP Auth]


In case you forgot to install the LAMP server on Unbuntu installation, make sure you do a  
As an ''alternative'' here are some  instructions for forwarding to a
sudo apt-get install openssh-server^
[http://ubuntu-tutorials.com/tag/relayhost/ gmail accout].
sudo apt-get install lamp-server^
sudo apt-get install php5-cli
and generally follow the instructions:
http://wiki.ihris.org/wiki/Linux_(Ubuntu)_Installation


==USBLCD Reader==
==USBLCD Reader==
Line 48: Line 63:
   sudo adduser --disabled-login --gecos "" lcdmenu  
   sudo adduser --disabled-login --gecos "" lcdmenu  


Download and build the [http://resources.mini-box.com/online/picoLCD%2020x2%20(OEM)/Software/Linux/SDKSource/picoLCD20x2-SDK-0.1.7.tgz SDK] or at least just what it includes [http://www.mini-itx.com/store/information/usblcd/usblcd-src-0.1.4.tgz usblcd-src].  Install 'usbread' into the /home/lcdmenu/bin.  To build it you will need to do this:
Download and build the
  sudo apt-get install autoconf gcc-4.1-base gcc-4.1 gcc make automake binutils binutils-dev libtool libusb-dev libhid-dev bzr
[http://resources.mini-box.com/online/picoLCD%2020x2%20(OEM)/Software/Linux/SDKSource/picoLCD20x2-SDK-0.1.7.tgz
SDK] or at least just what it includes
[http://www.mini-itx.com/store/information/usblcd/usblcd-src-0.1.4.tgz
usblcd-src].  Install 'usbread' into the /home/lcdmenu/bin.  To build
it you will need to do this:
  sudo apt-get install autoconf gcc-4.1-base gcc-4.1 gcc make automake
binutils binutils-dev libtool libusb-dev libhid-dev bzr
  cd ~lcdmenu
  cd ~lcdmenu
  sudo -u lcdmenu bzr branch lp:lcdmenu bin
  sudo -u lcdmenu bzr branch lp:lcdmenu bin
  cd ~/
  cd ~/
  wget http://www.mini-itx.com/store/information/usblcd/usblcd-src-0.1.4.tgz
  wget
http://www.mini-itx.com/store/information/usblcd/usblcd-src-0.1.4.tgz
  tar -xzvf usblcd-src-0.1.4.tgz
  tar -xzvf usblcd-src-0.1.4.tgz
  cd usblcd-0.1.4
  cd usblcd-0.1.4
Line 68: Line 90:


==LCD Menu==
==LCD Menu==
This applies to [https://code.launchpad.net/~intrahealth+informatics/lcdmenu/dev-1.0 LCD Menu 1.0] which is not packaged yet. You have already downloaded it via bzr in the step above
This applies to
[https://code.launchpad.net/~intrahealth+informatics/lcdmenu/dev-1.0
LCD Menu 1.0] which is not packaged yet. You have already downloaded
it via bzr in the step above


Now edit the "sudoers" file by running:
Now edit the "sudoers" file by running:
  sudo visudo  
  sudo visudo  
and add this line to grant the lcdmenu user limited access to system functions
and add this line to grant the lcdmenu user limited access to system
  %lcdmenu ALL=NOPASSWD: /sbin/shutdown, /etc/init.d/networking, /etc/init.d/apache2, /etc/init.d/mysql, /usr/bin/mysqldump, /usr/bin/apt-get, /usr/local/bin/usblcd2, /usr/bin/killall
functions
  %lcdmenu ALL=NOPASSWD: /sbin/shutdown, /etc/init.d/networking,
/etc/init.d/apache2, /etc/init.d/mysql, /usr/bin/mysqldump,
/usr/bin/apt-get, /usr/local/bin/usblcd2, /usr/bin/killall


Create a "backup" user in mysql with localhost only access and no password which can lock and select all tables
Create a "backup" user in mysql with localhost only access and no
password which can lock and select all tables
   mysql -u root -p
   mysql -u root -p
   mysql> GRANT SELECT,LOCK TABLES on *.* TO backup@localhost IDENTIFIED BY PASSWORD \'\';
   mysql> GRANT SELECT,LOCK TABLES on *.* TO backup@localhost
IDENTIFIED BY PASSWORD \'\';
   mysql> quit;
   mysql> quit;
(again no slashes)
(again no slashes)
Line 84: Line 114:
  sudo crontab -u lcdmenu -e  
  sudo crontab -u lcdmenu -e  
  * * * * * /home/lcdmenu/bin/lcdmenu_check.sh >/dev/null 2>&1
  * * * * * /home/lcdmenu/bin/lcdmenu_check.sh >/dev/null 2>&1
Wwe can get it up and running as fast as possible and put it a shutdown mesages by putting it in the [https://help.ubuntu.com/community/RcLocalHowto local startup]:
Wwe can get it up and running as fast as possible and put it a
shutdown mesages by putting it in the
[https://help.ubuntu.com/community/RcLocalHowto local startup]:
  sudo vi /etc/init.d/local
  sudo vi /etc/init.d/local
Add these contents:
Add these contents:
Line 93: Line 125:
     ;;
     ;;
   stop)
   stop)
     run=`ps a -Ulcdmenu | grep /home/lcdmenu/bin/lcdmenu.php | grep -v grep | cut -c1-5 | paste -s -`
     run=`ps a -Ulcdmenu | grep /home/lcdmenu/bin/lcdmenu.php | grep -v
grep | cut -c1-5 | paste -s -`
     if [  "$run" ]; then
     if [  "$run" ]; then
         kill -15 $run
         kill -15 $run
     fi;
     fi;
     run=`ps a -Ulcdmenu | grep /home/lcdmenu/bin/lcdmenu.php | grep -v grep | cut -c1-5 | paste -s -`
     run=`ps a -Ulcdmenu | grep /home/lcdmenu/bin/lcdmenu.php | grep -v
grep | cut -c1-5 | paste -s -`
     if [  "$run" ]; then
     if [  "$run" ]; then
         sleep 0.3
         sleep 0.3
Line 103: Line 137:
     fi;
     fi;
     killall usblcd2
     killall usblcd2
     /usr/local/bin/usblcd clear backlight 1 text 0 0  "  Shutting Down  " text 1 0 "    Please Wait  "
     /usr/local/bin/usblcd clear backlight 1 text 0 0  "  Shutting
Down  " text 1 0 "    Please Wait  "
     ;;
     ;;
  esac
  esac
Line 112: Line 147:


==Automount==
==Automount==
The LCD Menuing system has a "backup MySQL database to a flash drive" feature.  Since we will not be using GNOME, we will need a USB automounter:
The LCD Menuing system has a "backup MySQL database to a flash drive"
feature.  Since we will not be using GNOME, we will need a USB
automounter:
   sudo apt-get install usbmount
   sudo apt-get install usbmount
Then edit the file /etc/usbmount/usbmount.conf and add "vfat" to the FILESYSTEMS e.g:
Then edit the file /etc/usbmount/usbmount.conf and add "vfat" to the
FILESYSTEMS e.g:
     FILESYSTEMS="ext2 ext3 vfat"
     FILESYSTEMS="ext2 ext3 vfat"
then make sure the FS_MOUNTOPTIONS line has at least:
then make sure the FS_MOUNTOPTIONS line has at least:
Line 120: Line 158:


==Power Button==
==Power Button==
Make sure acpid is installed and running and change /etc/acpi/powerbtn.sh to suit your needs.
Make sure acpid is installed and running and change
/etc/acpi/powerbtn.sh to suit your needs.
I suggest you just make it the following:
I suggest you just make it the following:
  test -f /var/lock/acpisleep && exit 0
  test -f /var/lock/acpisleep && exit 0
Line 127: Line 166:
==UPS==
==UPS==


Install nut and [http://www.crn.com/white-box/199000818 follow these directions]  
Install nut and [http://www.crn.com/white-box/199000818 follow these
directions]  
as well as whatever is available on the
as well as whatever is available on the
[http://www.networkupstools.org/ home page] of the nut package.  nut
[http://www.networkupstools.org/ home page] of the nut package.  nut
Line 134: Line 174:


==Network Status==
==Network Status==
The MAC Address, to configure your router, can be obtained from the LCD Menu:
The MAC Address, to configure your router, can be obtained from the
LCD Menu:
  >F1:Server Status
  >F1:Server Status
  >F2:Network Status
  >F2:Network Status
  >F3:MAC Address
  >F3:MAC Address
Similarly, if you have plugged the server into a network with DHCP, you can get the IP Address:
Similarly, if you have plugged the server into a network with DHCP,
you can get the IP Address:
  >F1:Server Status
  >F1:Server Status
  >F2:Network Status
  >F2:Network Status
Line 145: Line 187:
==Webmin==
==Webmin==


See [http://www.ubuntugeek.com/ubuntu-serverinstall-gui-and-webmin-in-ubuntu-810-intrepid-ibex-guide.html me] or just cut and paste:
See
  sudo aptitude install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
[http://www.ubuntugeek.com/ubuntu-serverinstall-gui-and-webmin-in-ubuntu-810-intrepid-ibex-guide.html
  wget http://garr.dl.sourceforge.net/sourceforge/webadmin/webmin_1.441_all.deb
me] or just cut and paste:
  sudo aptitude install perl libnet-ssleay-perl openssl
libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
  wget
http://garr.dl.sourceforge.net/sourceforge/webadmin/webmin_1.441_all.deb
  sudo dpkg -i webmin_1.441_all.deb
  sudo dpkg -i webmin_1.441_all.deb
Browse to:  
Browse to:  

Revision as of 11:30, 21 July 2009

These are installation notes for getting the [http://www.mini-box.com/M200-LCD-Enclosure?sc=8&category=87 mini-box] LCD appliance up and running with Ubuntu Server 32-bit 9.04 (Jaunty) wth an processor and making use of the menuing system.

<videoflash>6h79JeTiSQg</videoflash>

This document covers installation of Ubuntu and the bits of software to control the LCD Panel on the iHRIS Appliance. For information on installing the iHRIS Suite itself (including a full LAMP stack) see Installing Debian Packages

Ubuntu

Although we will intend to run this box without a monitor for the moment we will plug in the monitor to install Ubuntu from a USB-CDROM. Make sure the BIOS is configured to boot from the CD-ROM. Also, under Peripheral Devices you will need to enable all legacy support (or it will hang on installation).

For a flash drive, apparently [http://suereth.blogspot.com/2008/03/my-new-toy-installing-ubuntu.html Josh] has had some success following these directions.

We will do a [http://advosys.ca/viewpoints/2007/04/setting-up-software-raid-in-ubuntu-server/ Software Raid]. Once it has been setup, we need to monitor it using mdadm: To do this:

sudo dpkg-reconfigure mdadm

Please enter the following:

 Yes: periodic, monthly checks of the array
 Yes: MD monitoring daemon
 someone@somwhere.org:  Email address for monitoring
 Yes: Start with degraded array

Mail Server

We don't want our box to be the general mail server for the network. There is a mail server, postfix, installed by default on Ubuntu We will want to set the mail server to relay email to some other place. First we need to do:

sudo apt-get install postfix

Then select

 Satellite System     //the type of system
 somewhere.org        //the name of your organization
 smtp.somewhere.org   //your smtp server to relay mail to

The above assumes that smtp.somewhere.org is an open relay which is probably not the case.

You will probably need to set Postfix up for [http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html SMTP Auth]

As an alternative here are some instructions for forwarding to a gmail accout.

USBLCD Reader

First create a user 'lcdmenu' that can't login:

 sudo adduser --disabled-login --gecos "" lcdmenu 

Download and build the [http://resources.mini-box.com/online/picoLCD%2020x2%20(OEM)/Software/Linux/SDKSource/picoLCD20x2-SDK-0.1.7.tgz SDK] or at least just what it includes [http://www.mini-itx.com/store/information/usblcd/usblcd-src-0.1.4.tgz usblcd-src]. Install 'usbread' into the /home/lcdmenu/bin. To build it you will need to do this:

sudo apt-get install autoconf gcc-4.1-base gcc-4.1 gcc make automake

binutils binutils-dev libtool libusb-dev libhid-dev bzr

cd ~lcdmenu
sudo -u lcdmenu bzr branch lp:lcdmenu bin
cd ~/
wget

http://www.mini-itx.com/store/information/usblcd/usblcd-src-0.1.4.tgz

tar -xzvf usblcd-src-0.1.4.tgz
cd usblcd-0.1.4
rm src/Makefile.am lib/usblcd.c
ln -s ~lcdmenu/bin/usblcd.c lib/usblcd.c
ln -s ~lcdmenu/bin/Makefile.am src/Makefile.am
ln -s ~lcdmenu/bin/main2.c src/main2.c
./autogen.sh
./configure
sudo make install
sudo ldconfig

Now we want to change the splash the screen at boot-up

sudo usblcd splash ~lcdmenu/bin/splash.txt

LCD Menu

This applies to [https://code.launchpad.net/~intrahealth+informatics/lcdmenu/dev-1.0 LCD Menu 1.0] which is not packaged yet. You have already downloaded it via bzr in the step above

Now edit the "sudoers" file by running:

sudo visudo 

and add this line to grant the lcdmenu user limited access to system functions

%lcdmenu ALL=NOPASSWD: /sbin/shutdown, /etc/init.d/networking,

/etc/init.d/apache2, /etc/init.d/mysql, /usr/bin/mysqldump, /usr/bin/apt-get, /usr/local/bin/usblcd2, /usr/bin/killall

Create a "backup" user in mysql with localhost only access and no password which can lock and select all tables

  mysql -u root -p
  mysql> GRANT SELECT,LOCK TABLES on *.* TO backup@localhost

IDENTIFIED BY PASSWORD \'\';

  mysql> quit;

(again no slashes)

Now we want it to setup to run periodically:

sudo crontab -u lcdmenu -e 
* * * * * /home/lcdmenu/bin/lcdmenu_check.sh >/dev/null 2>&1

Wwe can get it up and running as fast as possible and put it a shutdown mesages by putting it in the local startup:

sudo vi /etc/init.d/local

Add these contents:

#!/bin/sh 
case "$1" in
 start)
   sudo -u lcdmenu /home/lcdmenu/bin/lcdmenu_check.sh
   ;;
 stop)
   run=`ps a -Ulcdmenu | grep /home/lcdmenu/bin/lcdmenu.php | grep -v

grep | cut -c1-5 | paste -s -`

   if [   "$run" ]; then
        kill -15 $run
   fi;
   run=`ps a -Ulcdmenu | grep /home/lcdmenu/bin/lcdmenu.php | grep -v

grep | cut -c1-5 | paste -s -`

   if [   "$run" ]; then
        sleep 0.3
        kill -9 $run
   fi;
   killall usblcd2
   /usr/local/bin/usblcd clear backlight 1 text 0 0  "   Shutting

Down " text 1 0 " Please Wait "

   ;;
esac

Now do:

sudo chmod +x /etc/init.d/local
sudo update-rc.d local defaults 80

Automount

The LCD Menuing system has a "backup MySQL database to a flash drive" feature. Since we will not be using GNOME, we will need a USB automounter:

  sudo apt-get install usbmount

Then edit the file /etc/usbmount/usbmount.conf and add "vfat" to the FILESYSTEMS e.g:

   FILESYSTEMS="ext2 ext3 vfat"

then make sure the FS_MOUNTOPTIONS line has at least:

   FS_MOUNTOPTIONS="-fstype=vfat,gid=lcdmenu,dmask=0007,fmask=0117"

Power Button

Make sure acpid is installed and running and change /etc/acpi/powerbtn.sh to suit your needs. I suggest you just make it the following:

test -f /var/lock/acpisleep && exit 0
/sbin/shutdown -h now "Power button pressed"

UPS

Install nut and [http://www.crn.com/white-box/199000818 follow these directions] as well as whatever is available on the home page of the nut package. nut is built for network access to a UPS but seems to be the most up-to-date package available.

Network Status

The MAC Address, to configure your router, can be obtained from the LCD Menu:

>F1:Server Status
>F2:Network Status
>F3:MAC Address

Similarly, if you have plugged the server into a network with DHCP, you can get the IP Address:

>F1:Server Status
>F2:Network Status
>F3:MAC Address

Webmin

See [http://www.ubuntugeek.com/ubuntu-serverinstall-gui-and-webmin-in-ubuntu-810-intrepid-ibex-guide.html me] or just cut and paste:

sudo aptitude install perl libnet-ssleay-perl openssl

libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl

wget

http://garr.dl.sourceforge.net/sourceforge/webadmin/webmin_1.441_all.deb

sudo dpkg -i webmin_1.441_all.deb

Browse to:

https://your-server-ip:10000/

and login as the user you created on Ubuntu installation.