\documentclass[a4paper, 11pt]{article}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{a4wide}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{color}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{ulem}
\usepackage{listings}
\usepackage{float}
\usepackage[rflt]{floatflt}
\usepackage{tabularx}
\setlength{\parindent}{0pt}
\title{Microsoft Internet Information Services - IIS 7.5}
\usepackage[
pdftitle={Microsoft Internet Information Services - IIS 7.5}
pdfsubject={Eine kurze Anleitung zur Einrichtung des ISAPI CMS im IIS7.5 unter Windows 7}
pdfauthor={Udo Schmal}
pdfkeywords={Administration, ISAPI CMS, IIS 7.5, Windows 7, Config}
]{hyperref}
\definecolor{darkblue}{rgb}{0,0,.5}
\hypersetup{pdftex=true, colorlinks=true, breaklinks=true, linkcolor=darkblue, menucolor=darkblue, pagecolor=darkblue, urlcolor=darkblue}
\begin{document}Microsoft Internet Information Services - IIS 7.5
\singlespacing
{\LARGE \textbf{\label{sec:title}Microsoft Internet Information Services - IIS7.5}}

\singlespacing
{\large \textbf{\label{sec:subtitle}IIS7.5 unter Windows 7 für ISAPI CMS einrichten}}

\singlespacing
{\Large \textbf{Installation IIS7.5}}

\begin{floatingfigure}[r]{0.33\textwidth}
\centering
\includegraphics[width=0.25\textwidth]{/home/udo/webserver/www.gocher.me/www-root/media/Internetinformationsdienste.png}

Windows-Funktionen aktivieren und deaktivieren\newline
 (Administratorrechte)
\end{floatingfigure}

\begin{enumerate}
\item Start -\&gt; Systemsteuerung -\&gt; Programme und Funktionen -\&gt; Windows-Funktionen aktivieren und deaktivieren (Administratorrechte)
\item Internetinformationsdienste auswählen unter Webverwaltungstools, IIS-Verwaltungskonsole auswählen unter WWW-Dienste -\&gt; Anwendungsentwicklungsfeatures, ISAPI-Erweiterungen und ISAPI-Filter auswählen.
\item des weiteren ist es sinnvoll überflüssige Features zu entfernen unter WWW-Dienste: Verzeichnis durchsuchen, Standarddokument, WebDAV-Veröffentlichung,...
\item OK anklicken zum Start der Installation
\end{enumerate}

IIS-Verwaltungsdienst: nur für Remote unterstützung erforderlich IIS-Verwaltungsskripts und -tools: nur für Automatisierung (Command-Prompt/Scripts)

Nach der Installation kann es erforderlich sein in der Firewall den Zugriff von außen zu erlauben:

\begin{enumerate}
\item Start -\&gt; Systemsteuerung -\&gt; Windows-Firewall
\item Eingehede Regeln
\item WWW-Dienste (Eingehender HTTP-Datenverkehr)
\item unter Allgemein Aktiviert auswählen
\item OK zum Bestätigen
\end{enumerate}

\singlespacing
{\Large \textbf{Internetinformationsdienste (IIS)-Manager aufrufen}}

\singlespacing
\textbf{ISAPI Ausführen für das Root-Verzeichnis (wwwroot) erlauben}

\begin{floatingfigure}[r]{0.33\textwidth}
\centering
\includegraphics[width=0.25\textwidth]{/home/udo/webserver/www.gocher.me/www-root/media/IIS-Manager-Root.png}

IIS-Manager Root-Verzeichnis
\end{floatingfigure}

\begin{enumerate}
\item Default Web Site auswählen
\item Symbol „Handlerzuordnungen“ anklicken
\item „Feature Berechtigungen bearbeiten...“ anklicken
\item „Ausführen“ auswählen
\item OK zum Bestätigen
\end{enumerate}

\singlespacing
\textbf{Anonymen Zugriff erlauben}

