merge default tip
authorOliver Maurhart <oliver.maurhart@ait.ac.at>
Wed, 21 Jan 2015 13:56:57 +0100
changeset 608373442c5175
parent 58 3370b990534c
parent 59 9d9d88344944
merge
     1.1 Binary file installer/OpenSecurity-Installer.pdf has changed
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/installer/OpenSecurity-Installer.tex	Wed Jan 21 13:56:57 2015 +0100
     2.3 @@ -0,0 +1,166 @@
     2.4 +\documentclass[a4paper,10pt]{article}
     2.5 +\usepackage[utf8x]{inputenc}
     2.6 +\usepackage{a4wide}
     2.7 +\usepackage{graphicx}
     2.8 +\usepackage{eurosym}
     2.9 +\usepackage[T1]{fontenc}
    2.10 +\usepackage{latexsym}
    2.11 +\usepackage{textcomp}
    2.12 +\usepackage{fancybox}
    2.13 +\usepackage{microtype}
    2.14 +\usepackage{listings}
    2.15 +\usepackage{setspace}
    2.16 +\usepackage{color}
    2.17 +\usepackage{comment}
    2.18 +
    2.19 +\linespread{1.1}
    2.20 +\parskip=4pt
    2.21 +
    2.22 +\begin{document}
    2.23 +
    2.24 +\title{OpenSecurity Installer zu Version 1.0 \\
    2.25 +    \large Howto zum Bau einer OpenSecurity 1.0 Release.
    2.26 +}
    2.27 +
    2.28 +\author{Oliver Maurhart\\
    2.29 +AIT Austrian Institute of Technology
    2.30 +}
    2.31 +
    2.32 +\maketitle
    2.33 +
    2.34 +\section{Werkzeuge}
    2.35 +
    2.36 +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.
    2.37 +
    2.38 +
    2.39 +\section{Verfahren}
    2.40 +
    2.41 +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.
    2.42 +
    2.43 +\begin{itemize}
    2.44 +
    2.45 +\item welche Verzeichnisse zu erstellen sind.
    2.46 +\item welche Dateien wohin zu kopieren sind.
    2.47 +\item welche Registry Einträge erstellt werden müssen.
    2.48 +\item welche Icons uns Programmpunkte in das Startmenü oder am Desktop aufgenommen müssen.
    2.49 +\item sowie welche Programme nach der Installation oder vor der Deinstallation ablaufen müssen.
    2.50 +
    2.51 +\end{itemize}
    2.52 +
    2.53 +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.
    2.54 +
    2.55 +Der InnoSetup Compiler wird mit dieser Konfigurationsdatei gestartet und über ein GUI kann anhand dieser Einstellungen ein Setup.exe erzeugt werden.
    2.56 +
    2.57 +Neben den Registryeinträgen, Startmenüänderungen sowie dem Ablaufen einer Reihe von Post-Install Programmen ist der Hauptbestandteil einer Installation
    2.58 +
    2.59 +\begin{enumerate}
    2.60 +
    2.61 +\item Das Kopieren von Dateien an eine bestimmte Stelle im Zielsystem.
    2.62 +
    2.63 +\item Das Ändern der Zugriffs- und Ausführungsrechte der kopierten Dateien im Zielsystem.
    2.64 +
    2.65 +\end{enumerate}
    2.66 +
    2.67 +\subsection{Dateilayout}
    2.68 +
    2.69 +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):
    2.70 +
    2.71 +\begin{verbatim}
    2.72 +OpenSecurity
    2.73 +|-- Apache License, Version 2.0.txt
    2.74 +|-- bin
    2.75 +|   |-- ...
    2.76 +|   `-- vmmanager.pyw
    2.77 +|-- cygwin64
    2.78 +|   |-- bin
    2.79 +|   |-- ...
    2.80 +|   `-- var
    2.81 +|-- install
    2.82 +|   |-- fix_cygwin_paths.bat
    2.83 +|   `-- initial_vm.sh
    2.84 +|-- Lizenz.txt
    2.85 +|-- log
    2.86 +|-- python27
    2.87 +|   |-- content.txt
    2.88 +|   |-- DLLs
    2.89 +|   |-- Lib
    2.90 +|   |-- libs
    2.91 +|   |-- python.exe
    2.92 +|   |-- python27.dll
    2.93 +|   |-- pythonw.exe
    2.94 +|   |-- qt.conf
    2.95 +|   `-- Scripts
    2.96 +|-- systemprofile
    2.97 +|   |-- .VirtualBox
    2.98 +|   |   `-- VirtualBox.xml
    2.99 +|   `-- VirtualBox VMs
   2.100 +|       `-- SecurityDVM
   2.101 +|           |-- SecurityDVM.vbox
   2.102 +|           `-- SecurityDVM.vmdk
   2.103 +`-- systemprofile-IKT
   2.104 +    |-- .VirtualBox
   2.105 +    |   `-- VirtualBox.xml
   2.106 +    `-- VirtualBox VMs
   2.107 +        `-- SecurityDVM
   2.108 +            |-- SecurityDVM.vbox
   2.109 +            `-- SecurityDVM.vmdk
   2.110 +\end{verbatim}
   2.111 +
   2.112 +Die wesentlichsten Verzeichnisse sind dabei:
   2.113 +
   2.114 +\begin{itemize}
   2.115 +
   2.116 +\item \texttt{bin}: dies beinhaltet den OpenSecurity Core Code.
   2.117 +
   2.118 +\item \texttt{cygwin64}: hier ist die Cygwin64 Installation, welche von OpenSecurity verwendet wird.
   2.119 +
   2.120 +\item \texttt{python27}: das ist die Python 2.7 Installation, welche von OpenSecurity verwendet wird.
   2.121 +
   2.122 +\item Lizenzdateien.
   2.123 +
   2.124 +\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.
   2.125 +
   2.126 +\end{itemize}
   2.127 +
   2.128 +
   2.129 +\subsection{Registry}
   2.130 +
   2.131 +OpenSecurity schreibt diese Einträge in die Registry:
   2.132 +
   2.133 +\begin{itemize}
   2.134 +
   2.135 +\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.
   2.136 +\item \textbf{HKLM{\textbackslash}SOFTWARE{\textbackslash}OpenSecurity{\textbackslash}LogServerUrl}: HTTP RESTful URL des OpenSecurity LogServer.
   2.137 +\item \textbf{HKLM{\textbackslash}SOFTWARE{\textbackslash}OpenSecurity{\textbackslash}Browser}: Vollständiger Pfad und Optionen des Internet Browsers in der VM für Sicheres Surfen.
   2.138 +\item \textbf{HKLM{\textbackslash}SOFTWARE{\textbackslash}OpenSecurity{\textbackslash}ImageUrl}: Download-URL für VM-Images zum Importieren/Updaten der VM-Images.
   2.139 +\item \textbf{HKLM{\textbackslash}SYSTEM{\textbackslash}CurrentControlSet{\textbackslash}services{\textbackslash}USBSTOR}: Wert ``4'' zum Deaktivieren des Windows USB-Mass-Storage Treibers.
   2.140 +
   2.141 +
   2.142 +\end{itemize}
   2.143 +
   2.144 +
   2.145 +
   2.146 +\subsection{Postinstall}
   2.147 +
   2.148 +Nach der Installation führt das Setup diese Schritte durch:
   2.149 +
   2.150 +\begin{enumerate}
   2.151 +
   2.152 +\item Rebase der Cygwin64 installation. Das stellt die Suchpfade der Cygwin DLLs korrekt.
   2.153 +\item Fix der Cygwin Pfad in der /etc/fstab.
   2.154 +\item Cygwin Umgebung erzeugen durch einmaliges Ausführen einer Bash.
   2.155 +\item Firewall Regeln für OpenSecurity im System eintragen.
   2.156 +\item Installation des OpenSecurity Service.
   2.157 +\item Starten des OpenSecurity Service.
   2.158 +\item Starten des OpenSecurity Tray Icons.
   2.159 +
   2.160 +\end{enumerate}
   2.161 +
   2.162 +
   2.163 +
   2.164 +\section{Schlußbemerkung}
   2.165 +
   2.166 +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.
   2.167 +
   2.168 +
   2.169 +\end{document}