Benutzer:Nlohmann/IT/Helpdesk

Aus Piratenwiki
Wechseln zu: Navigation, Suche


PIRATEN MV Helpdesk

Diese Seite fasst zusammen, wie der Helpdesk der PIRATEN MV aufgesetzt wurde. Dabei sind folgende Dinge zu beachten:

  • Die Befehle unten müssen als root ausgeführt werden.
  • Es wird davon ausgegangen, dass der Apache2-Webserver und ein MySQL-Datenbackserver bereits installiert sind. Die Datenbank wird von OTRS später selber angelegt.
  • Die IP unseres virtuellen Servers ist 83.133.105.209. Dies muss natürlich an deinen Server angepasst werden.
  • Die Domain, unter der der Helpdesk erreichbar sein wird ist https://helpdesk.piraten-mv.de. Auch das muss natürlich angepasst werden.

Rezept

  1. Erstelle einen Projektordner '/projects/otrs' für OTRS und linke ebenfalls das Verzeichnis '/opt/otrs' dort hin. OTRS ist leider sehr unflexibel und geht stets davon aus, dass es seine Daten unter '/opt/otrs' findet.

    mkdir -p /projects/otrs
    ln -s /projects/otrs /opt/otrs
  2. Lade die Quellen von OTRS 3.0.11 herunter und entpacke sie im Projektordner.

    mkdir /tmp/otrs-source
    cd  /tmp/otrs-source
    curl http://ftp.otrs.org/pub/otrs/otrs-3.0.11.tar.gz -O
    tar xf otrs-3.0.11.tar.gz
    mv otrs-3.0.11/* /projects/otrs
    rm -fr /tmp/otrs-source
  3. Installiere benötigte Pakete, damit Apache2 Perl-Scripte ausführen kann.

    apt-get install libapache2-mod-perl2 libdbd-mysql-perl \
      libnet-dns-perl libnet-ldap-perl libio-socket-ssl-perl \
      libpdf-api2-perl libsoap-lite-perl libgd-text-perl \
      libgd-graph-perl libapache-dbi-perl mysql-server
  4. Erstelle einen Nutzer für das OTRS und füge ihn zur www-data-Gruppe hinzu.

    useradd -r -d /projects/otrs/ -c 'OTRS user' otrs
    usermod -g www-data otrs
  5. Bereite OTRS vor und passe die Zugriffsrechte an

    cd /projects/otrs/Kernel
    cp Config.pm.dist Config.pm
    cp Config/GenericAgent.pm.dist Config/GenericAgent.pm
    cd /projects/otrs
    bin/otrs.SetPermissions.pl --otrs-user=otrs --otrs-group=otrs \
     --web-user=www-data --web-group=www-data /projects/otrs
  6. Erstelle eine Site für Apache2. In dieser Site wird ein virtueller Host für https://helpdesk.piraten-mv.de erstellt und SSL und das Logging konfiguriert. Außerdem werden Anfragen an http://helpdesk.piraten-mv.de auf https://helpdesk.piraten-mv.de umgeleitet. Viele dieser Einstellungen sind 1:1 aus der Datei /projects/otrs/scripts/apache2-httpd.include.conf entnommen.

    cat >/etc/apache2/sites-available/helpdesk <<EOF
    NameVirtualHost 83.133.105.209
    
    <VirtualHost 83.133.105.209:443>
      ServerName helpdesk.piraten-mv.de:443
      ServerAdmin webmaster@piraten-mv.de
    
      # webverzeichnis, indem html/css/images für das OTRS-Frontend liegen
      DocumentRoot /projects/otrs/var/httpd/htdocs/
    
      # virtuelle Pfade zur den html/css/images-Verzeichnis
      Alias /otrs-web/ "/projects/otrs/var/httpd/htdocs/"
      ScriptAlias /otrs/ "/projects/otrs/bin/cgi-bin/"
    
      ServerSignature On
    
      # load all otrs modules
      Perlrequire /projects/otrs/scripts/apache2-perl-startup.pl
    
      # Apache::Reload - Reload Perl Modules when Changed on Disk
      PerlModule Apache2::Reload
      PerlInitHandler Apache2::Reload
      PerlModule Apache2::RequestRec
    
        # Config-Foobar für den Perlinterpreter
        # Options ist ein Apache-Parameter
        <Location /otrs/>
            SetHandler  perl-script
            PerlResponseHandler ModPerl::Registry
            Options +ExecCGI
            PerlOptions +ParseHeaders
            PerlOptions +SetupEnv
        </Location>
    
        # Options: verfolge Symlinks
        # AllowOverride None: verbiete, mittels .htaccess Änderungen vorzunehmen
        <Directory />
            Options FollowSymLinks
            AllowOverride None
        </Directory>
    
        # für das html-verzeichnis
        # Erlaube Directorylistungs etc pp.
        # allow from all: erlaube den zugriff von überall (keine einschränkungen)
        <Directory /projects/otrs/var/httpd/htdocs/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
            #RedirectMatch ^/$ http://helpdesk.piratenpartei-mv.de/otrs/index.pl
        </Directory>
    
        # Allowed values: debug, info, notice, warn, error, crit, alert, emerg
    
        # wo sollen die Logs abgelegt werden?
        LogLevel warn
        ErrorLog /var/log/apache2/helpdesk_error.log
        CustomLog /var/log/apache2/helpdesk.log combined
    
        # so, und jetzt mal ssl naschalten
        SSLEngine on
        SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
        SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    
        # hier dann noch eine extrabehandlung für unsere IE-Freune
        BrowserMatch "MSIE [2-6]" \
                    nokeepalive ssl-unclean-shutdown \
                    downgrade-1.0 force-response-1.0
        # MSIE 7 and newer should be able to use keepalive
        BrowserMatch "MSIE [7-9]" ssl-unclean-shutdown
    </VirtualHost>
    
    <VirtualHost 83.133.105.209:80>
      ServerName helpdesk.piraten-mv.de:80
      ServerAdmin webmaster@piraten-mv.de
    
      RedirectMatch permanent ^(.*)$ https://helpdesk.piraten-mv.de$1 
    </VirtualHost>
    EOF
  7. Site einschalten und Apache2 neustarten.

    a2ensite helpdesk
    service apache2 restart
  8. Nun kann unter https://helpdesk.piraten-mv.de/otrs/installer.pl OTRS initial eingerichtet werden. Dazu muss eine Datenbankverbindung konfiguriert werden und die Daten für ein E-Mail-Postfach eingetragen werden.

  9. Cronjobs einschalten.

    cd /projects/otrs/var/cron
    for foo in *.dist; do cp $foo `basename $foo .dist`; done
    cd /projects/otrs
    bin/Cron.sh start otrs

Das OTRS ist nun fertig eingerichtet.

  1. Unter https://helpdesk.piraten-mv.de/otrs/index.pl?Action=AdminSupport werden in der Regel noch ein paar Warnungen zu fehlenden Paketen angezeigt, mit denen die Leistung von OTRS verbessert werden kann. Die können mit

    apt-get install libencode-hanextra-perl libjson-xs-perl libtext-csv-xs-perl

    installiert werden. Unter http://faq.otrs.org/otrs/public.pl?Action=PublicFAQ&ItemID=324 steht dann noch, wie man die Datenbankanbindung verbessert. Dabei sollte man nicht vergessen, den Datenbanknutzer einzustellen! Zuletzt muss noch Apache2 neugestartet werden.

    service apache2 restart

Backup

OTRS bringt sein eigenes Backup-Script mit. Um Backups in das Verzeichnis /backups/otrs zu erstellen, muss lediglich

/projects/otrs/scripts/backup.pl -d /backups/otrs/ -t fullbackup

ausgeführt werden. Es wird der komplette Ordner /projects/otrs und die Datenbank gesichtert.

Mobiler Zugriff

Es gibt eine kostenlose iPhone-App für den mobilen OTRS-Zugang. Sie kann unter http://www.otrs.com/de/produkte/iphone-app heruntergeladen werden (direkter Link im App-Store: http://itunes.apple.com/de/app/otrs/id383841790). In der App muss als URL

https://helpdesk.piraten-mv.de/otrs/json.pl

eingetragen werden.


HelpdeskComputer und Technik