\begin{enumerate}
\item Default Web Site auswählen
\item Symbol „Authentifizierung“ anklicken
\item in Liste „Anonyme Authentifizierung“ auswählen
\item „Bearbeiten...“ anklicken
\item „Identität des Anwendungspools“ auswählen
\item OK zum Bestätigen
\end{enumerate}
\begin{lstlisting}[breaklines]a\textbf{ppcmd set config /commit:WEBROOT} \textbf{/section:identity /impersonate:true}\newline
\end{lstlisting}

\singlespacing
\textbf{ISAPI-Extension einrichten}

\begin{enumerate}
\item Root Eintrag (Rechnername) auswählen
\item Symbol „ISAPI und CGI-Einschränkungen“ anklicken
\item um alle ISAPI/CGI-Module zu erlauben:          
\begin{enumerate}           
\item „Feature Berechtigungen bearbeiten...“ anklicken
\item „Nicht angegebene ISAPI-Module zulassen.“
\end{enumerate}

\item um das ISAPI-CMS Modul zu erlauben:          
\begin{enumerate}           
\item in Liste klicken
\item „Hinzufügen...“ anklicken
\item ISAPI- oder CGI-Pfad: \underbar{C:\textbackslashinetpub\textbackslashwwwroot\textbackslashisapi\_.dll} Beschreibung: \underbar{Udos ISAPICMS Extension} „Ausführung des Erweiterungspfads zulassen“ auswählen
\end{enumerate}

\item OK zum Bestätigen
\end{enumerate}
\begin{lstlisting}[breaklines]\textbf{appcmd set config /section:isapiCgiRestriction /[path='}\textbf{C:\textbackslashnetpub\textbackslashwwwroot\textbackslashisapi\_.dll}\textbf{',}\textbf{\textbf{allowed='true'}].description:\&quot;Udos ISAPI CMS Extension\&quot;}\newline
 \end{lstlisting}

\singlespacing
\textbf{ISAPI-Filter einrichten}

\begin{enumerate}
\item Root Eintrag (Rechnername) auswählen
\item Symbol „ISAPI-Filter“ anklicken
\item in Liste klicken
\item „Hinzufügen...“ anklicken
\item Filtername: \underbar{Udos ISAPICMS Filter} Ausführbare Datei: \underbar{C:\textbackslashinetpub\textbackslashisapi\_filter.dll}
\item OK zum Bestätigen
\end{enumerate}
\begin{lstlisting}[breaklines]\textbf{appcmd set config /section:isapiFilters /+\&quot;[name='}\textbf{isapi\_filter}\textbf{',path='c:\textbackslashinetpub\textbackslashisapi\_filter.}\textbf{dll'}\textbf{\textbf{,enabled='true}\textbf{',enableCache='true}\textbf{'},preCondition='bitness32']}\&quot; \textbf{/commit:apphost}\end{lstlisting}

\singlespacing
\textbf{32 Bit ISAPIDLL auf IIS7 Windows 7 64 Bit erlauben und Pingausführung für Arbeitsprozesse für einen Anwendungspool abschalten}

\begin{floatingfigure}[r]{0.33\textwidth}
\centering
\includegraphics[width=0.25\textwidth]{/home/udo/webserver/www.gocher.me/www-root/media/IIS-Manager-WebSite.png}

IIS-Manager Web Site
\end{floatingfigure}

Wenn die ISAPI-Extension als 32 Bit dll compiliert wurde und auf einem 64 Bit System laufen soll sind auch noch folgende Schritte erforderlich.

