1 \documentclass[a4paper,10pt]{article}
2 \usepackage[utf8x]{inputenc}
6 \usepackage[T1]{fontenc}
10 \usepackage{microtype}
21 \title{OpenSecurity Installer zu Version 1.0 \\
22 \large Howto zum Bau einer OpenSecurity 1.0 Release.
25 \author{Oliver Maurhart\\
26 AIT Austrian Institute of Technology
33 OpenSecurity verwendet zum Bau der Setup Installationsdateien den Inno Setup Compiler 5.5.5 (a) von Jordan Russel und Martijn Laan. Dieses Tool kann von der Seite http://www.innosetup.com frei bezogen werden.
38 InnoSetup verwendet eine Konfigurationsdatei, welche durch den Suffix ``.iss'' erkennbar ist. Diese Konfigurationsdatei enthält Anweisungen und Pascal-Code für den Setup Compiler wie bsp.
42 \item welche Verzeichnisse zu erstellen sind.
43 \item welche Dateien wohin zu kopieren sind.
44 \item welche Registry Einträge erstellt werden müssen.
45 \item welche Icons uns Programmpunkte in das Startmenü oder am Desktop aufgenommen müssen.
46 \item sowie welche Programme nach der Installation oder vor der Deinstallation ablaufen müssen.
50 OpenSecurity verfügt dabei über eine ``OpenSecurity.iss'' welche das reguläre, öffentlich Setup beschreibt. Eine ``OpenSecurity-IKT.iss'' enthält divergierende Werte, welche speziell auf den Bedarfsträger IKT Linz zugeschnitten wurden.
52 Der InnoSetup Compiler wird mit dieser Konfigurationsdatei gestartet und über ein GUI kann anhand dieser Einstellungen ein Setup.exe erzeugt werden.
54 Neben den Registryeinträgen, Startmenüänderungen sowie dem Ablaufen einer Reihe von Post-Install Programmen ist der Hauptbestandteil einer Installation
58 \item Das Kopieren von Dateien an eine bestimmte Stelle im Zielsystem.
60 \item Das Ändern der Zugriffs- und Ausführungsrechte der kopierten Dateien im Zielsystem.
64 \subsection{Dateilayout}
66 OpenSecurity verwendet dabei relativ zum Pfad der Konfigurationsdatei dieses Dateilayout, welches nahezu 1:1 in das Zielsystem (C:{\textbackslash}Program Files) kopiert wird (Anm.: bei ``bin'', ``cygwin64'' und ``python27'' wird nur die 1 Verzeichnisebene dargestellt):
70 |-- Apache License, Version 2.0.txt
79 | |-- fix_cygwin_paths.bat
95 | | `-- VirtualBox.xml
98 | |-- SecurityDVM.vbox
99 | `-- SecurityDVM.vmdk
100 `-- systemprofile-IKT
109 Die wesentlichsten Verzeichnisse sind dabei:
113 \item \texttt{bin}: dies beinhaltet den OpenSecurity Core Code.
115 \item \texttt{cygwin64}: hier ist die Cygwin64 Installation, welche von OpenSecurity verwendet wird.
117 \item \texttt{python27}: das ist die Python 2.7 Installation, welche von OpenSecurity verwendet wird.
121 \item \texttt{systemprofile}: Hier befindet sich das mitgelieferte VirtualBox image. Im Gegensatz zu den restlichen Dateien und Verzeichnissen wird diese Satz an Dateien in das Windows Systemverzeichnis kopiert. Konkret \texttt{C:{\textbackslash}Windows{\textbackslash}System32{\textbackslash}config{\textbackslash}systemprofile}. Dieser Inhalt dieser Verzeichnisse ist aus einer Live-Installation nach einem Update übernommen und angepasst worden. Im Besonderen ist die \texttt{VirtualBox.xml} Datei zu adaptieren und zu bereinigen.
126 \subsection{Registry}
128 OpenSecurity schreibt diese Einträge in die Registry:
132 \item \textbf{HKLM{\textbackslash}SOFTWARE{\textbackslash}Microsoft{\textbackslash}Windows{\textbackslash}CurrentVersion{\textbackslash}Run{\textbackslash}OpenSecurity Tray Icon}: Automatisches Starten des OpenSecurity Tray Icons bei Windows Anmeldung.
133 \item \textbf{HKLM{\textbackslash}SOFTWARE{\textbackslash}OpenSecurity{\textbackslash}LogServerUrl}: HTTP RESTful URL des OpenSecurity LogServer.
134 \item \textbf{HKLM{\textbackslash}SOFTWARE{\textbackslash}OpenSecurity{\textbackslash}Browser}: Vollständiger Pfad und Optionen des Internet Browsers in der VM für Sicheres Surfen.
135 \item \textbf{HKLM{\textbackslash}SOFTWARE{\textbackslash}OpenSecurity{\textbackslash}ImageUrl}: Download-URL für VM-Images zum Importieren/Updaten der VM-Images.
136 \item \textbf{HKLM{\textbackslash}SYSTEM{\textbackslash}CurrentControlSet{\textbackslash}services{\textbackslash}USBSTOR}: Wert ``4'' zum Deaktivieren des Windows USB-Mass-Storage Treibers.
143 \subsection{Postinstall}
145 Nach der Installation führt das Setup diese Schritte durch:
149 \item Rebase der Cygwin64 installation. Das stellt die Suchpfade der Cygwin DLLs korrekt.
150 \item Fix der Cygwin Pfad in der /etc/fstab.
151 \item Cygwin Umgebung erzeugen durch einmaliges Ausführen einer Bash.
152 \item Firewall Regeln für OpenSecurity im System eintragen.
153 \item Installation des OpenSecurity Service.
154 \item Starten des OpenSecurity Service.
155 \item Starten des OpenSecurity Tray Icons.
161 \section{Schlußbemerkung}
163 Die genauen Konkret Schritte (bsp. Eintragen des Log Servers) sind jedenfalls in den einzelnen ``.iss''-Dateien zum Nachlesen und können von den hier vorgestellten Inhalten durch Updates abweichen.