Anmelden

Prüfkriterien

Die Standardinstallation verwendet ein virtuelles Verzeichnis SMACC auf Ihrem Webserver. Nach Einrichtung des virtuellen Verzeichnisses als Anwendung, können Sie die SMACC Oberfläche über folgenden URL starten:

http://localhost/SMACC

Sie sollten dabei die die Anmeldeseite der Office-Website laut Abbildung erhalten. Das Standard-Anmeldekonto lautet:

Benutzername: administrator
Kennwort: smaccware

Die Office-Website ist für die Verwaltungsaufgaben des Lieferanten vorgesehen. Die Office-Website wird im Normalfall wenig oder keine Anpassungsarbeiten erfordern. Um SMACC für Ihre Kunden zugänlich zu machen, müssen Sie eine zweite Website einrichten, siehe Lieferanten-Customizing.

150.5179.png, 1279x1023 Pixel,  Bytes

Allgemeine Hinweise

Die Installation von SMACCware entspricht der üblichen Verfahrensweise für ASP.NET-Appliaktionen. Im folgenden wird auf die beiden Zielplattformen Windows und Linux eingegangen.

Installation unter Microsoft Windows/IIS

SMACC installieren Sie wir eine gewöhnliche ASP.NET-Webapplikation. Die Installation ist auf allen Mircosoft Windows Desktop- und Serversystemen ab Windows 2000 möglich (2000, 2003, 2008, XP, VISTA, Windows 7), einschließlich 64-bit-Versionen. Es gibt gerinfügige Unterschiede bei der Installation auf den verschiedenen Betriebssystemversionen. Die Installation ist im Normalfall einfach und durch Microsoft gut dokumentiert. Grundlegend sollte für den produktiven Einsatz von SMACC als Web- und Applikationsserver ein Serverbetriebssystem verwendet werden, um die beste Performance zu erzielen. 

Die folgenden Hinweise geben Ihnen die allgemeine Handlungsabfolge vor. Einige Schritte sind dabei nicht in jeder Umgebung erforderlich.

  • Internetinformationsdienste (IIS) installieren über Programme und Funktionen > Windows-Funktionen. Die Anwendungsentwicklungsfeatures (ASP.NET) müssen ausgewählt sein. Bei Serverbetriebssystemen ist der IIS automatisch installiert. Der Dienst WWW-Publishingdienst muss gestartet sein und sollte auf automatischen Start eingestellt sein.
  • Anwendung SMACC auf das Verzeichnis Nsoft.Com.Website in ihrer SMACCware-Installation hinzufügen. Eine Anwendung ist ein virtuelles verzeichnis mit einem Anwendungspool, alternativ können Sie ein virtuelles Verzeichnis erstellen und in eine Anwendung konvertieren. Als Anwendungspool kann der DefaultAppPool verwendet werden. Die Ausführberechtigungen müssen auf nur Scripts eingestellt sein.
  • IIS > lokaler Computer > Webdiensterweiterungen
    Webdiensterweiterung - ASP.NET v2.0.50727 auf Zulassen setzen (ist möglicherweise abgeschalten).
  • Der Nutzer NETWORK SERVICE bzw. NETZWERKDIENST benötigt Schreibzugriff auf C:WINDOWSTemp weil der JIT-Compiler beim erstmaligen Aufruf der Website die kompilierte Website erstellt. Dieser Schreibzugriff ist möglicherweise abgeschalten. In dem Fall erhalten Sie im Webbrowser beim Aufruf der SMACC-Website eine Fehlermeldung "Unable to generate a temporary class (result=1). error CS2001 ... " Sie müssen den Schreibzugriff wie folgt einschalten:
    C:WINDOWSTemp > Eigenschaften > Sicherheit > Hinzufügen > Erweitert > Jetzt suchen > NETZWERKDIENST
  • Wenn Sie Logging verwenden wollen, muss der der Nutzer NETWORK SERVICE bzw. NETZWERKDIENST die Logdateien schreiben können und benötigt dazu entsprechende Schreibrechte. Standardmäßig ist ein mittleres Logging-Level vorbereitet aber nicht aktiviert, weil die Standardinstallation nicht von einem schreibbaren Zielordner ausgehen kann. Die Einrichtung der Logdateien und Aktivierung der Logging-Levels nehmen sie in der Datei NLog.config im Website-Verzeichnis vor. Weitere Informationen erhalten Sie unter NLog.
150.5161.png, 472x458 Pixel,  Bytes
Einrichtung der Anwendung im IIS-Manager 6.0 (Windows 2000, XP, 2003)
150.5162.png, 522x356 Pixel,  Bytes
Einrichtung der Anwendung im IIS 7.0 Manager (Vista)

64-bit-Windows