\begin{enumerate}
\item „Anwendungspool“ Eintrag anklicken
\item in Liste „DefaultAppPool“ auswählen
\item „Erweiterte Einstellungen...“ anklicken
\item „32-Bit-Anwendunge aktivieren“ auf True setzen
\item „Ping aktiviert“ auf False setzen
\item OK zum Bestätigen
\end{enumerate}
\begin{lstlisting}[breaklines]\textbf{appcmd set apppool /apppool.name:DefaultAppPool /enable32BitAppOnWin64:true}\textbf{\newline
appcmd set apppool /apppool.name:}\textbf{DefaultAppPool}\textbf{ /processModel.pingingEnabled:false}\newline
\end{lstlisting}

\singlespacing
\textbf{Gültigkeit von Statischen Dateien setzen}

\begin{enumerate}
\item Default Web Site auswählen
\item zur Ansicht „Inhalt“ wechseln
\item z.B.den Ordner downloads, images, scripts, styles oder auch das favicon.ico wählen
\item zu Ansicht „Features“ wechseln
\item Symbol „HTTP-Anwendungsheader“ anklicken
\item „Gemeinsam genutzter Header festlegen...“ auswähen
\item HTTP-Keep-Alive aktivieren Ablauf des Webinhalts Nach 30 Tage festlegen
\item OK zum Bestätigen
\end{enumerate}
\begin{lstlisting}[breaklines]\textbf{appcmd set config /section:httpProtocol /allowKeepAlive:true}\end{lstlisting}

\singlespacing
{\Large \textbf{Berechtigungen für Verzeichnisse und Dateien außerhalb des Rootverzeichnisses setzen}}

\begin{enumerate}
\item Verzeichnis backup, index, logging, sessions und die Datei  isapi\_filter.dll nacheinander auswählen und folgende Schritte durchführen
\item Rechtsklick auf Verzeichnis/Datei und dann „Eigenschaften...“ anklicken
\item Reiter „Sicherheit“ auswählen
\item „Bearbeiten“ anklicken
\item „Hinzufügen“ anklicken
\item „Erweitert...“ anklicken
\item „Jetzt suchen“ anklicken
\item „IIS\_IUSRS“ doppelklicken
\item für diesen Benutzer alle Rechte setzen
\end{enumerate}

\singlespacing
{\Large \textbf{Upload Limit setzen}}

\begin{enumerate}
\item Default Web Site auswählen
\item Symbol „Anforderungsfilterung“ doppelklicken
\item „Featureeinstellungen bearbeiten...“ auswählen
\item unter „Anforderungslimits“ den Punkt „Maximal zulässige Inhaltslänge (Bytes):“ abändern (default \textasciitilde30MB)
\item OK zum Bestätigen
\end{enumerate}

\singlespacing
{\Large \textbf{MIME-Types eintragen}}

\begin{enumerate}
\item Root Eintrag (Rechnername) auswählen
\item Symbol „MIME-Type“ anklicken
\item „Hinzufügen“ anklicken                                  
\begin{tabularx}{0.9\textwidth} { | >{\raggedright\arraybackslash}X | >{\raggedright\arraybackslash}X | >{\raggedright\arraybackslash}X | >{\raggedright\arraybackslash}X | >{\raggedright\arraybackslash}X | }
\hline
               Dateinamenerweiterung &                MIME-Type &              \hline
                                                  .appcache &                text/cache-manifest &              \hline
                            .ogg &                audio/ogg &              \hline
                            .mp4 &                video/mp4 &              \hline
                            .ogv &                video/ogg &              \hline
                            .webm &                video/webm &              \hline
                            .svg &                image/svg+xml &              \hline
                            .ttf\newline
 &                font/ttf \newline
 &              \hline
                            .otf &                font/opentype &              \hline
                            .eot\newline
 &                application/vnd.ms-fontobject &              \hline
                            .woff\newline
 &                application/font-woff\newline
 &              \hline
                            .woff2\newline
 &                application/font-woff2\newline
 &              \hline
                            .lpr, .pas\newline
 &                text/plain\newline
 &              \hline
                            .ini, .patch &                text/plain\newline
 &              \hline
                    \end{tabularx}
       
\end{enumerate}
\end{document}