Fortuna Entwickler Blog

Hier wird Ihnen geholfen

Automatisierte Bereinigung alter Builds

Mit jedem Checkin werden auf dem Buildserver ein bis mehrere Buildvorgänge angestossen. In diesem Zuge werden alle SOlution-Daten aus dem TFS kopiert, ein Build durchgeführt und die Buildergebnisse zur Verfügung gestellt. Üblicherweise werden diese Dateien gar nicht mehr gebraucht, aber das System hält sie erst einmal vor.

Eine automatische spätere Löschung ist nicht vorgesehen.

Da hierdurch nach und nach der Speicherplatz 'volläuft' habe ich ein kleines PowerShell Script entwickelt, welches mittels Scheduled Task periodisch aufräumt:
Unter C:\Program Files\Scripte liegt VerzeichnisLeeren.ps1:

param 
( 
    [string]$Folder = "E:\Symbols", 
    [int]$Days = 14
)

$Heute = Get-Date;

Get-Childitem $Folder -recurse | Where-Object {($Heute - $_.LastWriteTime).Days -gt $Days} | Remove-Item -Recurse;

Das Script ist denkbar einfach aufgebaut: man kann ein Verzeichnis übergeben und einen Zeitraum in Tagen. Im Verzeichnis werden alle Dateien und Ordner gelöscht, die älter sind, als der angegebene Zeitraum.

Das Script wird über Geplante Aufgaben zurzeit jeden Montag morgen um 5 Uhr ausgeführt. Nach Rücksprache mit der Administration ist dies ein geeigneter Zeitpunkt, zu dem es zu keinen Problemen mit eventuellen anderen Tätigkeiten kommen sollte.

 

 

Einrichtung IWM auf CRMSK2

 

Server: CRMSK2
SQL-Server: CRMSK2\SQLExpress
URL: http://CRM.sk-servicekonzept.de

 

Nach der Bereitstellung meldete ich mich mit meinem Benutzerprofil an CRMTESTSK2 an. Es handelt sich um einen Windows Server 2008 R2 Datacenter, 64bit, deutsch, Service Pack 1.

Als erstes habe ich dem Server das Feature .NET Framework 3.51 hinzugefügt:
(das Feature wird für SQL Server benötigt)

Start -> Server-Manager

Im Server-Manager unter Features -> Features hinzufügen

Haken bei '.NET Framework 3.5.1-Features -> .NET Framework 3.5.1' -> Weiter -> Installieren

 

Anschließend habe ich eine neue lokale Benutzergruppe 'IWM_GROUP' angelegt:

Start -> Server-Manager

Im Server-Manager unter Konfiguration -> Lokale Benutzer und Gruppen -> Gruppen

Aktion -> Neue Gruppe...

Gruppenname: IWM_GROUP
Beschreibung: Gruppe für lokale IWM Benutzeraccounts
Mitglieder: (noch keine auswählen)

-> Erstellen -> Schließen

 

Danach habe ich einen neuen Benutzer angelegt:

Start -> Server-Manager

Im Server-Manager unter Konfiguration -> Lokale Benutzer und Gruppen -> Benutzer

Aktion -> Neuer Benutzer...

Benutzername: IWM_SERVICE_USER
Vollständiger Name: IWM Dienste Account
Beschreibung: Benutzer für IWM Dienste
Kennwort: [xxx] (Das Passwort ist der Administration bekannt)
Kennwort bestätigen: [xxx] (Das Passwort ist der Administration bekannt)
Benutzer muss Kennwort bei der nächsten Anmeldung ändern: (Haken entfernt)

-> Erstellen -> Schließen

 

Dieser Benutzer wurde dann der zuvor erstellten Gruppe hinzugefügt:

Start -> Server-Manager

Im Server-Manager unter Konfiguration -> Lokale Benutzer und Gruppen -> Gruppen

IWM_GROUP selektieren

Aktion -> Zur Gruppe hinzufügen... -> Hinzufügen

CRMSK2\IWM_SERVICE_USER eintragen

Namen überprüfen -> OK -> OK

 

Zwischenzeitlich meldete Windows verfügbare Updates (für .NET Framework 3.5.1), welche nun installiert wurden. Danach musste der Server neu gestartet werden.