SMACCware selbst läuft im 64-bit-Modus unter IIS 6 und IIS 7 normal. Reine .NET Framework 2.0 Assemblies können ohne Rekompilierung generell unter 32-bit und 64-bit Framwork ablaufen. Nur wenn einzelne Module (Anbieter) in SMACC nicht verwaltete 32-Treiber ansprechen, müssen Sie im IIS-Manager für den verwendeten Anwendungspool 32-bit-Anwendungen aktivieren (damit ist gemeint dass die NET-Serverprozesse im 32-bit-modus laufen und dadurch 32-bit-Treiber binden können).

Wenn sie die in der Standardinstallation enthaltenen Berichtsanbieter auf Basis Report Manager verwenden wollen, die den 32bit-PostgreSQL ODBC-Treiber verwenden, müssen dies tun. Neuerdings gibt es aber 64bit-PostgreSQL ODBC-Treiber, so dass der 32-bit-Modus nicht mehr notwendig ist.

Einrichtung des 32-bit-Modus

Den aktuellen Modus des Anwendungspools erkennen Sie auch im Taskmanager am Prozeß w3wp.exe. Beim 32-bit Modus wird auf einem 64-bit System hinter dem Prozeßnamen *32 angezeigt.

IIS 7:

  • IIS-Manager starten
  • Anwendungspools > DefaultAppPool > Erweiterte Einstellungen > 32-bit-Anwendungen aktivieren = true

IIS 6:

Der IIS 6 kann ebenfalls auf 64-bits-Systemen zwischen 32-bit und 64-bit-Modus umgeschaltet werden, siehe http://support.microsoft.com/default.aspx?scid=kb;en-us;894435. Diese Konfiguration kann z.B. bei Windows Server 2003 eintreten. Um den IIS 6 in den 32-bit-Modus zu setzen, müssen Sie folgende beiden Befehle ausführen:

cscript %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs 
SET W3SVC/AppPools/Enable32bitAppOnWin64 1

%SYSTEMROOT%Microsoft.NETFrameworkv2.0.50727aspnet_regiis.exe -i 

Die IIS-Anwendungskonfiguration (Zuordnung von Erweiterungen, z.B. .aspx zu Modulen) wird dabei automatisch auf das 32-bit Framework umgestellt. An dem Dateipfad der ausgewählten aspnet_isapi.dll erkennen Sie auch, welcher Modus aktiv ist.

Sie müssen ferner im IIS-Manager die Webdiensterweiterung ASP.NET v2.0.50727 als 32-bit Framework zulassen. Möglicherweise ist diese Webdiensterweiterung als 32-bit-Framework nicht in der Auflistung der Webdiensterweiterungen enthalten oder nicht zugelassen. Sie können für den 32-bit-Modus eine Webdiensterweiterung hinzufügen. Wählen Sie je nach benötigten Modus die folgenden Dateien aus:

C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_isapi.dll
C:WINDOWSMicrosoft.NETFramework64v2.0.50727aspnet_isapi.dll

Installation unter Windows/Mono

Auch unter Microsoft Windows sind aktuelle Mono-Installationen verfügbar.

Installation unter Linux/Apache2

SMACC ist unter Linux mit Apache2 und Mono vollständig lauffähig. Grundlegend läßt sich Mono und SMACC auf allen Linux-Distributionen installieren. Jedoch unterscheiden sich die Distributionen hinsichtlich der direkt verfügbaren Mono-Versionen, der Installationsunterstützung und der Konfiguration. Bitte erkundigen Sie sich nach geeigneten Linux-Distributionen und Mono-Versionen (siehe Plattformunterstützung).

Mono-Installation

Bevor ASP.NET-Anwendungen eingerichtet werden, muss das Apache2-Modul libapache2-mod_mono installiert werden. Nach Installation des Paketes libapache2-mod_mono ist das Modul bereits aktiv. Der Apache muss neu gestartet werden.

/etc/init.d/apache2 force-reload

Siehe auch:

http://www.linux-magazin.de/Online-Artikel/Mod_mono-ermoeglicht-ASP.Net-Anwendungen-auf-Apache-2

Zum Testen der Mono-Installation ist es hilfreich die mit Mono mitgelieferte ASP.NET-Demoapplikation zu installieren (Paket asp.net2-demos). Nach der Installation des Paketes ist die Anwendung bereits im Apache eingerichtet und lauffähig.

Apache-Konfiguration für SMACC

Die Apache-Konfiguration für SMACC wird in einer der Apache-Konfigurationsdateien vorgenommen. Sprechen Sie dazu am besten mit dem Administrator des Servers. Die Hauptkonfigurationsdatei ist /etc/apache2/httpd.conf. Diese Datei enthält meist ein Include-Verweis auf ein Verzeichnis, wo Sie eine eigene Konfigurationsdatei erstellen können, z.B. /etc/apache2/conf.d/smacc.conf. Analog der ASP.NET Demoapplikation (falls installiert) können Sie den Eintrag /SMACC auch in /etc/mono-server2/mono-server2-hosts.conf vornehmen.

Zum bearbeiten verwenden Sie den jeweilig verfügbaren Editor:

