tux

L i n u x - S c h u l e
BSCW Server

  Homepage | Server | Linux-Clients | Win9x-Clients | WinNT-Clients | Win3.11-Clients | Dos-Clients | Utilities  

Einführung

Ein BSCW Server ist die Erweiterung eines Web Servers um Groupwarefunktionalität. Mehrere Personen (oder Kurse, Klassen u.ä.) können an gemeinsamen Projekten arbeiten, ohne dass sich der Lehrer um die Zugriffsrechte auf bestimmte Verzeichnisse kümmern muß. Dateien können lokal bearbeitet und dann auf den BSCW Server geladen werden, wo andere sie entweder direkt oder nach einem Download weiterbearbeiten können. Einen optischen Eindruck eines BSCW Servers können Sie sich hier verschaffen: BSCW Sreenshot (81.027 byte)

Der BSCW Server kann für eine 90 Tage Testversion heruntergeladen werden bei http://bscw.gmd.de. Dort sind auch deutsche Hilfedateien zu bekommen.

Ab Version 3.0 wird der BSCW Server mitgeliefert, muss aber noch endgültig installiert werden. Eine Lizenz zum weiteren Betrieb ist für Schulen kostenlos zu haben, ist aber in der Regel an eine statische IP-Nummer gebunden, die aus dem Internet erreichbar sein muss. Weil die meisten Schulen so etwas nicht haben, sind inzwischen (Jan 2002) andere Möglichkeiten wie die Registrierung auf eine lokale Domain im Gespräch.

Der BSCW Server ist in Python programmiert und benötigt einen Python Interpreter mit Kryptographie Modul. Die vorkompilierte Python Version einer SuSE 6.2 läuft bei mir problemlos. Auch Reiner Klaproth hat eine fertige Python Version auf ftp://marvin.sn.schule.de/pub/linux abgelegt. In den neueren Versionen von V3.0 (ab Februar 2000) ist Python bereits fertig enthalten.

Wer die Quellen selbst kompilieren möchte, muß darauf achten, dass die Kryptographie Module mit übersetzt werden. Das ist in der Voreinstellung nicht der Fall, da ein Teil von Python in den USA entwickelt wird.


Entpacken

Das tar Archiv sollte in ein eigenes Verzeichnis entpackt werden. Ich habe /home/bscw gewählt. Um den bscw Server nicht mit root Rechten laufen zu lassen, habe ich mit adduser einen User bscw angelegt (mit UID=51), unter dessen UID der Server läuft.

gunzip /home/bscw/BSCW3.3.tar.gz

tar xf /home/bscw/BSCW3.3.tar

cd /home/bscw/BSCW3

Installieren

Nach dem Entpacken soll laut README mit "make" der Installationsprozess gestartet werden. Das aber schlägt unter Linux fehlt.
In der Datei Makefile.conf ist die folgende Zeile auszukommentieren:
#CC_WRAPPER = gcc -O
Jetzt muß noch einmal "make" aufgerufen werden, um die Startscripte richtig zu übersetzen.

Weitere Anpassungen sind in folgenden Dateien notwendig (siehe auch README.Apache):

/etc/httpd/srm.conf
/etc/httpd/httpd.conf
/etc/httpd/access.conf

/etc/http/srm.conf

Alias /bscw/ "/home/bscw/BSCW3/" 
<Directory /home/bscw/BSCW3/cgi>
Options +ExecCGI
AllowOverride ALL
</Directory>

/etc/httpd/httpd.conf

Alias /bscw_icons/ "/home/bscw/BSCW3/icons/german/"
Alias /bscw_objects/ "/home/bscw/BSCW3/objects/"
ScriptAlias /bscw/ "/home/bscw/BSCW3/cgi/"
ScriptAlias /pub/ "/home/bscw/BSCW3/pub/"
AccessFileName .htaccess

/etc/httpd/access.conf

<Directory /home/bscw/BSCW3>
Options Includes ExecCGI
AllowOverride ALL
allow from all
</Directory>

/home/bscw/BSCW3/src/config.py

Dann ist die Datei /home/bscw/BSCW3/src/config.py an die persönlichen Bedürfnisse anzupassen. Hier muß unbedingt die Umgebung für den Emailversand richtig eingestellt werden, weil der Server mit seinen Anwendern am Anfang nur per Email verkehrt.

Ich habe angepasst:

SERVER_HOME = 'http://www/bscw/'           # BSCW server home page
SERVER_HELP = 'http://www/bscw/bscw_help/german/' # BSCW Help files
SERVER_HELP_GERMAN = 'http://www/bscw/bscw_help/german/'
SERVER_INFO = 'http://bscw.gmd.de/about.html' # BSCW server info page

(Die letzte Zeile sollte man besser auch auf eine lokale Seite ändern.)

HTTP_PROXY = 'www:8080'

BYPASS_PROXY = [ 'eigene.domain.de' ]

SERVER_ROOT = 'http://www/bscw:80'

SMTP_HOST = 'mail'

SERVER_ADMIN = 'root@eigene.domain.de'

SERVER_ADMINS = 'mein_name'

Jetzt sollte man mit /home/bscw/BSCW3/start_servers den ersten Start versuchen. Nach den Anpassungen in der Apache Konfiguration muß der Webserver natürlich neu gestartet werden, bzw. ein "kill -HUP `cat /var/run/httpd.pid`" abgesetzt werden.

Der erste Kontakt

Im Browser ist ein Kontakt über den URL
http://www/pub/english.cgi?op=rmail
möglich. Man wird dann nach der eigenen Email Adresse gefragt und bekommt nach entsprechender Eingabe eine Mail vom Server zugeschickt, in der das weitere Vorgehen beschrieben ist.

Verfeinerung des Startscriptes

Für Testzwecke kann der Sevrer mit der Hand aufgerufen werden, läuft aber alles sollte der Start beim Hochfahren automatisch geschehen. Dazu sind in /sbin/init.d entsprechende Startscripte zu erstellen:

/sbin/init.d/bscw

#!/bin/bash
#
# BSCW-Start; Teil des ODS-Servers.
# Autor: Thomas Litsch, 02.11.1999
# 

. /etc/rc.config

test "$START_BSCW" = yes || exit 0

ret_code=$rc_ok
case "$1" in
    start)
        echo -n "Starte BSCW-Server ..."
        startproc /home/bscw/BSCW3/start_servers || ret_code=$rc_failed
        echo -e "$ret_code"
        ;;
    stop)
        echo -n "Beende den BSCW-Server ..."
        /home/bscw/BSCW3/start_servers -k || ret_code=$rc_failed 
        echo -e "$ret_code"
        ;;
    *)
        echo "Aufruf: $0 {start|stop}"
        exit 1
esac

exit 0

Das Script fragt die Existenz der Variable "START_BSCW" in /etc/rc.config ab. Sie muß dort auf "yes" gesetzt werden. Um den Server nur in den entsprechenden Runlevels (2 und 3) zu starten sind weitere Dateien nötig:
S20bscw und K20bscw
Beide Dateien sind symbolische Links auf /sbin/init.d/bscw. Sie werden angelegt mit:
ln -s /sbin/init.d/bscw /sbin/init.d/rc2.d/S20bscw
ln -s /sbin/init.d/bscw /sbin/init.d/rc2.d/K20bscw

In /sbin/init.d/rc3.d verfährt man analog.

  Nach oben

© Thomas Litsch, zuletzt aktualisiert Fre Jan 18 12:26:03 CET 2002, Email: thomas.litsch@linux-schule.de