Anmerkung: Der erste versuch, anschliessend SQL Server zu installieren schlug fehl. In diesem Falle muss zuerst das .NET Framework 4.0 (dotNetFx40_Full_x86_x64) und ggf. das deutsche Language Pack (dotNetFx40LP_Full_x86_x64de) installiert werden.

 

Im nächsten Schritt wird ein SQL Server installiert:

Hierzu habe ich SQLEXPRWT_x64_DEU.exe auf dem Server unter C:\Temp\ abgelegt.

Start -> Ausführen -> C:\Temp\SQLEXPRWT_x64_DEU.exe

'Neue eigenständige SQL Server-Installation...' auswählen

Haken setzen bei 'Ich akzeptiere die Lizenzbedingungen' -> Weiter -> Weiter -> Weiter -> Weiter

Option 'Gemischter Modus' wählen und Kennwort für sa festlegen:

Kennwort eingeben: [xxx] (Das Passwort ist der Administration bekannt)
Kennwort bestätigen: [xxx] (Das Passwort ist der Administration bekannt)

Der aktuelle Benutzer ist unter den Administratoren aufgeführt; dies kann so belassen werden.

Weiter -> Weiter

Schließen

 

Danach wird ein zusätzlicher Benutzer im SQL Server angelegt:

Start -> SQL Server Management Studio

Anmelden an lokale Instanz SQLExpress: Verbinden

CRMTESTSK2\SQLEXPRESS -> Sicherheit -> Anmeldungen -> Neue Anmeldung...

Anmeldename: IWM_DATABASE_USER
SQL Server-Authentifizierung: Option wählen
Kennwort: [xxx] (Das Passwort ist der Administration bekannt)
Kennwort bestätigen: [xxx] (Das Passwort ist der Administration bekannt)
Kennwortrichtlinie erzwingen: Haken entfernen

OK

 

Anschliessend wird die aktuelle Java-Version auf dem Server installiert:
(wird von Apache Tomcat und dem IWM Portal benötigt)

Start -> Ausführen -> c:\temp\FinOff_plus_Portal-12.10.0000.4\Portal\Java\jdk-7u9-windows-i586.exe -> OK

Ja -> Next -> Next -> Next -> Close

 

Danach wird IWM FinanzOffice installiert:

Start -> Ausführen -> C:\Temp\FinOff_plus_Portal-12.10.0000.4\SetupIWMFinanzOffice_12_10_0000_4.exe -> OK

Ja -> Weiter -> Option 'Ich akzeptiere...' wählen -> Weiter -> Option 'Server ...' wählen -> Weiter -> Option 'Microsoft SQL Server - Datenbank' wählen -> Weiter -> Weiter -> Weiter -> Weiter -> Weiter

SQL-Server-Datenbank
Server: CRMSK2\SQLExpress
Datenbank: fo_sql
Installations-Typ: Server
Datenbank-Benutzer: sa
Benutzer-Kennwort: [xxx] (Das Passwort ist der Administration bekannt)

Einstellungen speichern -> Beenden -> Nein -> Fertigstellen

 

Weiter geht es mit der Installation des Apache Tomcat inklusive Portal:

Tomcat hat Probleme mit Leerstellen im Pfadnamen; man sollte ihn nicht unter C:\Programme\ (intern: C:\Program Files\) installieren, sonst kommt es nachgelagert zu Problemen.

Vor der eigentlichen Installation von Apache Tomcat als Dienst sind noch Einstellungen am Server vorzunehmen:

Start -> Systemsteuerung -> System und Sicherheit -> System -> Erweiterte Systemeinstellungen -> Umgebungsvariablen -> Systemvariablen -> Neu...

Name der Variablen: JAVA_HOME
Wert der Variablen: C:\Program Files (x86)\Java\jdk1.7.0_09

OK

Klick auf Systemvariable PATH -> Bearbeiten... -> Am Anfang von Wert der Variablen %JAVA_HOME%\bin; einfügen, der bisherige Wert bleibt erhalten

OK -> OK -> OK

 

Anschließend geht es mit der eigentlichen Installation weiter:

Start -> Eingabeaufforderung (Rechtsklick) -> Als Administrator ausführen -> Ja

cd \
md IWM
cd IWM
xcopy c:\Temp\FinOff_plus_Portal-12.10.0000.4\Portal\Tomcat\apache-tomcat-6.0.18 . /S /E
cd apache-tomcat-6.0.18\bin
service.bat install
cd ..\webapps
copy \Temp\FinOff_plus_Portal-12.10.0000.4\Portal\PortalNeu.war .
exit

