Install YUM

From LaneWiki

Jump to: navigation, search

The following example was tested with CentOS 5.6. Unless otherwise stated, these commands should be run as root. Also, you should configure your system to use the base OS repositories, update repositories, and any additional free software repositories (at a minimum EPEL). The paths below assume you have not relocated the L’âne package from its default /opt location (although the L’âne package does support relocation).

Since YUM automatically handles updates and dependencies, it is the recommended install path. Though, if you are using another OS or YUM does not work for you, look at Install RPM. As it describes how to manually perform many of the steps now handled by YUM, it is useful even for non-RPM operating systems.

Contents

Initial System Setup

  • Install the basic system, including any additional needed repositories (RHEL/CentOS systems require EPEL).
  • Besides the required repositories, we recommend you install matchbox-window-manager (or some similar kiosk WM for the register)
  • Install the L'ane YUM repo. This operation does not install L’âne.
 wget http://sourceforge.net/projects/l-ane/files/repos/yum/noarch/l-ane-repos-LATEST.rpm
 rpm -Uvh l-ane-repos*.rpm

Initial L’âne Install

  • Install the L’âne RPM, including any required dependencies
 yum install lane
  • If your system's postgresql-server requires a manual initdb (like RHEL/CentOS), L’âne will fail to install. Though, the various prerequisites should install. In that case, manually run initdb and reinstall L’âne.
 service postgresql initdb
 yum install lane
  • Create two Unix users: a store manager, ourmanager, and a register user, register.
 useradd ourmanager -c "Our Store Manager"
 useradd register -c "L'ane POS Register"
  • Load the default DB roles
 su lanedbadmin
 psql template1 -f /opt/LanePOS/dataset/base-roles.sql
 #exit back to root
  • Create the database users
 su lanedbadmin
 createuser --no-createdb --no-superuser --no-createrole ourmanager
 #the default base-roles.sql creates a register user
 #exit back to root
  • Optional, but recommended: Try running the test suite as a DBA. If it fails, L’âne will not work. On CentOS/RHEL, you will need to fix the SAX parsers first! See Misc Perl oddness.
 su lanedbadmin
 cd /opt/LanePOS/tests
 ./run-all-tests.t
 #The tests should have ended in a Result: PASS. Any other result means there is a problem with your installation.
 #exit back to root
  • Create the empty database
 su lanedbadmin
 createdb mydbname
 #exit back to root
  • Install the base dataset
 su lanedbadmin
 psql mydbname < /opt/LanePOS/dataset/base-dataset.sql
 #if there were any errors, STOP AND FIX THEM
 #exit back to root
  • Edit the configuration file (/opt/LanePOS/config/site.pl) to point to your database. There is a sample file in /opt/LanePOS/config/sample-site.pl. At a minium you will need to define $ENV{'LaneDSN'}.

Configure Postgresql

  • Enable automatic staring of PostgreSQL
 chkconfig --level 345 postgresql on
  • Configure PostgreSQL to allow DB access
    • Edit ~postgres/data/pg_hba.conf, not needed on single system setups as they default to ident authentication on localhost.

Configure the Store's Data

  • Add products, tenders, taxes, clerks, etc

Configure the Register

The following needs more specific details.

  • Create an XML Register file, which defines the register's interface. See /opt/LanePOS/register/xmlRegister and Category:Installation for samples.
  • Configure your system to start the register user's desktop on startup.
    • For example, in /etc/inittab
 x:5:respawn:su - register -c 'sleep 10 && startx'
  • Configure register to startup a basic kiosk environment
    • Sample ~register/.xinitrc
#!/bin/bash

xscreensaver -no-splash &
matchbox-window-manager&
/opt/LanePOS/register/xmlRegister/xmlRegister Tk /opt/LanePOS/register/xmlRegister/myregister.xml 2> ~/register-errors

Other Notes

  • Some systems will require pam modifications to allow a scripted register to start X, as it is a privileged program.
  • Make sure to check out Misc Perl oddness!
Personal tools