SYMSALABIMSourceForge.net Logo
 Home > Documentation > Installing and setting up SYMSALABIM

Installing and setting up SYMSALABIM

1. Requirements

  • At least one NFS server, preferably capable of NFS3 and NFS over TCP
  • A mysql server version >= 4.1
  • A ssh server, which can be logged into and the UNIX command id can be executed.
  • At least one client with a JAVA runtime environment installed compatible to at least version 1.5
  • Additionally, if you want to use our web application, a web server with php5 and php5-mysql is required.

Please note: Although we're talking about servers, it is of course absolutely possible to use only one machine as a server for all services!

2. SSH services

2.1 Explanation

Whenever a SYMSALABIM application prompts for user name and password this is not verified internally. We have decided that it would be better to somehow be able to integrate the user name/password system into the authentication system used at the site which wants to use SYMSALABIM.

To accomplish this, use of a (probably existing) ssh service is the most easiest. SSH daemons can be integrated into almost any authentication system (from standard UNIX, to ldap and kerberos).

2.2 Special requirements

  • The UNIX command id is required on the ssh server: The SYMAdmin application, which is used to manage access roles of users retains the ssh connection to the server and executes the command id username whenever a new user is entered. That way we can be sure this user actually exists.
  • If you are using openssh as ssh service please make sure sshd does not use PAM. Our ssh libraries are currently unable to handle the interactive authentication protocol.

If you are somehow unable to meet these special requirements, please drop a line to SYMSALABIM-user at lists.sourceforge.net. Perhaps we can work something out.

3. Database setup

The following steps assume that you already have mysql 4.1 up and running.

  1. Download the latest symsalabim-db package and unpack it
  2. Enter a mysql admin console
  3. Run: source ./symsalabim.sql
  4. Decide which user will be first sysadmin
  5. Reenter the mysql admin console
  6. Run: update UserTable set user_name='FIRSTADMIN' where user_name='root';

3.1 Example with symsalabim-db version 2.0.0 and initial user is swp2

> tar xzf symsalabim-db-2.0.0.tar.gz
> cd symsalabim-db
> mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6 to server version: 4.1.10a-Debian_2ubuntu0.1-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> source symsalabim.sql
...output...
mysql> update UserTable set user_name='swp2' where user_name='root';
mysql> quit
      

4. Install JAVA management applications

  1. Download the latest symsalabim-java package and unpack it
    Tip: It might be a good idea to unpack the JAVA on a network share, accessible by all members of your staff.
  2. Read README enclosed in the package and create the symsalabim.properties file if necessary

5. Test

  1. Run the JAVA apps (see the README for details)
  2. Select the SYMAdmin application
  3. Log in with the first sysadmin user
  4. Add a second user

If everything worked (you should see your 2 users in the table), SSH, the database and the JAVA applications have been correctly set up.

6. Install the bootsystem

  1. Download the latest symsalabim-bootsystem
  2. On your NFS server create a new export and unpack the bootsystem to the newly created export
  3. Make sure your NFS server exports the bootsystem to all your clients read only, and without root squashing

6.1 Example export for Linux

> cat /etc/exports
/export/sym *(ro,no_root_squash,sync)
      

7. Configure the bootsystem

There are 4 things you need to configure:

  • DNS resolving (resolv.conf)
  • symsalabim.conf
  • Timezone
  • APT sources
  • Set keyboard and language for the SYMSALABIM client application

Important: When running applications inside the bootsystem it is important to do this chrooted. Never boot the bootsystem read write!

7.1 How to chroot

  • If your NFS server is a Linux box, become root and run chroot location-of-the-bootsystem
  • If your NFS server is not a Linux box, have your NFS server temporarily export the bootsystem read/write to a specific client (or Linux server):
    1. Boot Linux on the client (In the worst case, get a Knoppix and boot from that)
    2. Become root
    3. Mount the bootsystem share
    4. Run chroot mountpoint

7.2 resolv.conf

The file etc/resolv.conf contained in the unpacked bootsystem will not work and is not automatically generated when booting into the bootsystem. Please replace this file with one of your own. If you are already running Linux (or other UNIX system) copy a resolv.conf from one of your Unix machines.

If you don't have any UNIX systems, open a command shell on a Windows system and type "ipconfig /all". Jot down the values after

DNS Suffix Search List. . . . . . :

and put them into the result.conf in the form search .... Do the same for the listed as

DNS Servers . . . . . . . . . . . :

prefixing each of them with nameserver. For details see the man page of resolv.conf

7.3 symsalabim.conf

Replace the values for dbserver and loginserver in the file /etc/symsalabim.conf contained in the bootsystem with the host names/ip-addresses of your database and SSH server.

7.4 Configure the timezone

  1. Chroot into the bootsystem (see 7.1)
  2. Run tzconfig and select the appropriate timezone
  3. If you clients BIOS times are configured for GMT edit /etc/default/rcS and set UTC to yes
  4. If you have your own ntp server edit /etc/default/ntpdate and replace pool.ntp.org with yours

7.5 Configure apt

  1. Chroot into the bootsystem (see 7.1)
  2. Run apt-setup and select a Debian mirror near you
  3. Run apt-get update
  4. Run apt-get upgrade

7.6 Language/Keyboard layout

  1. Open the SYMAdmin application
  2. Choose File/SYMSALABIM Preferences...
  3. Choose the language the SYMClient should use (currently we only support english)
  4. Enter the X11 keyboard layout (us, de, ch, ...) the SYMClient should use

8. Set up your boot infrastructure

  1. Download the latest symsalabim-boot package and unpack it
  2. Read the enclosed README and create a boot cd
    Create a boot cd even if you plan to use PXE; boot cd are easier for testing purposes

9. Test

Boot a client PC with the created boot cd. If all goes well, login with one of the above defined users and inventory the system. Shut down, open the SYMInv application and check if the inventoried system is there.

If you can't boot:

  • Check if your settings in the isolinux.cfg file are correct
  • If the initrd is complaining that the NFS server is not reachable just type exit and see what happens.

If the SYMSALABIM client application is not working:

  • Check the contents of your resolv.conf and symsalabim.conf

If all else fails: Check the FAQ and if that does not help, read the Support page and drop a line in one of the mentioned places.

10. Where to go from here

  • Download and install the symsalabim-www package
  • Add more users (probably with different access rights) using the SYMAdmin application
  • Start thinking about which additional attributes you want and define them using the SYMInv application
  • Inventory more systems
  • Read the plugin documentation and try some of the example plugins
  • Write your own installer plugin

Appendix A: Using Debian as a server

If you don't have an existing infrastructure meeting the necessary requirements, its very easy to set up a single PC with Debian to act as a your first SYMSALABIM server (Debian contains all the necessary software).

  1. Install Debian, don't use tasksel and don't add any packages
  2. Log in as root
  3. Install your favorite editor (probably vi or xemacs).
    Example: > apt-get install vim xemacs21
  4. Install nfs-kernel-server and mysql-server-4.1.
    Run: > apt-get install nfs-kernel-server mysql-server-4.1
    Don't forget to set the root password for mysql!
  5. Edit /etc/ssh/sshd_config and set UsePAM to no, restart the ssh damon (> /etc/init.d/ssh restart
  6. Add the line deb http://people.debian.org/~dexter php5.0 sarge to /etc/apt/sources.list and run > apt-get update
  7. Run > apt-get install apache2 libapache2-mod-php5 php5-mysql and restart apache > /etc/init.d/apache2 restart
  8. Either further configure ssh to integrate itself into your authentication system or add some local users using adduser

Your done! Proceed setting up SYMSALABIM according to this manual.