Anmelden

Checkout campus21 Software

Die Installation bezieht sich auf die ECampus21 und CELLstudio (für SMACCware gibt es noch ein separate Installationsanleitung, siehe). Zum Ausbuchen der campus21-Produkte muss ein SVN-Client installiert sein. Informationen zur Installation und Benutzung von SVN siehe Subversion. Zum Ausbuchen aus SVN legen Sie einen lokalen Ordner campus21 an. Wechseln Sie in diesen Ordner und verwenden sie den SVN Kommandozeilenbefehl checkout (bzw. den Ersatz des jeweiligen SVN-Clients):

cd campus21
svn checkout http://www.campus21.de:8081/trunk trunk
svn checkout http://www.campus21.de:8081/releases releases

Dateistruktur

Mit dem Checkout wird die standardmäßige Dateistruktur der Laufzeitumgebung von ECampus21 und CELLstudio hergestellt (Im folgenden dargestellt). Beide Produkte basieren (im Gegensatz zu SMACCware, hier nicht dargestellt) auf einer gemeinsamen Dateistruktur:

+ campus21
+ trunk // Quellcode für NET-Komponenten
+ releases
+ his2010 // CELLstudio, ECampus21
+ Files
+ Documents // Dokumentenverzeichnis
+ Images // Bildarchiv
+ Templates // Standardvorlagen
+ install // Initialdaten
+ Nsoft.His.Website // Webservices auf NET-Basis
+ php
+ cms // nsoftCMS
+ com // nsoftCOM
+ custom
+ fom // nsoftFOM
+ his // nsoftSMB
+ org // nsoftORG
+ pub // nsoftQDE
+ sys // nsoftSYS
+ upload
+ doc // Dokumentenverzeichnis
+ icons // Systemsymbole
+ img // Bildarchiv
+ scriptes // Verwaltete Scripte
+ templates // Dateiressourcen
+ thumbs // DMS-Thumbs
+ System // Wartungs-Scripts
+ bin // NET-Binärcode Systemprozesse, Tools
+ node.js // serverseitige RTC-Komponenten

    Build-Prozess

    Der Quellcode der NET-Umgebung muss nach dem Checkout kompiliert werden um die Laufzeitumgebung zu erstellen. Dies wird durch den Build-Prozess (NET/Mono) erledigt. In der Standardinstallation kann das mitgelieferte Build-Script ohne Anpassungen verwendet werden:

    Linux (Mono)

    cd campus21/releases/his2010
    chmod 755 *.sh
    ./update.sh
    ./build.sh

    Windows

    cd campus21\releases\his2010
    update.cmd
    build.cmd

    In der PHP-Umgebung und serverseitigen JS-Umgebung (node.js) ist der Quelltext gleichzeitig die Laufzeitumgebung. Unsere Basic Editionen (siehe Produkte) benötigen keine NET-Umgebung und somit keinen Build!

    Herstellung der Konfigurationsdateien und Berechtigungen

    Ausfühberechtigungen für System-Scripte

    Nach dem Checkout der Software müssen die Installations-, Wartungsscripte für den Administrator als ausführbar markiert werden. Zusätzlich müssen Anwendungsscripte (exec-Kommandodateien) durch den PHP-Prozess ausführbar sein

    Auf Linuxsystemenen ist die Nutzeridentität standardmäßig www-data. Durch folgende Befehle werden Ausführberechtigungen an alle Nutzer vergeben.

    cd ~/his2010
    chmod 755 install/*.sh
    chmod 755 System/*.sh

    Auf Windowssystemen muss der Webserver Lese- und Ausführberechtigungen haben für die exex-???.cmd Dateien. Die ist abhängig davon unter welcher Nutzeridentität der PHP-Prozess ausgeführt wird (standardmäßig IUSR).

    1. Kontextmenü exec-rep.cmd
    2. Eigenschaften > Sicherheit
    3. Hinzufügen IUSR mit Berechtigung Lesen und Ausführen

    Herstellung von Konfigurationsdateien

    Außerdem werden die Konfigurationsdateien hergestellt durch Kopieren der Dateien aus dem Kompilierungsvorgang (trunk/bin/Release).

    cd ~/his2010/System
    ./config-restore.sh

    Logging der Systemprozesse

    Die Systemjobs werden durch drei Shellscripts aufgerufen (siehe Systemprozesse). In den Verzeichnissen der Systemjobs und der Webapplikationen/Webservices befindet sich eine Datei NLog.config, die das Logging-Subsystem konfiguriert (siehe NLog). Die Logdateien werden entweder in den Binärverzeichnissen der Jobs oder in /tmp erstellt (Einstellung in NLog.config).

    Schreibberechtigungen Webserver

    Die Webserver benötigt Leserechte auf alle Dateien des PHP-Frontends und Schreibberechtigungen auf wenige Dateien und Ordner. Standardmäßig hat der Webserver keine Schreibberechtigungen im Dateisystem. Folgende Dateien und Ordner können vom Frontend aus geschrieben werden (in SYS_ROOT). 

    • Dateien
      • *.custom
      • cms.templates
      • cms.extensions
      • cms.extensions.backup
      • *.log
    • Ordner (in denen vom FE Dateien angelegt werden können)
      • upload/doc
      • upload/icons
      • upload/img
      • upload/templates
      • upload/thumbs

    Bei der Standardinstallation werden die Dateien durch das Installationsscript erzeugt.

    Linux:

    chown www-data *
    sudo chown www-data upload/*

    Windows

    Verzeichnis

    C:\Windows\Temp

    IUSR Vollzugriff, Benutzer(User-PC\Benutzer) OI, CI, F

    .../his2010/php/upload

    IUSR Vollzugriff, Benutzer(User-PC\Benutzer) OI, CI, F

    Dos-Fenster als Administrator öffnen

    Bsp.: icacls "C:\Temp" /grant "IIS_IUSRS":(OI)(CI)(F)

    Systemsymbole

    Lauffähiges PHP-System

    http://localhost/nsoft/sys/images/copy.asp

    http://localhost/nsoft/sys/images/modulate.asp

    http://localhost/nsoft/sys/images/modulate.asp?rgb=7f7f7f&folder=disabled/

    http://localhost/nsoft/sys/images/modulate.asp?rgb=B6181F&folder=signal/

    Die Systemsymbole werden bei Verwendung von Glyphicons nicht mehr benötigt (siehe Systemsymbole).

    Einrichtung der PHP-Applikation

    Virtuelle Verzeichnisse

    In der PHP-Umgebung können mehrere virtuelle Verzeichnisse existieren. Darüber erfolgt die Differenzierung von Zielgruppen- und Medienportalen.

    Verz.

    Portal

    Status

    /nsoft

    Verwaltungsportal

    erf.

    /*******

    alternativ zu /nsoft kann das Verwaltungsportal unter einem anderen Verzeichnis eingerichtet werden, z.B. /vportal oder /campus21

    optional

    /sportal

    Studentenportal

    optional

    /aportal

    Absolventenportal

    optional

    /dportal

    Dozentenportal

    optional

    /popup

    Popup-Version

    erf.

    /print

    Druckversion (kann entfallen, wenn das Template die Druckausgabe mittels CSS-media realisiert)

    optional

    /studio

    Backend des Content Management Systems

    erf.
    /net Webservices (Nsoft.His.Website) optional
    /com Webservices (Nsoft.Com.Website) optional

    Die virtuellen Verzeichnisse verweisen per Webserver-Konfiguration im Normalfall auf dieselbe Softwarekopie. Hintergrund der virtuellen Verzeichnisse ist die Differenzierung des Anzeigeverhaltens der Softwarekopie in verschiedenen Zielgruppenportalen. In den verschiedenen Portalen werden unterschiedliche Navigationsstrukturen, Randbereiche und Titelbilder angewendet, die per integriertem CMS verwaltet werden können. Außerdem werden per CSS bestimmte Elemente ein- bzw. ausgeblendet. Softwareseitig können auch Konfigurationsparameter portalabhängig erstellt werden, dies dient insbesondere der Funktionsabschaltung. Weitere Information zur Bedeutung dieser Daten und Kopplung mit TYPO3 unter:

    Windows + IIS

    Für die Installation von PHP unter Windows gibt es verschiedenste Varianten. Außerdem ist die Einrichtung von der Windows-Version abhängig. Der Inbetriebnahme der PHP-Applikation umfasst im Wesentlichen die Einrichtung der virtuellen Verzeichnisse. Dies setzt die Installation des IIS Dienste und von PHP für Windows voraus. Im folgenden ist die Einrichtung mit IIS 7 beschrieben:

    ISAPI

    • Windows Server 2016
      • Serverrollen > WebServer (IIS) + Konsole
      • Rollendienste ... ISAPI-Erweiterungen, ISS-Verwaltungskonsole
    • Windows-Funktionen (Windows 10: Windowstaste + R > optionalfeatures)
      • IIS Dienste einschließlich Asp.Net und ISAPI auswählen
    • IIS Manger > Default Web Site > Händlerzuordnung > mehrere Scriptzuordnungen hinzufügen (*.php und *.asp)
      • Anforderungspfad: *.php
      • Ausführbare Datei: php5isapi.dll lokalisieren (kann auch anders heissen: php7ts.dll)
      • Name: PHP5ISAPI (bzw. PHP5ISAPI.ASP)

    FastCGI:

    https://docs.microsoft.com/en-us/iis/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis

    • nts-Build von PHP verwenden
    • IIS und FastCgiModule installieren
      • %windir%\System32\inetsrv\iisfcgi.dll muss da sein
    • Default Web Site > Modulzuordnungen für *.php FastCgiModule nach ...\php\php-cgi.exe
    • php-cgi.exe erfordert vcruntime140.dll o.ä., prüfen ob di da sind
    • IIS_IUSRS muss Ausführungsrechte auf ...\php haben
    • Anonyme Authentifizierung
    • virtuelle verzeichnisse einrichten, Verbinden als festlegen
    • Nutzer muss Berechtigungen haben auf Skripte *.php

    Verzeichnis einrichten

    • virtuelle Verzeichnisse laut Tabelle anlegen (mindestens nsoft, studio, popup)
      • Alias: nsoft
      • Physikalischer Pfad: .../releases/his2010/php
    • Standarddokument: index.php hinzufügen
    • Berechtigungen auf Ordner php:
      • Identität des PHP-Prozesses: Lesen und Schreiben*
    • DefaultAppPool > Erweiterte Einstellungen
      • Framework-Version: 2.0
      • 32-Bit-Anwendungen aktivieren: true
      • Identität überprüfen (sollte Netzwerkdienst oder ApplicationPoolIdentity sein)*

    *Die Nutzeridentität des PHP-Prozesses kann in den Windows-Versionen verschieden sein. Möglich sind IUSR, Netzwerkdienst, ApplicationPoolIdentity. Die Identität ist bei Verwendung des ISAPI-Modus im DefaultAppPool eingestellt bzw. dort ablesbar oder änderbar.

    Unter phpinfo (http://localhost/nsoft/phpinfo.php) wird der Pfad der Datei php.ini angezeigt. Hier ist zu prüfen, ob die Datei php.ini an der angegebenen Stelle existiert. Ggf. muss der Webserver neu gestartet werden.

    Linux + Apache

    Die Konfigurationsdateien sind in verschiedenen Linux-System bzw. in WAMP/WAPP-Systemen unterschiedlich organisiert. Zumeist sind es /etc/apache2/sites-available/default oder /etc/apache2/httpd.conf

    In eine der Konfigurationsdatei ist zu ergänzen:

    DocumentRoot /home/nsoft/releases/his2010/php
    Alias /campus21 /home/nsoft/releases/his2010/php
    Alias /popup /home/nsoft/releases/his2010/php
    Alias /print /home/nsoft/releases/his2010/php
    Alias /nsoft /home/nsoft/releases/his2010/php
    <Directory /home/nsoft/releases/his2010/php>
    Options FollowSymLinks MultiViews
    AllowOverride None
    Require all granted
    #Order allow,deny
    #allow from all
    </Directory>

    Direktes Download von Dokumenten verhindern, sofern der Upload-Bereich unter der Webroot bleibt:

    <Directory /home/nsoft/releases/his2010/php/upload/doc>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Require all denied
    #Order allow,deny
    #allow from all
    </Directory>

    Blockierung direktes Download von Konfigurations- und Logdateien:

    <Files ~ "(.config$|.custom$|.log$)">
    Order allow,deny
    Deny from all
    </Files>

    In /etc/apache2/mods-available/php5.conf ist folgender Abschnitt hinzufügen, damit *.asp-Dateien als PHP ausgeführt werden (Dies rührt aus der Entwicklungsgeschichte von campus21. Die Eliminierung der asp-Erweiterung ist geplant):

    <FilesMatch ".+\.asp$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    

    Restart des Apache

    /etc/init.d/apache2 force-reload

    Windows + Apache

    Die Verwendung des Apache ist auch unter Windows anstelle des IIS möglich. Die Installation erfolgt ähnlich.

    LoadFile "C:\php\libpq.dll"

    Aktuell haben wir aber keine Informationen über die folgende Installation der NET-Werservices unter Windows/Apache und raten deshalb von dieser Konstellation ab.

    Webservices und NET-Webapplikationen

    Die ASP.NET-Webapplikation enthält nur einen Webservice, keine UI. Der Aufruf der Webservices erfolgt durch die PHP-Applikation. Der Webservice ist nach erfolgreiche Einrichtung der Webapplikation unter der URL erreichbar:

    http://localhost/net/HisServer.asmx?wsdl 

    Der Werservice (URL oben) darf nur für localhost erreichbar sein, da in der Standardinstallation Authentifizierung/ Autorisierung vom PHP-Frontend vorgenommen wird (der Webservice nimmt keine Authentifizierung/ Autorisierung vor, siehe Webservices). Der Werservice muss in dem Fall nicht über HTTPS erreichbar sein, was gleichzeitig auch die Gesamtperformance verbessert.

    Windows/IIS

    • IIS-Manager:
    • in Datei .../releases/his2010/Nsoft.His.Website/Web.config-Überprüfung der Datenbankverbindung
    • Lese/Ausführ-Berechtigungen für Gruppe Benutzer auf Ordner Nsoft.His.Website

      Linux/Apache

      Vor der Einrichtung muss apache2, mono und mod_mono installiert werden.

      /etc/mono-server2/mono-server2-hosts.conf

      /etc/apache2/mods-enabled/mod_mono.conf

      enthalten Konfigurationseinstellungen des mono-Moduls. Hier muss nichts geändert werden, wenn die Webapplikation unter sites-available eingerichtet wird. Die Einrichtung der Webapplikation in den Dateien unter sites-available sie etwa wie folgt aus:

      /etc/apache2/sites-available/default

      Folgende Einträge richten die ASP.NET-Webapplikation als virtuelles Verzeichnis /net innnerhalt eines VirtuellHost ein:

              # Webservice ASP.NET
      Alias /net "/home/nsoft/his2010/Nsoft.His.Website"
      AddMonoApplications default "/net:/home/nsoft/his2010/Nsoft.His.Website"
      <Directory /home/nsoft/his2010/Nsoft.His.Website>
      Order Deny,Allow
      Allow from all
      SetHandler mono
      <IfModule mod_dir.c>
      DirectoryIndex Default.aspx
      </IfModule>
      </Directory>

      Einrichtung der Zugriffsbeschränkung für localhost:

              <Location /hsm/HisServer.asmx>
      Order deny,allow
      Deny from all
      Allow from 127.0.0.1
      </Location>

      oder

              <Files ~ "\.asmx$">
      Order deny,allow
      Deny from all
      Allow from 127.0.0.1
      </Files>

      Links

      https://ubuntuexperiment.wordpress.com/2009/01/29/running-aspnet-applications-in-ubuntu-using-modmono/ 

         
      Top

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

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

      Suche