kwrite /etc/apache2/conf.d/smacc.conf
gedit /etc/apache2/conf.d/smacc.conf
vi /etc/apache2/conf.d/smacc.conf

Fügen Sie folgenden Eintrag am Ende der Konfigurationsdatei mit ggf. geändertem Pfad oder virtuellem Verzeichnis ein:

Alias /SMACC "/home/nsoft/releases/com2010/Nsoft.Com.Website"
AddMonoApplications default "/SMACC:/home/nsoft/releases/com2010/Nsoft.Com.Website"
< Directory /home/nsoft/releases/com2010/Nsoft.Com.Website>
    Order Deny,Allow
    Allow from all
    SetHandler mono
    < IfModule mod_dir.c>
        DirectoryIndex Default.aspx
    < /IfModule>
< /Directory>

Mit dem Eintrag wird SMACC als virtuelles Verzeichnis installiert. Sie haben auch die Möglichkeit SMACC als Stammapplikation Ihres Webservers (ohne virtuelles Verzeichnis) oder als virtuellen Server (Bindung an eine IP-Adresse) zu installieren. Bitte lesen Sie dazu die Apache-Dokumentation.

Dateisystemrechte

Aus Sicherheitsgründen werden Webapplikationen oftmals so installiert, dass bei ASP.NET der Mono-Server keine Schreibrechte auf das Verzeichnis hat, in dem sich die Webapplikation befindet. Im Normalfall benötigt der Mono-Server auch nur Leserechte auf das Verzeichnis der Webapplikation. Es gibt naturgemäß folgende Ausnahmen, bei denen der Mono-Server Schreibzugriff benötigt:

  • Speichern von Sessions: Hier brauchen Sie nichts unternehmen, der Apache verwendet bereits das tmp-Verzeichnis.
  • Speichern von Logdateien: In der Standardinstallation von SMACCware werden die Logdateien in der Wurzel der Webapplikation geschrieben, weil die Standardinstallation nicht die Gegebenheiten des Zielsystems kennt. Bei fehlenden Rechten werden keine Logdateien geschrieben, ohne dass ein Fehler angezeigt wird. Wir empfehlen dringend, die Logdateien zu aktivieren und dazu den Pfad für die Logdateien auf das /tmp-Verzeichnis zu ändern (siehe NLog).
  • Speichern von hochgeladenen Dokumenten: Sie benötigen diese Funktion, um Vorlagen der Lieferanten über die Office-Website hochladen zu können. Die Dateien werden standardmäßig unter .../Files/Uploads in der Standardinstallation gespeichert. Ermitteln Sie den Nutzerkonto des Mono-Servers und übergeben Sie das Verzeichnis Uploads an dieses Nutzerkonto (im Beispiel wwwrun) mit den Rechten 755:
    ps -elf | mono-server
    cd .../Files
    chown wwwrun Uploads
    chmod 755 Uploads

Apache-Umgebungsvariablen

Für die korrekte Darstellung von Sonderzeichen im europäischen Sektor (z.B. Umlaute) bei Zugriff auf die ODBC-Schnittstelle durch Mono ist eine Umgebungsvariable LANG=en_US.UTF-8 erforderlich. Ist diese nicht korrekt gesetzt werden bei der Report-Ausgabe Sonderzeichen als ?? angezeigt. Außerdem kann es bei ungünstiger Einstellung (de_DE) zur Verschiebung von Kommastellen kommen.

Unabdingbar ist auch, dass das ausgewählte locale generiert ist, siehe ODBC unter Linux!

Hintergrund: Sonderzeichen werden als UTF8-Kodierung in der Datenbank gespeichert. Für NET-Applikationen und Mono ist die UTF8-Kodierung optimal, weil NET intern String als Unicode verarbeitet (siehe Zeichensätze und Kodierungen). Bei UTF8 werden nur Sonderzeichen außerhalb des ASCII-7bit-Zeichensatzes als 2-Byte-Codes (oder mehr) oberhalb 0x7f gespeichert und übertragen.

Da der Apache2 seine Umgebungsvariablen an den Mono-Server weitergibt, muss die Umgebungsvariable innerhalb der Apache-Konfiguration geändert werden. Dies können sie wie folgt bewerkstelligen.

1. Datei envvars suchen und bearbeiten

find / -name envvars
vi /etc/apache2/envvars
LANG=en_US.UTF-8

2. Datei apache2 bearbeiten

vi /etc/init.d/apache2

originaler Eintrag:

ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin"

erforderlicher Eintrag:

ENV="env -i LANG=en_US.UTF-8 PATH=/usr/local/bin:/usr/bin:/bin"

Überprüfung des Mono-Servers:

ps -elf #PID mod-mono-server2.exe ermitteln
sudo cat /proc/####/environ
   
Top

Wir arbeiten mit Software von http://www.campus21.de.

Verantwortlich für angezeigte Daten ist der Webdomain-Eigentümer laut Impressum.

Suche