- CipUX 3.2.8 Installation Guide for Debian-Edu/Skolelinux
- This guide is brought to you by the work of many contributors; see revision history for details.
- Note
Please leave the main-document without wikification. It will go 1:1 outside this wiki (into CipUX packages and other places). So when doing changes it's a good idea to keep the style, too. Thanks!
CipUX 3.2.8 installation guide
for Debian-Edu/Skolelinux 2.0
Original by
Christian Kuelker
2005-08-01
License GPL
Revision 0.1 2005-08-01 by Christian Kuelker (init)
Revision 0.2 2005-08-11 by Christian Kuelker (add chapter 2)
Revision 0.3 2005-08-12 by Christian Kuelker (add Chapter 3)
Revision 0.4 2005-08-12 by Patrick Willam (several checks, "wording")
Revision 0.5 2005-08-12 by Holger Sicking (typo)
Revision 0.6 2005-08-12 by Christian Kuelker (/etc/hosts correction)
Revision 0.7 2005-08-12 by Patrick Willam (aptitude, backup)
Revision 0.8 2005-08-12 by Christian Kuelker (First steps)
Revision 0.9 2005-08-12 by Radi Wieloch (errors, numbers, orthography, grammar)
Revision 1.0 2005-08-12 by Christian Kuelker (repository changed)
Revision 1.1 2005-08-17 by Ralf Gesellensetter (warning)
Revision 1.2 2005-08-19 by Christian Kuelker (correct Revison, warning)
Revision 1.3 2005-08-19 by Christian Kuelker (change first steps)
Revision 1.4 2005-08-23 by Christian Kuelker (add cipux_maint_diagnostic pre)
Revision 1.5 2005-09-03 by Christian Kuelker (add CAT setup)
Revision 1.6 2005-09-07 by Christian Kuelker (add Samba configuration)
Revision 1.7 2005-09-07 by Christian Kuelker (add Samba in cipux.conf)
Revision 1.8 2005-09-15 by Michael Stamm (LDAP schema include place)
Revision 1.9 2005-09-21 by Georg Damm (correct backup-path)
Revision 2.0 2005-10-06 by Christian Kuelker (correct Samba install, add script)
Revision 2.1 2005-10-06 by Christian Kuelker (samba access rights for LDAP)
Revision 2.2 2005-10-25 by Christian Kuelker (samba default groups)
Revision 2.3 2005-11-01 by Juergen Leibner (correct /etc/pam_ldap.conf)
Revision 2.4 2005-11-05 by Christian Kuelker (application form installation)
Revision 2.5 2005-11-24 by Patrick Willam (minor enhancements, clearifications)
Revision 2.6 2005-11-25 by Georg Damm (hints to change WLUS-users to CipUX-users)
Revision 2.7 2005-11-26 by Christian Kuelker (clearifications)
Revision 2.8 2005-12-31 by Christian Gatzemeier (div. corrections and alternatives)
Revision 2.9 2006-01-27 by Martin Herweg (install on pr06,image-deploy for fat clients)
Revision 3.0 2006-04-08 by Christian Kuelker (ftp_proxy)
Revision 3.1 2006-04-14 by Christian Kuelker (move to debian-wiki, some simplifications)
Revision 3.2 2006-05-19 by Christian Kuelker (after Agreement, change License to GPL)
Contents:
1 Preparing the Debian-Edu/Skolelinux system
1.1 Upgrading the LDAP server with CipUX schema
1.2 Prepare the CipUX package install process
2 Installing the CipUX framework packages
3 System configuration
3.1 Configuring the LDAP
3.2 Configure the CipUX framework
3.3 The webmin setup
3.4 Enter CAT
3.5 First steps
4 Additional system configuration
4.1 Samba configuration
4.2 CipUX-deploy
1 Preparing the Debian-Edu/Skolelinux system
----------------------------------------------
This manual is for the installation of CipUX 3.2.8 on a freshly
installed Debian-edu/Skolelinux 2.0 with main server profile.
*============================[ WARNING ]============================*
|| ||
|| WARNING: Do not use CipUX on a productive Debian-edu/Skolelinux ||
|| system, if you already have added users by means of WLUS ||
|| (webmin-ldap-user-simple)! ||
|| The installation will not delete your users, but this is not a ||
|| migration manual and therefore the resulting LDAP datababase is ||
|| going to be unuseable for a productive environment. ||
|| ||
*===================================================================*
To install CipUX you will also need a working internet
connection!
Almost all(!) steps in this installation manual have to be done on
the machine which has been installed with the main server profile!
This maschine identifies itself by the name "tjener".
The only(!) steps that may also be done by using another machine
are the few ones that are done by using a web-browser.
Conventions in this manual:
CTRL = press the control key
CTRL-c press the control key, hold it, and press the c key
$ = you may execute this command as any user
# = you have to execute this command as root user
(1)...(x) are command and output numbers and are used for
references, they are not intended to be written.
<OK> means pressing the button "OK".
vim (you may use you favorite editor here)
User-hint: (Some not tested advice from users)
1.1 Upgrading the LDAP server with CipUX schema
-----------------------------------------------
Valid DNS names "ldap" and "cipux" are necessary.
You need a valid name resolution for the ldap server
and the host name cipux.
Insert the name cipux into the /etc/hosts file by changing
the line:
(1)
127.0.0.1 localhost
to
127.0.0.1 localhost cipux
Userhint: Better and easy to do: Define a new cname (cannonical
name). Webmin ->Servers ->Bind DNS ->intern.
Zone ->Name Alias (Name: cipux Real Name: tjener)
An ldap cname already exists in skolelinux.
You also need the resolution of the name ldap. Usually it
should be resolved by the local DNS server.
It can be tested with the command:
(2)
$ ping ldap
This should produce output like this:
(3)
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from tjener.intern (10.0.2.2): icmp_seq=1 ttl=64 time=0.069 ms
64 bytes from tjener.intern (10.0.2.2): icmp_seq=2 ttl=64 time=0.070 ms
64 bytes from tjener.intern (10.0.2.2): icmp_seq=3 ttl=64 time=0.068 ms
(4)
Cancel with CTRL-c
If there is output like
(5)
ping: unknown host ldap
this means, that the computer can't know his own name as ldap,
which should be the case for the server. A quick workaround for
ipv4 networks is to edit the file /etc/hosts and change the line:
(6)/etc/hosts
127.0.0.1 localhost cipux
to
127.0.0.1 localhost ldap cipux
Repeat the commands (2) and (6) until you receive the
output of (3).
1.2 Prepare the CipUX package install process
---------------------------------------------
Edit the file /etc/apt/sources.list and add the following lines:
(7)/etc/apt/sources.list
deb http://debian.cipworx.org/ sid main contrib non-free
deb http://ftp.debian.org/debian/ sarge main contrib non-free
Then switch off the proxy by typing
(8)
export http_proxy=""
export ftp_proxy=""
2 Installing the CipUX framework packages
-------------------------------------------
Execute these commands as root:
(9)
# ping debian.cipworx.org
(10)
# CTRL-c
(11)
# aptitude update
(12) On some systems it must be done twice. (Ask a Debian guru why!)
# aptitude update
(13)
# aptitude install cipux-common cipux-cibot cipux-cat-webmin
3 System configuration
-------------------------
3.1 Configuring the LDAP
--------------------------
First of all we need a well configured LDAP server and just
to be save a backup.
We look if the ldap server is started:
(14)
# ps ax | grep slapd | grep -v grep
This should produce output like:
(15)
2890 ? Ss 0:00 /usr/sbin/slapd -h ldap:/// ldaps:///
This means the ldap server is running. So we stop it with:
(16)
# /etc/init.d/slapd stop
We have to be sure that the ldap server is stopped. So if
we execute (14) again it should not generate any output.
Then we make a temporary backup, which may only be used for
this ldap version. We execute the archive program:
(17)
# tar cvjf /skole/backup/tmp_backup_ldap.tar.bz2 /var/lib/ldap
Backup Restore (Only if you need it!)
+------------------------------------------------------------------+
| If you want to restore your ldap data later, you may write the |
| backup back (when the ldap server is NOT running!) with: |
| |
| (18) |
| # /etc/init.d/slapd stop |
| # rm -r /var/lib/ldap |
| # cd / |
| # tar xvjf /skole/backup/tmp_backup_ldap.tar.bz2 |
| # /etc/init.d/slapd start |
+------------------------------------------------------------------+
Now we edit /etc/ldap/slapd.conf and add a new include line
(at the END of the other includelines):
(19)
# vim /etc/ldap/slapd.conf
include /etc/ldap/schema/cipux.schema
*============================[ WARNING ]============================*
|| ||
|| WARNING: You might like CipUX so much that you probably put the ||
|| include in front of the other includes. But: don't do that! ||
|| You will get errors about the not known attribute uid. ||
|| ||
*===================================================================*
We start the ldap server again with:
(20)
# /etc/init.d/slapd start
And check if its started with (14). It should produce output
like (15).
3.2 Configure the CipUX framework
-----------------------------------
First of all we are on a Debian-edu/Skolelinux system,
therefore we have to tell this to the CipUX framework by
editing /etc/cipux/system.conf and change
(21)
# vim /etc/cipux/system.conf
Customer = default
to
Customer = skolelinux
Then you have to grant CipUX the access to the ldap server.
On Debian-edu the already set root password is also the LDAP
password. (It's NOT a new password!)
We have to edit /etc/cipux/cipux.conf and change one line.
If your LDAP pasword is "himitsu" you will have to change
(22)
# vim /etc/cipux/cipux.conf
Ldap_Password=secret
to
Ldap_Password=himitsu
(Use _your_ actual LDAP password instead of "himitsu"!)
And only IF you also want to use Samba change
Cipux_Use_Samba=no
to
Cipux_Use_Samba=yes
After this we have to test the access to the ldap server:
(paste this into one command line with propper spaceing)
(23)
# /usr/bin/ldapsearch -x -p 389 -h localhost -ZZ -w 'himitsu' -D 'cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no' -b 'uid=root,ou=People,dc=skole,dc=skolelinux,dc=no' -LLL
(Again: use _your_ LDAP password instead of "himitsu"!)
If we get:
(24)
ldap_bind: Invalid credentials (49)
The LDAP password was wrong.
(Check for the command line syntax, the LDAP password
and if the LDAP password is shell save)
If we get:
(25)
dn: uid=root,ou=People,dc=skole,dc=skolelinux,dc=no
objectClass: sambaSamAccount
objectClass: account
uid: root
sambaSID: S-1-5-21-2697446647-283449030-1896125139-1000
everything is ok. (The sambaSID may be different.)
HINT [1]: If you plan to migrate from WLUS, use this link:
http://skolelinux.de/wiki/CipUX/Skripte/Migration
Then we check some settings by
(26)
# cipux_maint_diagnostic pre
Now we have to change the ldap database by setting up the
according CipUX structures. This is the most challenging task
in the process and may not easily be reversible!
Therefore the backup.
What will the script do?
- move ou=Machines,ou=People,dc=skole,dc=skoelinux,dc=no
to ou=Machines,dc=skole,dc=skoelinux,dc=no
- add ou=CipUX,ou=People,dc=skole,dc=skoelinux,dc=no
- add some default objects: admin, and roles
- DELETE some other objects!!!
*============================[ WARNING ]============================*
|| ||
|| WARNING: This script is intended to run on a 'freshly' ||
|| installed Debian-edu/Skolelinux release/ system ||
|| ||
*===================================================================*
Execute the following command:
(27)
# cipux_setup_ldap
and hopefully it will perform the work to change the ldap
database.
To test the installation run the diagnostic script.
(28)
# cipux_maint_diagnostic
It should only generate tests with answers "ok".
HINT [2]: If you plan to migrate from WLUS, use this link:
http://skolelinux.de/wiki/CipUX/Skripte/Migration
3.3 The webmin setup
--------------------
The final thing to do is to make the webmin module CAT
accessible for the webmin user root.
Start a browser (konqueror won't work!)
User-hint: Konqueror works using https://localhost:10000 or
https://10.0.2.2:10000, other local addresses are
currently not in the proxy exception list (should
be changed to contain .intern.) and not allowed
in the proxy.
(29)
$ mozilla-firefox
and switch off the proxy in the browser.
(30)
Edit -> Preferences -> General -> Connection Settings ...
-> "Dircect connection to the Internet"-> <OK>
Enter the following URL (location, address) into the
browser's location bar:
(31)
https://cipux:10000
A certification dialog will pop up ...
(32)
select "Accept this certificate permanently"
(33)
<OK>
Another dialog appears:
"You have requested an encrypted page. The website has
identified itself correctly, and information you see or
enter on this page can easily be read by a third party."
[...]
(34)
<OK>
(35)
Username: root
Password: himitsu
<Login>
(use _your_ root password instead of "himitsu"!)
(36)
<never for this site>
(37)
go to Webmin -> Webmin Users -> root
(38)
select System -> CipUX Administration Tool
(39)
press "save" button
New in 3.2.9:
If you want your users to be able to change there password with
userdata.cgi you have to do the following:
* As the user root before, give the webmin user "pam" the
Webmin CAT module.
New in 3.2.9:
If you want to use the application form module (new in 3.2.9) inside
your institution without password (it doesnt mak sense with a password)
you have to do the following:
* create a webmin user 'applicationform'
* add in webmin configuration:
anonymous user access the to URLs to the user applicationform for:
/cat/applicationform.cgi
/cat/images
3.4. Enter CAT
--------------
In webmin you have to go to
(40)
Webmin Index -> System -> CipUX Administration Tool
3.5 First steps
---------------
If you plan to use Samba, please read 4.1 first.
When you log in to CAT for the first time only the setup
module (setup.cgi) is availible. You may use this as root
or cipadmin.
Follow the setup questions. After finishing the setup
other modules will become availible depending on the setup.
If you now want to create an user, you will fail because
some objects do not exist yet. So please create the following
objects first:
(A) create a new group/course (example: class84 ) with
the CAT module "groups"
(German: "Gruppen")
(B) create a private skel with "skeladmin"
(German: "Vorlage Verzeichnis (skel)")
After these object creations are done you now may add a
new user with "User Support Sevice"
(German: "Benutzerbetreuung")
4 Additional system configuration
-----------------------------------
The additional system configuration is optional and doesn't have
do be done on every system.
4.1 Samba configuration
-----------------------
CipUX may be used in conjunction with samba. These steps should
be processed to get CipUX respect the additional features for
Samba. Note that this section does not cover specific Samba problems.
This section should be applied before the creation of users or
groups or workstations.
* Enable Samba in CipUX
(1)
# vim /etc/cipux/cipux.conf
Change
Cipux_Use_Samba=no
to
Cipux_Use_Samba=yes
* Edit the Samba configuration and check or change smb.conf.
(2)
# vim /etc/samba/smb.conf
Change
ldap machine suffix = ou=Machines,ou=People
to
ldap machine suffix = ou=Machines
On Sarge this should work:
passdb backend = ldapsam:ldaps://ldap
On Woody this may work (if you disabled crypted connections):
passdb backend = ldapsam:ldap://ldap
ldap ssl = start_tls
Change the machine creation
add machine script = /etc/samba/smbaddclient.pl %u
to
add machine script = /usr/bin/cipux_add -m --attribute uid='%u'
* check if the group "machine" exists:
(3)
# id machines
should give
(4)
uid=900(machines) gid=900(machines) groups=900(machines),10000(none)
If (3) failed you should add a group called "machines":
(5)
# groupadd -g 900 machines
Note: this group might go into LDAP in the future.
* (This is not tested, remarks welcome) Change pam_ldap.conf
This may only be important under the following condition:
User-hint: With the current configuration tools you will lose your
changes on the next upgrade if you change the ldap
settings by hand as described here. Use
dpkg-reconfigure.
Example: You create a new windows machine: ws24$
If the command id 'ws24$' does not result in a line like
uid=10936(ws24$) gid=900(machines) groups=900(machines)
you should solve the problem by editing pam_ldap.conf
(The numbers may be different)
A typo has been fixed here:
(6)
# vim /etc/pam_ldap.conf
Change
# The distinguished name of the search base.
# base dc=example,dc=net
base ou=People,dc=skole,dc=skolelinux,dc=no
to
# The distinguished name of the search base.
# base dc=example,dc=net
base dc=skole,dc=skolelinux,dc=no
(7) Enable samba PDC with LDAP
In /etc/ldap/slapd.conf change all
ou=Machines,ou=People,
to
ou=Machines
(8) Create some default groups if you want to use some logon.bat
Features:
Add the groups 'cipan' and 'sources' with CAT.
cipan: Samba share to store application.
Every user will get this share as drive I
sources: Samba share where cipadmin may store CDs.
cipadmin will get this share as drive J
4.2 Cipux-Deploy (after 3.2.9)
The CipUX deploy module is not part of 3.2.8.
4.2.1 install tftpd-hpa
apt-get install tftpd-hpa
Ignore the error messsage during install, because we run tftpd standalone , not with inetd.
edit the file
# vim /etc/default/tftpd-hpa
#Defaults for tftpd-hpa
RUN_DAEMON="yes"
#OPTIONS="-l -s /var/lib/tftpboot"
OPTIONS=" -l -v -v -v -c -p -U 007 -u cipux -a 192.168.0.254 -s /var/lib/tftpboot "
# id cipux
If the user user does not exist, then create it now:
# groupadd -g 200 cipux
# useradd -u 200 -g 200 -d /var/lib/tftpboot -s /bin/false cipux
# chown cipux /var/lib/tftpboot/cipux
# chown cipux /var/lib/tftpboot/cipux/conf
# chown cipux /var/lib/tftpboot/cipux/script
# /etc/init.d/inetd stop
# /etc/init.d/tftpd-hpa start
* remove inetd from the default runlevel
* add tftpd-hpa to default runlevel
|