Start -> Windows-Explorer

Computer -> Lokaler Datenträger (C:) -> IWM

Organisieren -> Eigenschaften -> Sicherheit -> Bearbeiten -> Hinzufügen...

CRMSK2\IWM_GROUP -> Namen überprüfen -> OK

Haken bei Vollzugriff und zulassen -> Übernehmen -> OK -> OK

 

Start -> Systemsteuerung -> System und Sicherheit -> Dienste

Apache Tomcat selektieren -> Aktion -> Eigenschaften

Starttyp: Automatisch
Anmelden -> Dieses Konto: Option wählen
Dieses Konto: .\IWM_SERVICE_USER
Kennwort: [xxx] (Das Passwort ist der Administration bekannt)
Kennwort bestätigen: [xxx] (Das Passwort ist der Administration bekannt)

OK -> OK -> Aktion -> Starten

 

Damit ist die eigentliche Installation erst einmal abgeschlossen

 

 

Apache Tomcat auf Port 80 setzen

Auf den IWM Applikationsservern läuft üblicherweise kein IIS. Zudem soll das IWM Portal / Navigator ohne Porteingabe im Browser erreichbar sein. Die beste Löung ist es, den Tomcat einfach auf Port 80 zu setzen. Dies ist durch eine Änderung in seiner Konfiguration einfach möglich:

Eine suche in Google brachte mich schnell auf eine Seite, auf der die Vorgehensweise erklärt wurde.

Apache Tomcat Service stoppen
Notepad als administrator starten
C:\IWM\apache-tomcat-6.0.18\conf\server.xml mit notepad öffnen
In Zeile 67 ändert man ...port="8080"... in ...port="80"...
Datei speichern
Apache Tomcat Service neu starten

Fertig.

Fehler im Apache Tomcat

Ich musste heute feststellen, das der Apache Tomcat auf CRMTESTHK nicht mehr läuft. Der dienst war gestoppt und ein Starten brachte jedes Mal eine Fehlermeldung. Auch das erneute setzen der Benutzerangaben oder das Umstellen des Dienstes auf den Systemaccount brachte nichts; es war wohl keine Berechtigungsfrage.

Im stdout.log in den Apache Logs fand ich nach kurzer Suche eine Fehlermeldung:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

Eine kurze Google Recherche ergab, daß es wohl ein Problem mit der Java-Installation sein muss. Ohne lange weiterzuprobieren habe ich dann Java deinstalliert und anschließend aus dem Installationspaket von IWM neu installiert. Danach lies sich der Apache Tomcat auch gleich wieder starten.

Meine Vermutung zur Ursache: Durch eines der nach der Installation durchgeführten Java Updates, lief Tomcat nicht mehr; ich werde die Updaten künftig ignorieren.

Sichern und Wiederherstellen der Portaldateien

Nachdem man die IWM Software auf einem neuen System installiert hat, will man üblicherweise auch noch alle Daten und Einstellungen vom bisherigen System übernehmen. Hier wird die Vorgehensweise zum Sichern und Einspielen der individuellen Portaldaten beschrieben.

Tätigkeiten auf dem alten System:

Start -> Windows-Explorer

C:\Programme\IWM\apache-tomcat-6.0.18\webapps\PortalNeu\jsf\hauptmaske\navigator

Rechtsklick auf 'sk' -> Senden an -> Zip komprimierter Ordner

Diese Datei kopiert man anschließend auf den Zielserver, z.B. nach C:\Temp\

C:\Programme\IWM\apache-tomcat-6.0.18\webapps\PortalNeu\user\user_config.xml kopiert man auf den Zielserver, z.B. nach C:\Temp\

 

Tätigkeiten auf dem neuen System:

Verzeichnis C:\IWM\apache-tomcat-6.0.18\webapps\PortalNeu\jsf\hauptmaske\navigator\sk\ löschen

C:\Temp\sk.zip entpacken nach C:\IWM\apache-tomcat-6.0.18\webapps\PortalNeu\jsf\hauptmaske\navigator\
(rechte Maustaske auf ZIP-Archiv -> Alle extrahieren)

C:\Temp\user_config.xml kopieren nach C:\IWM\apache-tomcat-6.0.18\webapps\PortalNeu\user

 

