INSTALLING AND SETTING UP iTALC FOR USE
=========================================


Please note that all instructions in this file apply to the Linux-version of
iTALC. Users of the win32-version of iTALC should run setup.exe which will guide
you through the installation.

For further information you can also take a look at iTALC-Wiki:

	http://italc.sf.net/wiki/



Building iTALC
----------------

If you have ready to use packages (RPMs, DEBs etc.), you can skip this section
and continue with "Install iTALC".


Requirements:

- libqt4-dev and qt4-dev-tools (Debian-based distributions) or qt4-devel
  (Fedora etc.)
- xorg-dev or similiar
- libxtst-dev
- libjpeg62-dev/libjpeg-devel
- zlib1g-dev/zlib-devel
- libssl-dev/openssl-devel

Of course GCC/G++ (at least 3.3) must not be missing... 


Building:

It's the same as with most other opensource-software: run configure by invoking

./configure

If some requirements are not fullfilled, configure will inform you about it and
you have to install the missing software before continuing.

After configure ran successfully you can run

make install

Make sure you're doing the "make install" as root! This will install iTALC
directly on the computer.


Read the next section on how to setup iTALC.



Installing iTALC
-------------------

Requirements:

Of course you should have some computers, connected via TCP/IP-network... :-)

First you should download the neccessary packages depending on your 
Linux-distribution. If there're no packages for your distribution,
try to build iTALC yourself. See previous section for details.

If there're unfulfilled requirements, your package-management-system (dpkg,
RPM etc.) will complain about it.


Installing:

First you have to install the neccessary packages on your computer(s).
On clients you only have to install the packages italc: 

on DPKG-based systems:


apt-get install italc-client


on RPM-based systems:

rpm -i italc...rpm


On the master-computer you additionally need italc-master.

apt-get install italc-master

or

rpm -i italc-master...rpm



Setup an iTALC-client
----------------------

On clients you have to make sure that the iTALC-Client-Application (ICA),
provided by package italc, is being started when either X is started or a
user logs on.
There're several methods for doing this (this is why it's not done
automatically when installing the package):

1. add the appropriate command ("ica &") to /etc/X11/xinit/xinitrc.
   This method isn't recommend, because then ICA runs with the user's
   privileges -> the user is able to kill ICA and get out of teacher's
   control.

2. add "ica &" to /etc/X11/xdm/Xsetup. On some systems, this
   doesn't take effect, so either edit /etc/kde3/kdm/Xsetup or
   /etc/X11/gdm/Xsetup

You can easily test whether all is fine by running telnet on port 5900 of the
according compter.

example:

telnet 192.168.1.2 5900


You should see something like "RFB 003.008".



Setup iTALC-authentication
----------------------------

iTALC uses a sophisticated authentication-concept to make sure only
authorized persons are able to access computers using iTALC.

The security is achieved by data-signing and -verification using a public and
a private key. Thus you have to create a key-pair by invoking

ica -role teacher -createkeypair

which will create a key-pair in /etc/italc/keys.

Now copy the directory /etc/italc/keys/public to each client. Make sure the
whole directory including sub-directories and files are readable but not
writable to normal users. If you have network-shares (AFS, NFS, Samba etc.) it's
recommended to copy this directory to a network-share, set the according
permissions and link it on each client to /etc/italc/keys. This way it's no
problem to generate a new key-pair (e.g. if the private key was compromised)

Then (the most important thing!) make sure only the users which should be
allowed to use iTALC have (only!) read-access to /etc/italc/keys/private
including sub-directories and files. In most cases you would have to create a
group "teacher", add all teachers etc. to it and set permissions, so that only
this group has read-permissions.



Setup clients and classrooms (i.e. client-groups)
-------------------------------------------------

Before using iTALC, you need tell iTALC which clients to access and how they're
grouped. For doing so iTALC has an easy to use client-manager. After starting
iTALC, you can open it by clicking on the according button on iTALC's sidebar.

Now you can add clients and client-groups using the context-menu.

For installing the client-configuration you made for other users, copy the
XML-files in $HOME/.italc/ into directory .italc in every iTALC-user's home.
You can also link the file 'global-client-config.xml' to one global client-
configuration in a public network-directory, so that you can change every
user's client-config at once, if something in your network has changed (e.g. a
client was exchanged -> different MAC-address).



 
If there're still any problems, unsolved questions etc., mail me!
