Confetti

Kinderzirkus ohne Papier (außer Konfetti)

Confetti wird im Auftrag vom ZirkusZack im Vuesch e.V. entwickelt um die Mitgliederverwaltung im Verein zu vereinfachen.

Confetti ist darauf ausgelegt über den Webbrowser bedient zu werden. Es soll dabei nicht als Dienst von einem Fremdanbieter bereitgestellt werden. Die Software soll so einfach zu administrieren sein, dass ein Verein sie auf einem kleinen Webserver in seinen eigenen Büroräumen betreiben kann.

Confetti ist natürlich Freie Software. Es darf nach belieben verwendet, angepasst und weitergegeben werden.

Demoinstallation

Zu Demonstrationszwecken ist hier eine Installation mit Testdaten zugänglich:

Zur Demo

Entwicklung

Quellcode
git clone https://git.plutz.net/git/confetti

Aktuell erfolgt die entwicklung im Branch "cgilite" des Git-Repositories

Aktuelles Arbeitspaket

Weitere Arbeitspakete

Installation

Confetti ist eine Webapplikation und wird über einen Webserver betrieben. Als Webserver eignet sich jeder Dienst, der CGI-Scripte ausführen kann.

Diese Anleitung ist geschrieben für Leute die ein wenig Erfahrung mit dem Betrieb eines Webservers haben.

Confetti kann, einmal installiert, mehrere Instanzen verwalten. Die Installation erfolgt z.B. in das Verzeichnis /opt. Der Webserver kann dann mehrere Seiten Bereitstellen, die Confetti benutzen.

Benötigte Pakete

Die Beispiele hier beziehen sich auf die Installation unter Debian, oder Ubuntu GNU/Linux. Andere Distributonen stellen die gleiche Software über ihr jeweiliges Paketsystem ggf. unter ähnlichem Namen zur Verfügung.

Für Installation und Betrieb brauchen wir den git Client und einen Webserver:

# apt-get install git apache2

Zum einfachen Betrieb müssen diverse Unix-Tools installiert sein:

# apt-get install coreutils find grep sed zsh

Soll der PDF-Export genutzt werden, ist es außerdem nötig, einige LaTeX-Pakete zu installieren

# apt-get install pdflatex longtable ngerman

Installation von Confetti

Die Installation der Software erfolgt in unserem Beispiel nach /opt/confetti

git clone https://git.plutz.net/git/confetti /opt/confetti

Liefert der Webserver beispielsweise die Seite /srv/confetti aus, so wird diese Seite durch das Anlegen eines Symlinks bereit gestellt:

ln -s /opt/confetti/index.cgi /srv/confetti/

Konfiguration des Webservers

In den folgenden Konfigurationsbeispielen ist es dem Admin überlassen, Logging, SSL, und Authentifizierung einzurichten. Gezeigt werden nur die Teile, die zur Ausführung der Webapplikation nötig sind. Die Konfigurationsdateien sind nach Bedarf selbst anzupassen.

Der Webserver muss:

VHost-Konfiguration für Apache (wie in /etc/apache2/sites-enabled/):

<virtualhost *:80>
  ServerName  confetti
  
  DocumentRoot /srv/confetti
  <Directory "/srv/confetti">
    AllowOverride All
    Options +ExecCGI
    AddHandler cgi-script .cgi
    DirectoryIndex index.cgi
    SetEnv no-gzip 1
  </Directory>
</virtualhost>
    

Konfiguration für Lighttpd:

server.modules = (
"mod_cgi"
)
cgi.assign = ( ".cgi" => "" )
server.document-root = "/srv/confetti/"
index-file.names = ( "index.cgi", "index.html")
include_shell "/usr/share/lighttpd/create-mime.assign.pl"