Sichern und Wiederherstellen der IWM Daten

Nachdem man die IWM Software auf einem neuen System installiert hat, will man üblicherweise auch noch alle Daten und Einstellungen vom bisherigen System übernehmen. Hier wird die Vorgehensweise zum Sichern und zurückspielen der Datenbank beschrieben.

Tätigkeiten auf dem alten System:

Start -> IWM FinanzOffice -> Anmelden mit Administratorenrechten

Datenverwaltung -> Daten sichern

In den Details findet man die Information, wohin die Sicherung durchgeführt wurde. Das ZIP-Archiv kopiert man auf dem neunen Server

 

 

Einrichtung IWM auf CRMTESTSK2

Server: CRMTESTSK2

SQL-Server: CRMTESTSK2\SQLExpress

URL: http://CRMTEST.sk-servicekonzept.de

 

Nach der Bereitstellung meldete ich mich mit meinem Benutzerprofil an CRMTESTSK2 an. Es handelt sich um einen Windows Server 2008 R2 Datacenter, 64bit, deutsch, Service Pack 1.

Als erstes habe ich dem Server das Feature .NET Framework 3.51 hinzugefügt:
(das Feature wird für SQL Server benötigt)

Start -> Server-Manager

Im Server-Manager unter Features -> Features hinzufügen

Haken bei '.NET Framework 3.5.1-Features -> .NET Framework 3.5.1' -> Weiter -> Installieren

 

Anschließend habe ich eine neue lokale Benutzergruppe 'IWM_GROUP' angelegt:

Start -> Server-Manager

Im Server-Manager unter Konfiguration -> Lokale Benutzer und Gruppen -> Gruppen

Aktion -> Neue Gruppe...

Gruppenname: IWM_GROUP
Beschreibung: Gruppe für lokale IWM Benutzeraccounts
Mitglieder: (noch keine auswählen)

-> Erstellen -> Schließen

 

Danach habe ich einen neuen Benutzer angelegt:

Start -> Server-Manager

Im Server-Manager unter Konfiguration -> Lokale Benutzer und Gruppen -> Benutzer

Aktion -> Neuer Benutzer...

Benutzername: IWM_SERVICE_USER
Vollständiger Name: IWM Dienste Account
Beschreibung: Benutzer für IWM Dienste
Kennwort: [xxx] (Das Passwort ist der Administration bekannt)
Kennwort bestätigen: [xxx] (Das Passwort ist der Administration bekannt)
Benutzer muss Kennwort bei der nächsten Anmeldung ändern: (Haken entfernt)

-> Erstellen -> Schließen

 

Dieser Benutzer wurde dann der zuvor erstellten Gruppe hinzugefügt:

Start -> Server-Manager

Im Server-Manager unter Konfiguration -> Lokale Benutzer und Gruppen -> Gruppen

IWM_GROUP selektieren

Aktion -> Zur Gruppe hinzufügen... -> Hinzufügen

CRMTESTSK2\IWM_SERVICE_USER eintragen

Namen überprüfen -> OK -> OK

 

Zwischenzeitlich meldete Windows verfügbare Updates (für .NET Framework 3.5.1), welche nun installiert wurden. Danach musste der Server neu gestartet werden.

Anmerkung: Der erste versuch, anschliessend SQL Server zu installieren schlug fehl. In diesem Falle muss zuerst das .NET Framework 4.0 (dotNetFx40_Full_x86_x64) und ggf. das deutsche Language Pack (dotNetFx40LP_Full_x86_x64de) installiert werden.

 

Im nächsten Schritt wird ein SQL Server installiert:

Hierzu habe ich SQLEXPRWT_x64_DEU.exe auf dem Server unter C:\Temp\ abgelegt.

Start -> Ausführen -> C:\Temp\SQLEXPRWT_x64_DEU.exe

'Neue eigenständige SQL Server-Installation...' auswählen

Haken setzen bei 'Ich akzeptiere die Lizenzbedingungen' -> Weiter -> Weiter -> Weiter -> Weiter

Option 'Gemischter Modus' wählen und Kennwort für sa festlegen:

Kennwort eingeben: [xxx] (Das Passwort ist der Administration bekannt)
Kennwort bestätigen: [xxx] (Das Passwort ist der Administration bekannt)

Der aktuelle Benutzer ist unter den Administratoren aufgeführt; dies kann so belassen werden.

Weiter -> Weiter

Schließen

 

Danach wird ein zusätzlicher Benutzer im SQL Server angelegt:

Start -> SQL Server Management Studio

Anmelden an lokale Instanz SQLExpress: Verbinden

CRMTESTSK2\SQLEXPRESS -> Sicherheit -> Anmeldungen -> Neue Anmeldung...

Anmeldename: IWM_DATABASE_USER
SQL Server-Authentifizierung: Option wählen
Kennwort: [xxx] (Das Passwort ist der Administration bekannt)
Kennwort bestätigen: [xxx] (Das Passwort ist der Administration bekannt)
Kennwortrichtlinie erzwingen: Haken entfernen

OK

 

Anschliessend wird die aktuelle Java-Version auf dem Server installiert:
(wird von Apache Tomcat und dem IWM Portal benötigt)

Start -> Ausführen -> c:\temp\FinOff_plus_Portal-12.10.0000.4\Portal\Java\jdk-7u9-windows-i586.exe -> OK

Ja -> Next -> Next -> Next -> Close

 

Danach wird IWM FinanzOffice installiert:

Start -> Ausführen -> C:\Temp\FinOff_plus_Portal-12.10.0000.4\SetupIWMFinanzOffice_12_10_0000_4.exe -> OK

Ja -> Weiter -> Option 'Ich akzeptiere...' wählen -> Weiter -> Option 'Server ...' wählen -> Weiter -> Option 'Microsoft SQL Server - Datenbank' wählen -> Weiter -> Weiter -> Weiter -> Weiter -> Weiter

SQL-Server-Datenbank
Server: CRMTESTSK2\SQLExpress
Datenbank: fo_sql
Installations-Typ: Server
Datenbank-Benutzer: sa
Benutzer-Kennwort: [xxx] (Das Passwort ist der Administration bekannt)

Einstellungen speichern -> Beenden -> Nein -> Fertigstellen

 

Weiter geht es mit der Installation des Apache Tomcat inklusive Portal:

Tomcat hat Probleme mit Leerstellen im Pfadnamen; man sollte ihn nicht unter C:\Programme\ (intern: C:\Program Files\) installieren, sonst kommt es nachgelagert zu Problemen.

Vor der eigentlichen Installation von Apache Tomcat als Dienst sind noch Einstellungen am Server vorzunehmen:

Start -> Systemsteuerung -> System und Sicherheit -> System -> Erweiterte Systemeinstellungen -> Umgebungsvariablen -> Systemvariablen -> Neu...

Name der Variablen: JAVA_HOME
Wert der Variablen: C:\Program Files (x86)\Java\jdk1.7.0_09

OK

Klick auf Systemvariable PATH -> Bearbeiten... -> Am Anfang von Wert der Variablen %JAVA_HOME%\bin; einfügen, der bisherige Wert bleibt erhalten

OK -> OK -> OK

 

Anschließend geht es mit der eigentlichen Installation weiter:

Start -> Eingabeaufforderung (Rechtsklick) -> Als Administrator ausführen -> Ja

cd \
md IWM
cd IWM
xcopy c:\Temp\FinOff_plus_Portal-12.10.0000.4\Portal\Tomcat\apache-tomcat-6.0.18 . /S /E
cd apache-tomcat-6.0.18\bin
service.bat install
cd ..\webapps
copy \Temp\FinOff_plus_Portal-12.10.0000.4\Portal\PortalNeu.war .
exit

Start -> Windows-Explorer

Computer -> Lokaler Datenträger (C:) -> IWM

Organisieren -> Eigenschaften -> Sicherheit -> Hinzufügen...

CRMTESTSK2\IWM_GROUP -> Namen überprüfen -> OK

Haken bei Vollzugriff und zulassen -> Übernehmen -> OK -> OK

 

Start -> Systemsteuerung -> System und Sicherheit -> Dienste

Apache Tomcat selektieren -> Aktion -> Eigenschaften

Starttyp: Automatisch
Anmelden -> Dieses Konto: Option wählen
Dieses Konto: .\IWM_SERVICE_USER
Kennwort: [xxx] (Das Passwort ist der Administration bekannt)
Kennwort bestätigen: [xxx] (Das Passwort ist der Administration bekannt)

OK -> OK -> Aktion -> Starten

 

Damit ist die eigentliche Installation erst einmal abgeschlossen