{"id":84,"date":"2010-09-14T16:16:26","date_gmt":"2010-09-14T14:16:26","guid":{"rendered":"https:\/\/caipirinha.spdns.org\/wp\/?p=84"},"modified":"2020-12-31T17:48:06","modified_gmt":"2020-12-31T16:48:06","slug":"apache","status":"publish","type":"post","link":"https:\/\/caipirinha.spdns.org\/wp\/?p=84","title":{"rendered":"Apache"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Einf\u00fchrung<\/h2>\n\n\n\n<p>Der Apache-Webserver ist ein zentrales Element des <a href=\"http:\/\/caipirinha.homelinux.org\/\">Caipirinha<\/a>-Servers, weil auf ihm aufbauend noch zahlreiche weitere Dienste realisiert sind, und zwar:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Caipigallery auf <a href=\"http:\/\/caipirinha.homelinux.org\/coppermine\/\">[1]<\/a><\/li><li>Caipiwiki auf <a href=\"http:\/\/caipirinha.homelinux.org\/mediawiki\/\">[2]<\/a><\/li><li>GroupOffice auf <a href=\"http:\/\/caipirinha.homelinux.org\/groupoffice\/\">[3]<\/a><\/li><li><a href=\"http:\/\/localhost\/mediawiki\/index.php\/Caipithek\">Caipithek<\/a> auf <a href=\"http:\/\/caipirinha.homelinux.org\/caipithek.php\">[4]<\/a><\/li><li><a href=\"http:\/\/localhost\/mediawiki\/index.php\/MRTG\">MRTG<\/a> f\u00fcr die verschiedenen Grafiken auf <a href=\"http:\/\/caipirinha.homelinux.org\/mrtg\/cpu.html\">[5]<\/a>, <a href=\"http:\/\/caipirinha.homelinux.org\/mrtg\/router.html\">[6]<\/a>, <a href=\"http:\/\/caipirinha.homelinux.org\/mrtg\/dsk.html\">[7]<\/a>, <a href=\"http:\/\/caipirinha.homelinux.org\/mrtg\/mail.html\">[8]<\/a><\/li><li><a href=\"http:\/\/localhost\/mediawiki\/index.php\/USV\">USV<\/a>-Status auf <a href=\"http:\/\/caipirinha.homelinux.org\/cgi-bin\/multimon.cgi\">[9]<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Pakete<\/h2>\n\n\n\n<p>Zum Betrieb des Apache-Webservers m\u00fcssen die folgenden Pakete auf dem <a href=\"http:\/\/caipirinha.homelinux.org\/\">Caipirinha<\/a>-Server installiert werden. Au\u00dferdem muss <a href=\"http:\/\/localhost\/mediawiki\/index.php?title=Projektmanagement-Server&amp;action=edit&amp;redlink=1\">PHP<\/a> installiert und konfiguriert worden sein. Als Einstieg in die Konfiguration des <strong>Apache<\/strong>-Webservers ist ferner das Buch <a href=\"http:\/\/www.galileocomputing.de\/katalog\/buecher\/titel\/gp\/titelID-1972\">[10]<\/a> sehr empfehlenswert.\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>apache2<\/li><li>apache2-doc<\/li><li>apache2-mod_perl<\/li><li>apache2-mod_php5<\/li><li>apache2-prefork<\/li><li>apache2-utils<\/li><li>susehelp<\/li><li>susehelp_de<\/li><li>susehelp_en<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Basis-Setup<\/h2>\n\n\n\n<p>Um Apache auf die eigenen Anforderungen anzupassen, erstellen wir zun\u00e4chst eine Konfigurationsdatei, die dann zus\u00e4tzlich zu den bereits existierenden Konfigurationsdateien beim Start des Apache-Servers abgearbeitet wird:\n<\/p>\n\n\n\n<p><strong>\/etc\/apache2\/httpd.conf.local<\/strong>:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#\n# Additional Configuration for the Apache Web server on CAIPIRINHA\n#\n# Gabriel R\u00fceck, 24.10.2010\n\nAddDefaultCharset    UTF-8\nDirectoryIndex       index.shtml\n\n# Additional Handler Declarations\nAddHandler           imap-file map\n\nSSLCipherSuite       HIGH\n\n# Verzeichnisse freigeben au\u00dferhalb des DocumentRoot\nAlias \/kde-icons     \/opt\/kde3\/share\/icons\/crystalsvg\/48x48\/mimetypes\nAlias \/gnome-icons   \/usr\/share\/icons\/gnome\/32x32\nAlias \/dav           \/home\/public\/Dropbox\n\n# Umleitungen auf die neu angemietete Domain rueeck.name\nRedirect permanent   \/coppermine  http:\/\/rueeck.name\/coppermine\n#Redirect            \/mediawiki   http:\/\/rueeck.name\/mediawiki\nRedirect permanent   \/lx-erp      https:\/\/rueeck.name\/lx-erp\nRedirect permanent   \/phpPgAdmin  https:\/\/rueeck.name\/phpPgAdmin\nRedirect permanent   \/groupoffice https:\/\/rueeck.name\/groupoffice\n\n# KDE ICONS (needed for update_rss.sh)\n&lt;Location \/kde-icons&gt;\n  Allow from         all\n&lt;\/Location&gt;\n\n# GNOME ICONS (needed for caipithek.php)\n&lt;Location \/gnome-icons&gt;\n  Allow from         all\n&lt;\/Location&gt;\n\n# MULTIMEDIA-VERZEICHNIS\n&lt;Directory \/srv\/www\/htdocs\/MM&gt;\n  SSLRequireSSL\n  AuthName           \"Secure Access on CAIPIRINHA\"\n  AuthType           Digest\n  AuthUserFile       \/srv\/www\/htdocs\/MM\/.htpasswd\n  Require            valid-user\n  Options            Indexes FollowSymLinks\n  IndexOptions       +IgnoreCase +FoldersFirst +VersionSort +Charset=UTF-8\n&lt;\/Directory&gt;\n\n# DIGITAL DROPBOX\n&lt;Directory \/srv\/www\/htdocs\/Dropbox&gt;\n  AuthName           \"Digital Dropbox on caipirinha\"\n  AuthType           Digest\n  AuthUserFile       \/home\/public\/Dropbox\/.htpasswd\n  Require            valid-user\n&lt;\/Directory&gt;\n\n# WEBALIZER\n&lt;Directory \/srv\/www\/htdocs\/webalizer&gt;\n  AuthName           \"Secure Access on CAIPIRINHA\"\n  AuthType           Digest\n  AuthUserFile       \/srv\/www\/htdocs\/MM\/.htpasswd\n  Require            valid-user\n&lt;\/Directory&gt;\n\n# LX-OFFICE\n&lt;Directory \/srv\/www\/htdocs\/lx-office-erp&gt;\n  SSLRequireSSL\n&lt;\/Directory&gt;\n\n&lt;Directory \/srv\/www\/htdocs\/lx-erp&gt;\n  SSLRequireSSL\n  Options ExecCGI Includes FollowSymlinks\n&lt;\/Directory&gt;\n\n&lt;Directory \/srv\/www\/htdocs\/lx-erp\/users&gt;\n  Deny from          all\n&lt;\/Directory&gt;\n\n&lt;Directory \/srv\/www\/htdocs\/phpPgAdmin&gt;\n  SSLRequireSSL\n&lt;\/Directory&gt;\n\n# WEBDAV WEBFOLDERS\n# Speicherort f\u00fcr Lock-Datenbank\nDAVLockDB            \/var\/lock\/dav\/lock\nDavDepthInfinity     off\n\n&lt;Location \/dav&gt;\n  Allow from         all\n  Dav                on\n  ForceType          text\/plain\n  AuthType           Digest\n  AuthName           \"Secure Access on CAIPIRINHA\"\n  AuthUserFile       \/srv\/www\/htdocs\/MM\/.htpasswd\n  &lt;LimitExcept OPTIONS&gt;\n    Require            valid-user\n  &lt;\/LimitExcept&gt;\n  Options            Indexes\n  IndexOptions       +IgnoreCase +FoldersFirst +VersionSort +Charset=UTF-8\n  SSLRequireSSL\n&lt;\/Location&gt;<\/pre>\n\n\n\n<p>Gehen wir diese Konfiguration einmal Schritt f\u00fcr Schritt durch:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Mit <strong>AddDefaultCharset<\/strong> wird <strong>UTF-8<\/strong> als \nStandard-Zeichensatz des Webservers eingestellt. Dadurch k\u00f6nnen auch \nTexte in nicht-lateinischen Buchstaben problemlos dargestellt werden. \nHeutzutage macht wegen der zunehmenden Internationalisierung eigentlich \nauch keine andere Einstellung mehr Sinn.<\/li><li>Mit <strong>DirectoryIndex<\/strong> legt man fest, dass Webseiten mit Namen <strong>index.shtml<\/strong>\n ebenfalls als Index-Seiten (also so wie index.html) betrachtet werden. \nManche Entwicklungswerkzeuge f\u00fcr Webseiten nehmen die Endung <strong>shtml<\/strong> f\u00fcr Webseiten, welche <a href=\"http:\/\/de.wikipedia.org\/wiki\/Server_Side_Includes\">Server Side Includes (SSI)<\/a> enthalten.<\/li><li>In der Zeile mit der Direktive <strong>AddHandler<\/strong> wird nun ein Handler f\u00fcr <a href=\"http:\/\/en.wikipedia.org\/wiki\/Image_map\">Image Maps<\/a> benannt.<\/li><li>Die folgende Direktive <strong>SSLCipherSuite<\/strong> fordert den Einsatz von <a href=\"http:\/\/de.wikipedia.org\/wiki\/Data_Encryption_Standard\">Triple-DES-Verschl\u00fcsselung<\/a> beim Aufruf verschl\u00fcsselter Webseiten (<strong>https<\/strong>) und verbietet den Einsatz schw\u00e4cherer Verschl\u00fcsselungsalgorithmen.<\/li><li>Nun werden Alias-Pfade f\u00fcr einige Verzeichnisse au\u00dferhalb des <strong>DocumentRoot<\/strong> festgelegt. Damit erreicht man quasi eine &#8220;Umleitung&#8221; des Zugriffs. So wird beispielsweise beim Aufruf der Seite <strong><a href=\"http:\/\/caipirinha.homelinux.org\/dav\">http:\/\/caipirinha.homelinux.org\/dav<\/a><\/strong> nicht etwa in das Verzeichnis <strong>\/srv\/www\/htdocs\/dav<\/strong> verzweigt, wie dies normalerweise der Fall w\u00e4re, sondern der Webserver sieht stattdessen in <strong>\/home\/public\/Dropbox<\/strong> nach. Mit dieser Methode kann man beliebige Verzeichnisse einbinden, ohne dass sich alles unterhalb des <strong>DocumentRoot<\/strong> (<strong>\/srv\/www\/htdocs<\/strong>) befinden muss.<\/li><li>Nun folgen einige Umleitungen f\u00fcr Webseiten, die vormals auf dem <a href=\"http:\/\/caipirinha.homelinux.org\/\">Caipirinha<\/a>-Server gehostet wurden und die jetzt auf die Maschine <a href=\"http:\/\/rueeck.name\">rueeck.name<\/a> verschoben worden sind. Damit Zugriffe auf diese vormals auf dem <a href=\"http:\/\/caipirinha.homelinux.org\/\">Caipirinha<\/a>-Server existierenden Seiten nicht ins Leere gehen, werden sie automatisch umgeleitet.<\/li><li>Die folgenden beiden <strong>Location<\/strong>-Direktiven haben als einzigen Zweck das Zulassen des Zugriffs f\u00fcr alle Clients auf die Web-Verzeichnisse:\n<ul><li><a href=\"http:\/\/caipirinha.homelinux.org\/kde-icons\">http:\/\/caipirinha.homelinux.org\/kde-icons<\/a><\/li><li><a href=\"http:\/\/caipirinha.homelinux.org\/gnome-icons\">http:\/\/caipirinha.homelinux.org\/gnome-icons<\/a><\/li><\/ul><\/li><li>Die folgende <strong>Directory<\/strong>-Direktive bezieht sich auf das Verzeichnis <strong>\/srv\/www\/htdocs\/MM<\/strong> (erreichbar \u00fcber <a href=\"https:\/\/10.130.25.50\/MM\">https:\/\/10.130.25.50\/MM<\/a>). Dieses Verzeichnis ist erfordert zwingend eine verschl\u00fcsselte Verbindung (<strong>https<\/strong>) und eine erfolgreiche Authentifizierung (Direktiven <strong>SSLRequireSSL<\/strong>, <strong>AuthName<\/strong>, <strong>AuthType<\/strong>, <strong>AuthUserFile<\/strong>, <strong>Require<\/strong>) mit einem g\u00fcltigen Paar aus Benutzernamen und Passwort aus der Datei <strong>\/srv\/www\/htdocs\/MM\/.htpasswd<\/strong>. Au\u00dferdem ist bei diesem Verzeichnis das Auflisten des Verzeichnis-Inhalts (<strong>Indexes<\/strong>) zul\u00e4ssig. Bei der Auflistung werden bestimmte Sortierkriterien eingehalten, die zus\u00e4tzlich (deswegen das &#8220;+&#8221;-Zeichen) zu den Default-Optionen aktiviert werden (<strong>+IgnoreCase +FoldersFirst +VersionSort<\/strong>). Au\u00dferdem wird das Listing mit dem Zeichensatz <strong>UTF-8<\/strong> durchgef\u00fchrt (<strong>+Charset=UTF-8<\/strong>).<\/li><li>Dann folgt eine <strong>Directory<\/strong>-Direktive f\u00fcr die <strong>Dropbox<\/strong>, bei der ebenfalls eine Authentifizierung, aber keine Verschl\u00fcsselung notwendig ist.<\/li><li>Eine vergleichbare Konfiguration hat die n\u00e4chste <strong>Directory<\/strong>-Direktive, welche den Zugriff auf die Webserver-Statistiken in <strong>\/srv\/www\/htdocs\/webablizer<\/strong> regelt (siehe <a href=\"http:\/\/localhost\/mediawiki\/index.php\/Apache#Webalizer\">Webalizer<\/a>).<\/li><li>Dann folgen drei Abschnitte, welche den Zugriff auf die Dateien f\u00fcr das Paket <strong>lx-office<\/strong> regeln. Dabei ist zu beachten, dass f\u00fcr das Verzeichnis <strong>\/srv\/www\/htdocs\/lx-erp<\/strong> spezifische Optionen festgelegt werden, und zwar nicht zus\u00e4tzlich zu den Default-Optionen, sondern anstatt\n der Default-Optionen. Deshalb fehlt hier das &#8220;+&#8221;-Zeichen, welches bei \nder Festlegung der Optionen in einem der vorherigen Bl\u00f6cke benutzt \nworden war. F\u00fcr den Zugriff auf <strong>lx-office<\/strong> sowie auf <strong>phpPgAdmin<\/strong> ist zwingend Verschl\u00fcsselung notwendig, weil bei der Benutzung dieser Pakete Passworte \u00fcbertragen werden m\u00fcssen.<\/li><li>Zuletzt kommen die Einstellungen f\u00fcr das <strong>WebDAV<\/strong>-Verzeichnis in <strong>\/home\/public\/Dropbox<\/strong> (erreichbar \u00fcber <a href=\"https:\/\/caipirinha.homelinux.org\/dav\">https:\/\/caipirinha.homelinux.org\/dav<\/a>). Eine Einf\u00fchrung in WebDAV findet sich auf <a href=\"http:\/\/de.wikipedia.org\/wiki\/WebDAV\">[11]<\/a>, <a href=\"http:\/\/www.heise.de\/netze\/artikel\/WebDAV-mit-Apache-221613.html\">[12]<\/a>, <a href=\"http:\/\/www.tu-harburg.de\/rzt\/webserver\/WebDAV\/\">[13]<\/a> und <a href=\"https:\/\/caipirinha.homelinux.org\/manual\/mod\/mod_dav.html\">[14]<\/a>; die detaillierte Spec gibt es auf <a href=\"http:\/\/www.webdav.org\/specs\/\">[15]<\/a>. Bei der Konfiguration von WebDAV sind mehrere Punkte zu beachten:\n<ul><li>Zun\u00e4chst muss eine <strong>lock<\/strong>-Datenbank eingerichtet werden, welche im Betrieb dann mehrere Dateien (in diesem Fall <strong>lock.dir<\/strong> und <strong>lock.pag<\/strong>) erzeugt. Dazu muss das Verzeichnis \/var\/lock\/dav erzeugt werden und dem Apache-Benutzer <em>wwwrun:www<\/em> geh\u00f6ren; das macht man mit den beiden Befehlen unten.<\/li><li>Mit der Direktive <strong>DavDepthInfinity<\/strong> werden <strong>PROPFIND<\/strong>-Abfragen\n mit unendlicher Tiefe ausgeschaltet. Dies w\u00e4re bei meinem kleinen \nAnwenderkreis allerdings nicht unbedingt notwendig gewesen.<\/li><li>F\u00fcr den Zugriff auf <a href=\"https:\/\/caipirinha.homelinux.org\/dav\">https:\/\/caipirinha.homelinux.org\/dav<\/a> ist eine verschl\u00fcsselte Verbindung und eine Authentifizierung des Typs <strong>Digest<\/strong> notwendig. <strong>Digest<\/strong> muss deswegen gew\u00e4hlt werden, weil Windows Vista und Windows 7-Clients eine Authentifizierung mit <strong>Basic<\/strong> nicht mehr durchf\u00fchren. Beim Authentifizierungstyp <strong>Basic<\/strong> wird das Passwort nicht verschl\u00fcsselt, sondern im <a href=\"http:\/\/de.wikipedia.org\/wiki\/Base64\">Base64<\/a>-Verfahren\n \u00fcbertragen und l\u00e4sst sich daher beim Mitschneiden der Verbindung \nproblemlos absch\u00f6pfen. Zwar ist dies bei einer gesicherten (<strong>https<\/strong>)-Verbindung kein gro\u00dfes Problem, aber moderne Windows-Clients fordern das eben, und die Grundidee ist ja auch richtig.<\/li><li>Die Authentifizierung wird allerdings nicht f\u00fcr die Methode <strong>OPTIONS<\/strong>\n gefordert, mit welcher ein Client eine Liste der unterst\u00fctzten \nHTTP-Methoden anfordern kann. Der Grund f\u00fcr diese Einstellung ist, dass \nich in den Log-Dateien des Servers viele Fehler gefunden habe, welche \ndaraus resultieren, dass Windows Vista- und Windows 7-Clients immer \nzun\u00e4chst ohne Authentifizierung auf den WebDAV-Server zugreifen wollen. \nEine gro\u00dfe Anzahl der Anfragen geht dabei von den Methoden <strong>OPTIONS<\/strong> und <strong>PROPFIND<\/strong> aus. <strong>PROPFIND<\/strong> hatte ich testweise ebenfalls von der Authentifizierung ausgenommen (mit der <strong>LimitExcept<\/strong>-Direktive), aber dann konnte jeder Client auch ohne Authentifizierung den Verzeichnisinhalt von <strong>\/home\/public\/Dropbox<\/strong>\n auflisten lassen. Ein Zugriff auf die Dateien war zwar nicht m\u00f6glich, \naber dennoch schien mir dies aus Gr\u00fcnden der Sicherheit problematisch zu\n sein.<\/li><\/ul><\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">mkdir \/var\/lock\/dav\nchown wwwrun:www \/var\/lock\/dav<\/pre>\n\n\n\n<p>Die Einstellungen f\u00fcr den WebDAV-Betrieb k\u00f6nnen sicherlich verbessert\n werden, und f\u00fcr entsprechende Vorschl\u00e4ge bin ich daher dankbar.\n<\/p>\n\n\n\n<p>In dieser Konfigurationsdatei sind die Dateien <strong>\/srv\/www\/htdocs\/MM\/.htpasswd<\/strong> und <strong>\/home\/public\/Dropbox\/.htpasswd<\/strong>\n referenziert, welche g\u00fcltige Paare aus einem Benutzernamen und dem \ndazugeh\u00f6rigen verschl\u00fcsselten Passwort enthalten. Eine solche Datei wird\n mit dem Befehl <code>htdigest2<\/code> erzeugt, dessen Benutzung in <code>man htdigest2<\/code> beschrieben ist. M\u00f6chte man beispielsweise noch einen Benutzer <em>alfred<\/em> hinzuf\u00fcgen, so w\u00fcrde man eingeben:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">htdigest2 \/srv\/www\/htdocs\/MM\/.htpasswd \"Secure Access on CAIPIRINHA\" alfred<\/pre>\n\n\n\n<p>und bei der darauf folgenden Abfrage ein Passwort eingeben. Der Wert f\u00fcr <strong>realm<\/strong> (siehe <code>man htdigest2<\/code>)\n sollte gleich dem Ausdruck (hier: &#8220;Secure Access on CAIPIRINHA&#8221;) sein, \nwelcher im entsprechenden Abschnitt der Konfigurationsdatei <strong>\/etc\/apache2\/httpd.conf.local<\/strong> bei der Direktive <strong>AuthName<\/strong> eingetragen ist.\n<\/p>\n\n\n\n<p>Nun muss noch eine weitere Konfigurationsdatei angepasst werden. In der Datei <strong>\/etc\/apache2\/mod_mime-defaults.conf<\/strong> werden folgende \u00c4nderungen (Entfernen des davor stehenden &#8220;#&#8221;) vorgenommen:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Der MIME-Typ f\u00fcr <strong>*.tgz<\/strong>-Dateien wird gesetzt.<\/li><li>Der Filter f\u00fcr <a href=\"http:\/\/de.wikipedia.org\/wiki\/Server_Side_Includes\">Server Side Includes (SSI)<\/a> wird aktiviert.<\/li><\/ul>\n\n\n\n<p> <strong>\/etc\/apache2\/mod_mime-defaults.conf<\/strong>: <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">...\n#\n# AddType allows you to add to or override the MIME configuration\n# file mime.types for specific file types.\n#\nAddType application\/x-tar .tgz\n...\n#\n# Filters allow you to process content before it is sent to the client.\n#\n# To parse .shtml files for server-side includes (SSI):\n# (You will also need to add \"Includes\" to the \"Options\" directive.)\n#\nAddType text\/html .shtml\nAddOutputFilter INCLUDES .shtml\n...<\/pre>\n\n\n\n<p>Mit <strong>YaST2<\/strong> m\u00fcssen jetzt mit dem <strong>Editor f\u00fcr \/etc\/sysconfig<\/strong> noch einige Variablen richtig gesetzt werden:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Applications\u2192SuSEhelp\u2192<strong>DOC_HOST<\/strong> wird auf <strong>caipirinha.homelinux.org<\/strong> gesetzt.<\/li><li>Applications\u2192SuSEhelp\u2192<strong>DOC_ALLOW<\/strong> bleibt leer.<\/li><li>Applications\u2192SuSEhelp\u2192<strong>DOC_AUTOINDEX<\/strong> wird auf <strong>yes<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache\u2192SuSEhelp\u2192<strong>DOC_SERVER<\/strong> wird auf <strong>yes<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_CONF_INCLUDE_FILES<\/strong> wird auf <strong>\/etc\/apache2\/httpd.conf.local<\/strong> gesetzt, damit unsere Konfigurationsdatei von oben \u00fcberhaupt verarbeitet wird.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_CONF_INCLUDE_DIRS<\/strong> bleibt leer.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_MODULES<\/strong> muss mindestens die Module <strong>actions\n alias auth_basic auth_digest authn_file authz_host authz_default \nauthz_user autoindex cgi charset_lite dav dav_fs dav_lock deflate dir \nenv expires imagemap include log_config mime mime_magic negotiation \nsetenvif suexec ssl userdir php5<\/strong> beinhalten.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_SERVER_FLAGS<\/strong> wird auf <strong>-D SSL<\/strong> gesetzt, um SSL zu aktivieren.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_HTTPD_CONF<\/strong> bleibt leer.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_MPM<\/strong> bleibt leer.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_SERVERADMIN<\/strong> wird auf <strong>root@caipirinha.homelinux.org<\/strong> eingestellt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_SERVERNAME<\/strong> wird auf <strong>caipirinha.homelinux.org<\/strong> eingestellt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_START_TIMEOUT<\/strong> wird auf <strong>20<\/strong> gestellt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_SERVERSIGNATURE<\/strong> wird auf <strong>on<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_LOGLEVEL<\/strong> wird auf <strong>warn<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_ACCESS_LOG<\/strong> wird auf <strong>\/var\/log\/apache2\/access_log combined<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_USE_CANONICAL_NAMES<\/strong> wird auf <strong>off<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_SERVERTOKENS<\/strong> wird auf <strong>OS<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_EXTENDED_STATUS<\/strong> wird auf <strong>off<\/strong> gesetzt.<\/li><\/ul>\n\n\n\n<p> Die hier genannten Einstellungen finden sich dann auch in den System-Dateien: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\/etc\/sysconfig\/susehelp<\/li><li>\/etc\/sysconfig\/apache2<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">SSL-Setup<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/localhost\/mediawiki\/index.php\/Datei:Zertifikat_1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"753\" height=\"542\" src=\"https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_1-1.png\" alt=\"Problem mit dem Sicherheitszertifikat\" class=\"wp-image-112\" srcset=\"https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_1-1.png 753w, https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_1-1-300x216.png 300w\" sizes=\"auto, (max-width: 753px) 100vw, 753px\" \/><\/a><figcaption>Problem mit dem Sicherheitszertifikat<\/figcaption><\/figure>\n\n\n\n<p>F\u00fcr den erfolgreichen SSL-Betrieb sind noch weitere Konfigurationen erforderlich. Zun\u00e4chst muss die Datei <strong>\/etc\/apache2\/vhosts.d\/vhost-ssl.template<\/strong> in <strong>\/etc\/apache2\/vhosts.d\/vhost.conf<\/strong>\n umbenannt werden. Alternativ kann man nat\u00fcrlich eine Kopie mit diesem \nNamen erstellen. An dieser Datei braucht nichts weiter ge\u00e4ndert zu \nwerden. Diese Datei erstellt zusammen mit der oben beschriebenen Option &#8220;<strong>-D SSL<\/strong>&#8221; einen virtuellen Server, der auf Port <strong>443<\/strong> &#8220;h\u00f6rt&#8221; und dar\u00fcber die verschl\u00fcsselte Kommunikation abwickelt.\n<\/p>\n\n\n\n<p>Nun muss noch ein Zertifikat f\u00fcr den SSL-Betrieb des Servers \nerstellt werden. Es ist ratsam, zun\u00e4chst eine Einf\u00fchrung zu diesem Thema\n zu lesen, beispielsweise <a href=\"http:\/\/slacksite.com\/apache\/certificate.php\">[16]<\/a> oder <a href=\"http:\/\/www.akadia.com\/services\/ssh_test_certificate.html\">[17]<\/a>. Dazu existieren im Wesentlichen drei Herangehensweisen:\n<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Einfaches Server-Zertifikat<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/localhost\/mediawiki\/index.php\/Datei:Zertifikat_2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"835\" height=\"583\" src=\"https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_2.png\" alt=\"Zertifikatsfehler\" class=\"wp-image-113\" srcset=\"https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_2.png 835w, https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_2-300x209.png 300w, https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_2-768x536.png 768w\" sizes=\"auto, (max-width: 835px) 100vw, 835px\" \/><\/a><figcaption>Zertifikatsfehler<\/figcaption><\/figure>\n\n\n\n<p>Die Vorgehensweise ist in <a href=\"http:\/\/caipirinha.homelinux.org\/manual\/ssl\/ssl_faq.html#selfcert\">[18]<\/a> hinreichend beschrieben. Es gen\u00fcgt eine <code>openssl<\/code>-Sequenz\n mit einigen Angaben zum Server, und das Schl\u00fcsselpaar wird erstellt. \nDann muss man nur noch die Rechte des \u00f6ffentlichen Zertifikats anpassen \nund die Schl\u00fcssel in die entsprechenden Verzeichnisse verschieben, \nn\u00e4mlich:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>server.crt<\/strong> nach \/etc\/apache2\/ssl.crt\/<\/li><li>server.key nach \/etc\/apache2\/ssl.key\/<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\">caipirinha:~\/tmp # openssl req -new -x509 -nodes -out server.crt -keyout server.key\nGenerating a 1024 bit RSA private key\n........++++++\n.......................++++++\nwriting new private key to 'server.key'\n-----\nYou are about to be asked to enter information that will be incorporated\ninto your certificate request.\nWhat you are about to enter is what is called a Distinguished Name or a DN.\nThere are quite a few fields but you can leave some blank\nFor some fields there will be a default value,\nIf you enter '.', the field will be left blank.\n-----\nCountry Name (2 letter code) [AU]:DE\nState or Province Name (full name) [Some-State]:Berlin\nLocality Name (eg, city) []:Berlin\nOrganization Name (eg, company) [Internet Widgits Pty Ltd]:Gabriel R\u00fceck\nOrganizational Unit Name (eg, section) []:\nCommon Name (eg, YOUR name) []:caipirinha.homelinux.org\nEmail Address []:administrator@caipirinha.homelinux.org\ncaipirinha:~\/tmp # chmod a+r server.crt\ncaipirinha:~\/tmp # mv server.crt \/etc\/apache2\/ssl.crt\/\ncaipirinha:~\/tmp # mv server.key \/etc\/apache2\/ssl.key\/<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Selbstsigniertes Server-Zertifikat<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/localhost\/mediawiki\/index.php\/Datei:Zertifikat_5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"503\" height=\"386\" src=\"https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_5.png\" alt=\"Zertifikatsimport-Assistent\" class=\"wp-image-114\" srcset=\"https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_5.png 503w, https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_5-300x230.png 300w\" sizes=\"auto, (max-width: 503px) 100vw, 503px\" \/><\/a><figcaption>Zertifikatsimport-Assistent<\/figcaption><\/figure>\n\n\n\n<p>Die Vorgehensweise ist in [https\/\/caipirinha.homelinux.org\/manual\/ssl\/ssl_faq.html#ownca] hinreichend beschrieben. Mit diesem Verfahren sagt man den Benutzern  seines Servers eigentlich: &#8220;Ich habe dieses Zertifikat erzeugt, und ich  beglaubige auch, dass ich es selbst erzeugt habe und dass alles so  stimmt.&#8221; Dies ist nat\u00fcrlich eine gewagte Behauptung, und weil das im  Prinzip jeder so machen kann, gibt es \u00fcblicherweise beim Aufruf der  SSL-verschl\u00fcsselten Seite eine Fehlermeldung, so wie im Bild <strong>Problem mit dem Sicherheitszertifikat<\/strong>.  Mit dieser Fehlermeldung weist der Browser darauf hin, dass keine der  bekannten und vertrauensw\u00fcrdigen Beglaubigungsstellen dieses Zertifikat  \u00fcberpr\u00fcft hat und dass hier etwas &#8220;faul&#8221; ist. Man kann dann zwar auf den  Link &#8220;Laden dieser Webseite fortsetzen (nicht empfohlen)&#8221; klicken, und  man kommt dann schlie\u00dflich zur Webseite wie im Bild <strong>Zertifikatsfehler<\/strong>. Allerdings bleibt das URL-Fenster im Browser rot hinterlegt, und wenn man auf <strong>Zertifikatsfehler<\/strong> klickt, bekommt man auch den Grund daf\u00fcr angezeigt. <\/p>\n\n\n\n<p>Nichtsdestotrotz ist ein selbstsigniertes Zertifikat f\u00fcr private \nServer eine n\u00fctzliche Sache, denn ein solches Zertifikat kann man \nkostenlos erstellen. Gibt es nur wenige Benutzer des eigenen Servers, \ndann kann man diesen Benutzern vielleicht sogar beibringen, das \nselbstsignierte Zertifikat dauerhaft im Browser zu installieren. Dazu \nf\u00fchrt man ausgehend vom Bild <strong>Zertifikatsfehler<\/strong> nacheinander folgende Schritte aus:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Auf &#8220;Zertifikate anzeigen&#8221; klicken.<\/li><li>Auf &#8220;Zertifikat installieren&#8221; klicken.<\/li><li>&#8220;Alle Zertifikate in folgendem Speicher speichern&#8221; ausw\u00e4hlen und als\n Speicherort &#8220;Vertrauensw\u00fcrdige Stammzertifizierungsstellen&#8221; ausw\u00e4hlen, \nso wie im Bild <strong>Zertifikatsimport-Assistent<\/strong> gezeigt.<\/li><li>Den Fingerabdruck des Zertifikats \u00fcberpr\u00fcfen (Bild <strong>Fingerabdruck des Zertifikats<\/strong>).<\/li><li>Das Einf\u00fcgen des Zertifikats durch mehrmaliges Best\u00e4tigen von &#8220;Ja&#8221; oder &#8220;OK&#8221; abschlie\u00dfen.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/localhost\/mediawiki\/index.php\/Datei:Zertifikat_6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"269\" src=\"https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_6.png\" alt=\"Fingerabdruck des Zertifikats\" class=\"wp-image-115\" srcset=\"https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_6.png 798w, https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_6-300x101.png 300w, https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Zertifikat_6-768x259.png 768w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/a><figcaption>Fingerabdruck des Zertifikats<\/figcaption><\/figure>\n\n\n\n<p>Woher wei\u00df man, ob der angezeigte Fingerabdruck wirklich der richtige ist? Es k\u00f6nnte sich ja um einen <a href=\"http:\/\/de.wikipedia.org\/wiki\/Man-in-the-middle-Angriff\">Man-in-the-middle-Angriff<\/a>\n handeln? Um hier sicher zu gehen, muss der Administrator des Servers \nden wahren Fingerabdruck auf sonstigen gesch\u00fctzten Wegen an seine \nBenutzer \u00fcbermitteln oder eben das Risiko eingehen, dass seine Benutzer \ndas Zertifikat installieren, ohne dass sie gr\u00fcndlich pr\u00fcfen. Man sieht \nalso schon, dass ein selbstsigniertes Zertifikat keine L\u00f6sung f\u00fcr einen \nServer mit kommerziellen Anwendungen ist.\n<\/p>\n\n\n\n<p>In meinem Fall betreibe ich selbst drei Server, welche auch \nSSL-Verbindungen unterst\u00fctzen. Ich habe allerdings nur ein \nRoot-Zertifikat im Rahmen der <a href=\"http:\/\/localhost\/mediawiki\/index.php?title=OpenVPN&amp;action=edit&amp;redlink=1\">OpenVPN<\/a>-Konfiguration\n erzeugt, mit dem ich dann die jeweiligen Server-Zertifikate signiert \nhabe. Dazu habe ich aber komplett die Skripte aus dem <a href=\"http:\/\/localhost\/mediawiki\/index.php?title=OpenVPN&amp;action=edit&amp;redlink=1\">OpenVPN<\/a>-Paket benutzt.\n<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Fremdsigniertes Server-Zertifikat<\/h3>\n\n\n\n<p>Ein fremdsigniertes Zertifikat ist erforderlich, wenn man seinen \nServer im SSL-Betrieb einer gr\u00f6\u00dferen Allgemeinheit zug\u00e4nglich machen \nwill und seine Benutzer nicht mit Meldungen \u00fcber Zertifikatsfehler \nabschrecken will. Dazu erzeugt man nach der in <a href=\"http:\/\/caipirinha.homelinux.org\/manual\/ssl\/ssl_faq.html#realcert\">[19]<\/a> beschriebenen Vorgehensweise einen sogenannten <strong>Certificate Signing Request (CSR)<\/strong>,\n den man dann einer vertrauensw\u00fcrdigen Zertifizierungsstelle zur \nSignierung zusendet. Die Signaturstelle verlangt meistens noch mehr \nInformation, um pr\u00fcfen zu k\u00f6nnen, ob der Antragsteller auch wirklich \nexistiert und tats\u00e4chlich einen Server unter dem Namen unterh\u00e4lt, unter \ndem er den <strong>CSR<\/strong> erstellt hat. Dies ist aufw\u00e4ndig und kostet daher \nauch Geld. Die Preise sind aber unterschiedlich; ein Vergleich lohnt \nsich daher vor Abschluss eines entsprechenden Vertrags. Mit einem \nfremdsignierten Server-Zertifikat gibt es dann idealerweise keine \nProbleme mehr beim Aufrufen der SSL-gesch\u00fctzten Seite durch den \nBenutzer.\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Virtueller Server<\/h2>\n\n\n\n<p>Man kann auf einer Maschine auch mehrere, voneinander unabh\u00e4ngige Webangebote hosten, und das mit einem\n Apache-Server. Das nennt sich &#8220;virtuelles Hosting&#8221;. Webhoster nutzen \nbeispielsweise dieses Prinzip, um vielen Kunden eine eigene Domain \nanzubieten, wobei meist ganz viele Domains auf eine IP-Adresse \nabgebildet werden. Diese Webseiten liegen dann oft auch auf einer \nleistungsf\u00e4higen Maschine. Das schont Ressourcen und spart Geld, denn \nf\u00fcr eine private Webseite braucht man nicht unbedingt einen eigenen \nRoot- Server. Man unterscheidet dabei zwischen <strong>IP-basiertem virtuellem Hosting<\/strong> und <strong>namensbasiertem virtuellem Hosting<\/strong> <a href=\"http:\/\/caipirinha.homelinux.org\/manual\/vhosts\/\">[20]<\/a>. Das folgende Beispiel beschreibt das namensbasierte virtuelle Hosting <a href=\"http:\/\/caipirinha.homelinux.org\/manual\/vhosts\/name-based.html\">[21]<\/a>, welches auf dem <a href=\"http:\/\/caipiroska.homelinux.org\">Caipiroska-Server<\/a> verwirklicht wurde. Dort gibt es folgende Domains:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"http:\/\/caipiroska.homelinux.org\">http:\/\/caipiroska.homelinux.org<\/a><\/li><li><a href=\"http:\/\/hle.homelinux.org\">http:\/\/hle.homelinux.org<\/a><\/li><li><a href=\"http:\/\/ba-berlin.homelinux.org\">http:\/\/ba-berlin.homelinux.org<\/a><\/li><\/ul>\n\n\n\n<p>Zu beachten ist, dass alle drei Domains auf derselben Maschine liegen\n und die gleiche IP-Adresse haben. Beim Aufruf einer drei Domains \n\u00fcbermittelt der Client-Browser in seiner Anfrage an den Webserver den \nNamen der Domain, die er aufrufen will (<a href=\"http:\/\/www.ietf.org\/rfc\/rfc2616.txt\">RFC2616<\/a>, f\u00fcr SSL au\u00dferdem <a href=\"http:\/\/www.ietf.org\/rfc\/rfc4366.txt\">RFC4366<\/a>). Der Server greift dann in die &#8220;richtige Kiste&#8221; und liefert das gew\u00fcnschte Webangebot aus. Beim <a href=\"http:\/\/caipiroska.homelinux.org\">Caipiroska-Server<\/a>\n sind die Domains allerdings nicht v\u00f6llig voneinander getrennt, sondern \nes existiert vielmehr eine Matrix-Struktur, so wie hier dargestellt:\n<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><th><a href=\"http:\/\/caipiroska.homelinux.org\">http:\/\/caipiroska.homelinux.org<\/a><br><a href=\"https:\/\/caipiroska.homelinux.org\">https:\/\/caipiroska.homelinux.org<\/a><\/th><th><a href=\"http:\/\/hle.homelinux.org\">http:\/\/hle.homelinux.org<\/a><br><a href=\"https:\/\/hle.homelinux.org\">https:\/\/hle.homelinux.org<\/a><\/th><th><a href=\"http:\/\/ba-berlin.homelinux.org\">http:\/\/ba-berlin.homelinux.org<\/a><br><a href=\"https:\/\/ba-berlin.homelinux.org\">https:\/\/ba-berlin.homelinux.org<\/a><\/th><th>Unterseite<\/th><\/tr><tr><td><a href=\"http:\/\/caipiroska.homelinux.org\/\">Webangebot der Domain caipiroska.homelinux.org<\/a><br>Daten stammen aus <strong>\/srv\/www\/htdocs\/caipiroska<\/strong><\/td><td><a href=\"http:\/\/hle.homelinux.org\/\">Webangebot der Domain hle.homelinux.org<\/a><br>Daten stammen aus <strong>\/srv\/www\/htdocs\/hle<\/strong><\/td><td><a href=\"http:\/\/ba-berlin.homelinux.org\/\">Webangebot der Domain ba-berlin.homelinux.org<\/a><br>Daten stammen aus <strong>\/srv\/www\/htdocs\/ba-berlin<\/strong><\/td><td><strong>\/<\/strong><\/td><\/tr><tr><td><a href=\"http:\/\/caipiroska.homelinux.org\/~gabriel\/\">Pers\u00f6nliche Seite des Benutzers Gabriel<\/a><br>Daten stammen aus <strong>\/home\/gabriel\/public_html<\/strong><\/td><td><a href=\"http:\/\/hle.homelinux.org\/~gabriel\/\">Pers\u00f6nliche Seite des Benutzers Gabriel<\/a><br>Daten stammen aus <strong>\/home\/gabriel\/public_html<\/strong><\/td><td><a href=\"http:\/\/ba-berlin.homelinux.org\/~gabriel\/\">Pers\u00f6nliche Seite des Benutzers Gabriel<\/a><br>Daten stammen aus <strong>\/home\/gabriel\/public_html<\/strong><\/td><td><strong>\/~gabriel<\/strong><\/td><\/tr><tr><td><a href=\"https:\/\/caipiroska.homelinux.org\/lx-erp\/\">ERP-System (LX-Office)<\/a><br>installiert in <strong>\/srv\/www\/htdocs\/lx-office-erp<\/strong><\/td><td><a href=\"https:\/\/hle.homelinux.org\/lx-erp\/\">ERP-System (LX-Office)<\/a><br>installiert in <strong>\/srv\/www\/htdocs\/lx-office-erp<\/strong><\/td><td><a href=\"https:\/\/ba-berlin.homelinux.org\/lx-erp\/\">ERP-System (LX-Office)<\/a><br>installiert in <strong>\/srv\/www\/htdocs\/lx-office-erp<\/strong><\/td><td><strong>\/lx-erp<\/strong><\/td><\/tr><tr><td><a href=\"http:\/\/caipiroska.homelinux.org\/mrtg\/cpu.html\">CPU-Last des Caipiroska-Servers<\/a><br>Daten stammen aus <strong>\/srv\/www\/htdocs\/mrtg<\/strong><\/td><td><a href=\"http:\/\/hle.homelinux.org\/mrtg\/cpu.html\">CPU-Last des Caipiroska-Servers<\/a><br>Daten stammen aus <strong>\/srv\/www\/htdocs\/mrtg<\/strong><\/td><td><a href=\"http:\/\/ba-berlin.homelinux.org\/mrtg\/cpu.html\">CPU-Last des Caipiroska-Servers<\/a><br>Daten stammen aus <strong>\/srv\/www\/htdocs\/mrtg<\/strong><\/td><td><strong>\/mrtg\/cpu.html<\/strong><\/td><\/tr><tr><td><a href=\"http:\/\/caipiroska.homelinux.org\/cgi-bin\/multimon.cgi\">USV-Status meiner Server<\/a><br>Daten werden \u00fcber ein <a href=\"http:\/\/de.wikipedia.org\/wiki\/Common_Gateway_Interface\">CGI<\/a>-Skript erzeugt<\/td><td><a href=\"http:\/\/hle.homelinux.org\/cgi-bin\/multimon.cgi\">USV-Status meiner Server<\/a><br>Daten werden \u00fcber ein <a href=\"http:\/\/de.wikipedia.org\/wiki\/Common_Gateway_Interface\">CGI<\/a>-Skript erzeugt<\/td><td><a href=\"http:\/\/ba-berlin.homelinux.org\/cgi-bin\/multimon.cgi\">USV-Status meiner Server<\/a><br>Daten werden \u00fcber ein <a href=\"http:\/\/de.wikipedia.org\/wiki\/Common_Gateway_Interface\">CGI<\/a>-Skript erzeugt<\/td><td><strong>\/cgi-bin\/multimon.cgi<\/strong><\/td><\/tr><tr><td><a href=\"http:\/\/caipiroska.homelinux.org\/webalizer\">Statistiken der Domain caipiroska.homelinux.org<\/a><br>Daten stammen aus <strong>\/srv\/www\/htdocs\/caipiroska\/webalizer<\/strong><\/td><td><a href=\"http:\/\/hle.homelinux.org\/webalizer\">Statistiken der Domain hle.homelinux.org<\/a><br>Daten stammen aus <strong>\/srv\/www\/htdocs\/hle\/webalizer<\/strong><\/td><td><a href=\"http:\/\/ba-berlin.homelinux.org\/webalizer\">Statistiken der Domain ba-berlin.homelinux.org<\/a><br>Daten stammen aus <strong>\/srv\/www\/htdocs\/ba-berlin\/webalizer<\/strong><\/td><td><strong>\/webalizer<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p> Eine solche Mischung aus getrenntem Inhalt und gemeinsamem Inhalt w\u00fcrde  man nat\u00fcrlich nicht zulassen, wenn man einen professionellen  Webhosting-Dienst hochziehen wollte. Insofern sind die hier abgedruckten  Konfigurationsdateien eher zur Anregung eigener Ideen denn als  Musterbeispiel namensbasierter Virtualisierung zu verstehen: <\/p>\n\n\n\n<p><strong>\/etc\/apache2\/httpd.conf.local<\/strong>:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#\n# Konfiguration f\u00fcr den CAIPIROSKA-Server\n#\n# Gabriel R\u00fceck, 20.10.2010\n\nAddDefaultCharset    UTF-8\nDirectoryIndex       index.shtml\n\n# Additional Handler Declarations\nAddHandler           imap-file map\n\nSSLCipherSuite       HIGH\n\n# LINKS, DIE F\u00dcR ALLE VHOSTS GELTEN SOLLEN\nAlias \/lx-erp        \/srv\/www\/htdocs\/lx-office-erp\nAlias \/kde-icons     \/opt\/kde3\/share\/icons\/crystalsvg\/48x48\/mimetypes\nAlias \/gnome-icons   \/usr\/share\/icons\/gnome\/32x32\nAlias \/mrtg\/         \/srv\/www\/htdocs\/mrtg\/\n\n# VERZEICHNIS-REGELN\n&lt;Directory \/srv\/www\/htdocs\/hle&gt;\n  Order deny,allow\n  Deny from all\n  Allow from 213.61.59.192\/27\n  Allow from 213.61.250.32\/29\n  Allow from 213.61.250.38\/31\n&lt;\/Directory&gt;\n\n&lt;Directory \/home\/shared&gt;\n  Order deny,allow\n  Deny from all\n  Allow from 213.61.59.192\/27\n  Allow from 213.61.250.32\/29\n  Allow from 213.61.250.38\/31\n  Options FollowSymLinks\n&lt;\/Directory&gt;\n\n&lt;Directory \/srv\/www\/htdocs\/hle\/bugzilla&gt;\n  AddHandler cgi-script .cgi\n  Options +Indexes +ExecCGI\n  DirectoryIndex index.cgi\n  AllowOverride Limit\n&lt;\/Directory&gt;\n\n# WEBALIZER\n&lt;Location \/webalizer&gt;\n  AuthName           \"Secure Access on CAIPIRINHA\"\n  AuthType           Digest\n  AuthUserFile       \/srv\/www\/htdocs\/caipiroska\/MM\/.htpasswd\n  Require            valid-user\n&lt;\/Location&gt;\n\n# KDE ICONS (needed for update_rss.sh)\n&lt;Location \/kde-icons&gt;\n  Allow from         all\n&lt;\/Location&gt;\n\n# GNOME ICONS (needed for caipithek.php)\n&lt;Location \/gnome-icons&gt;\n  Allow from         all\n&lt;\/Location&gt;\n\n# LX-OFFICE\n&lt;Directory \/srv\/www\/htdocs\/lx-office-erp&gt;\n  SSLRequireSSL\n&lt;\/Directory&gt;\n\n&lt;Directory \/srv\/www\/htdocs\/lx-erp&gt;\n  SSLRequireSSL\n  Options ExecCGI Includes FollowSymlinks\n&lt;\/Directory&gt;\n\n&lt;Directory \/srv\/www\/htdocs\/lx-erp\/users&gt;\n  Deny from          all\n&lt;\/Directory&gt;\n\n&lt;Directory \/srv\/www\/htdocs\/phpPgAdmin&gt;\n  SSLRequireSSL\n&lt;\/Directory&gt;<\/pre>\n\n\n\n<p> Viele Direktiven dieser Konfiguration wurden bereits im Abschnitt <a href=\"http:\/\/localhost\/mediawiki\/index.php\/Apache#Basis-Setup\">Basis-Setup<\/a> beschrieben, und deshalb sollen nur noch neue Konfigurationen erl\u00e4utert werden: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Das Verzeichnis <strong>\/srv\/www\/htdocs\/hle<\/strong> soll nur aus bestimmten IP-Adre\u00dfbereichen zug\u00e4nglich sein. Deswegen wurde der Zugriff in der entsprechenden <strong>Directory<\/strong>-Direktive zun\u00e4chst f\u00fcr alle gesperrt und dann selektiv f\u00fcr einige Netzwerke zugelassen.<\/li><li>F\u00fcr das Verzeichnis <strong>\/home\/shared<\/strong> gilt ebenfalls das eben Gesagte.<\/li><li>F\u00fcr das Verzeichnis <strong>\/srv\/www\/htdocs\/hle\/bugzilla<\/strong> werden weitere Einstellungen vorgenommen, welche so in der Installationsanleitung f\u00fcr <a href=\"http:\/\/www.bugzilla.org\/\">Bugzilla<\/a> beschrieben sind. Da dieses Verzeichnis ein Unterverzeichnis zu <strong>\/srv\/www\/htdocs\/hle<\/strong> ist, gelten nat\u00fcrlich zus\u00e4tzlich die oben beschriebenen IP-Zugangsbeschr\u00e4nkungen.<\/li><\/ul>\n\n\n\n<p>Auch das Verzeichnis <strong>\/etc\/apache2\/vhosts.d\/vhosts.conf<\/strong> sieht nun anders aus. Der Einfachheit halber habe ich in dieser Datei keine bedingten Schleifen untergebracht, wie es sie in <strong>\/etc\/apache2\/vhosts.d\/vhost-ssl.template<\/strong>\n gibt. Stattdessen werden direkt namensbasierte virtuelle Hosts f\u00fcr \nunverschl\u00fcsselte und f\u00fcr verschl\u00fcsselte Verbindungen definiert. Das \nsieht dann so aus:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#\n# Konfiguration virtueller Hosts auf CAIPIROSKA\n#\n# Gabriel R\u00fceck, 20.10.2010\n\nNameVirtualHost *:80\nNameVirtualHost *:443\n\n# Non-SSL-Konfiguration\n&lt;VirtualHost *:80&gt;\n  ServerName            caipiroska.homelinux.org\n  ServerAlias           caipiroska\n  ServerAdmin           gabriel@rueeck.de\n  DocumentRoot          \/srv\/www\/htdocs\/caipiroska\n  ErrorLog              \/var\/log\/apache2\/caipiroska_error_log\n  CustomLog             \/var\/log\/apache2\/caipiroska_access_log combined\n\n  # Umleitungen auf die neu angemietete Domain rueeck.name\n  Redirect permanent    \/coppermine  http:\/\/rueeck.name\/coppermine\n  Redirect permanent    \/mediawiki   http:\/\/rueeck.name\/mediawiki\n  Redirect permanent    \/lx-erp      https:\/\/rueeck.name\/lx-erp\n  Redirect permanent    \/phpPgAdmin  https:\/\/rueeck.name\/phpPgAdmin\n  Redirect permanent    \/groupoffice https:\/\/rueeck.name\/groupoffice\n&lt;\/VirtualHost&gt;\n\n&lt;VirtualHost *:80&gt;\n  ServerName            hle.homelinux.org\n  ServerAdmin           gabriel@rueeck.de\n  DocumentRoot          \/srv\/www\/htdocs\/hle\n  ErrorLog              \/var\/log\/apache2\/hle_error_log\n  CustomLog             \/var\/log\/apache2\/hle_access_log combined\n\n  # Spezifische Alias-Definitionen\n  Alias \/DIS            \/home\/shared\n  Alias \/MIS            \/home\/shared\/programs\n  Alias \/HAL            \/home\/shared\/mediawiki\n  Alias \/coppermine     \/home\/shared\/coppermine\n  Alias \/pictures       \/home\/shared\/pictures\n\n  &lt;Location \/pictures&gt;\n    Options             Indexes\n    IndexOptions        +IgnoreCase +FoldersFirst +VersionSort +Charset=UTF-8\n  &lt;\/Location&gt;\n&lt;\/VirtualHost&gt;\n\n&lt;VirtualHost *:80&gt;\n  ServerName            ba-berlin.homelinux.org\n  ServerAdmin           gabriel@rueeck.de\n  DocumentRoot          \/srv\/www\/htdocs\/ba-berlin\n  ErrorLog              \/var\/log\/apache2\/ba-berlin_error_log\n  CustomLog             \/var\/log\/apache2\/ba-berlin_access_log combined\n&lt;\/VirtualHost&gt;\n\n# SSL-Konfiguration\n&lt;VirtualHost *:443&gt;\n  SSLEngine             on\n  SSLCertificateFile    \/etc\/apache2\/ssl.crt\/server.crt\n  SSLCertificateKeyFile \/etc\/apache2\/ssl.key\/server.key\n  SSLOptions            StrictRequire\n  ServerName            caipiroska.homelinux.org\n  ServerAlias           caipiroska\n  ServerAdmin           gabriel@rueeck.de\n  DocumentRoot          \/srv\/www\/htdocs\/caipiroska\n  ErrorLog              \/var\/log\/apache2\/caipiroska_error_log\n  CustomLog             \/var\/log\/apache2\/caipiroska_access_log combined\n\n  # Umleitungen auf die neu angemietete Domain rueeck.name\n  Redirect permanent    \/coppermine  http:\/\/rueeck.name\/coppermine\n  Redirect permanent    \/mediawiki   http:\/\/rueeck.name\/mediawiki\n  Redirect permanent    \/lx-erp      https:\/\/rueeck.name\/lx-erp\n  Redirect permanent    \/phpPgAdmin  https:\/\/rueeck.name\/phpPgAdmin\n  Redirect permanent    \/groupoffice https:\/\/rueeck.name\/groupoffice\n\n  &lt;Directory \/srv\/www\/htdocs\/caipiroska\/MM&gt;\n    AuthName            \"Secure Access on CAIPIRINHA\"\n    AuthType            Digest\n    AuthUserFile        \/srv\/www\/htdocs\/caipiroska\/MM\/.htpasswd\n    Require             valid-user\n    Options             Indexes FollowSymLinks\n    IndexOptions        +IgnoreCase +FoldersFirst +VersionSort +Charset=UTF-8\n  &lt;\/Directory&gt;\n&lt;\/VirtualHost&gt;                                  \n\n&lt;VirtualHost *:443&gt;\n  SSLEngine             on\n  SSLCertificateFile    \/etc\/apache2\/ssl.crt\/hle_auf_caipiroska.crt\n  SSLCertificateKeyFile \/etc\/apache2\/ssl.key\/hle_auf_caipiroska.key\n  SSLOptions            StrictRequire\n  ServerName            hle.homelinux.org\n  ServerAdmin           gabriel@rueeck.de\n  DocumentRoot          \/srv\/www\/htdocs\/hle\n  ErrorLog              \/var\/log\/apache2\/hle_error_log\n  CustomLog             \/var\/log\/apache2\/hle_access_log combined\n\n  # Spezifische Alias-Definitionen\n  Alias \/DIS            \/home\/shared\n  Alias \/MIS            \/home\/shared\/programs\n  Alias \/HAL            \/home\/shared\/mediawiki\n  Alias \/coppermine     \/home\/shared\/coppermine\n  Alias \/pictures       \/home\/shared\/pictures\n\n  &lt;Location \/pictures&gt;\n    Options             Indexes\n    IndexOptions        +IgnoreCase +FoldersFirst +VersionSort +Charset=UTF-8\n  &lt;\/Location&gt;\n&lt;\/VirtualHost&gt;                                  \n\n&lt;VirtualHost *:443&gt;\n  SSLEngine             on\n  SSLCertificateFile    \/etc\/apache2\/ssl.crt\/ba-berlin.crt\n  SSLCertificateKeyFile \/etc\/apache2\/ssl.key\/ba-berlin.key\n  SSLOptions            StrictRequire\n  ServerName            ba-berlin.homelinux.org\n  ServerAdmin           gabriel@rueeck.de\n  DocumentRoot          \/srv\/www\/htdocs\/ba-berlin\n  ErrorLog              \/var\/log\/apache2\/ba-berlin_error_log\n  CustomLog             \/var\/log\/apache2\/ba-berlin_access_log combined\n&lt;\/VirtualHost&gt;<\/pre>\n\n\n\n<p>Hier muss noch Einiges erkl\u00e4rt werden:\n<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Zun\u00e4chst einmal muss man beachten, dass es insgesamt drei <strong>DocumentRoots gibt<\/strong>, welche den einzelnen Domains zugeordnet sind. Die Domains werden mit dem Schl\u00fcsselwort <strong>ServerName<\/strong> zugeordnet.<\/li><li>Jede Domain hat ihre eigenen Log-Dateien. Das ist erforderlich, weil ja mit dem Paket <a href=\"http:\/\/localhost\/mediawiki\/index.php\/Apache#Webalizer\">Webalizer<\/a> auch Statistiken f\u00fcr jede Domain getrennt erfasst werden sollen.<\/li><li>F\u00fcr jede Domain existiert sowohl ein Server f\u00fcr unverschl\u00fcsselte Verbindungen auf Port <strong>80<\/strong> als auch ein Server f\u00fcr verschl\u00fcsselte Verbindungen auf Port <strong>443<\/strong>.<\/li><li>Jeder Server f\u00fcr verschl\u00fcsselte Verbindungen hat sein eigenes Server-Zertifikat (<strong>*.crt<\/strong>) und seine eigene Schl\u00fcsseldatei (<strong>*.key<\/strong>), die mit den Direktiven <strong>SSLCertificateFile<\/strong> und <strong>SSLCertificateKeyFile<\/strong> zugeordnet werden.<\/li><li>Speziell f\u00fcr die Domain <strong>caipiroska.homelinux.org<\/strong> gilt:\n<ul><li>Einige Unterseiten werden umgeleitet auf entsprechende Seiten auf der Maschine <a href=\"http:\/\/rueeck.name\">http:\/\/rueeck.name<\/a>. Dies wird durch die Direktive <strong>Redirect<\/strong> erreicht. Die Option <strong>Permanent<\/strong> signalisiert dem aufrufenden Client mit dem Statuscode <strong>301<\/strong>, dass der Inhalt der Webseite &#8220;endg\u00fcltig&#8221; zur neuen Adresse umgezogen ist.<\/li><li>\u00dcber eine gesicherte Verbindung kann man das Verzeichnis <strong>\/srv\/www\/htdocs\/caipiroska\/MM<\/strong> erreichen, welches noch eine Authentifizierung erfordert.<\/li><\/ul><\/li><li>Speziell f\u00fcr die Domain <strong>hle.homelinux.org<\/strong> gilt:\n<ul><li>Mit der <strong>Alias<\/strong>-Direktive werden einige Verzeichnisse au\u00dferhalb des <strong>DocumentRoot<\/strong> definiert.<\/li><li>Der Inhalt des Verzeichnisses <strong>\/home\/shared\/pictures<\/strong> kann aufgelistet werden. Dabei werden bestimmte Sortierkriterien eingehalten, die zus\u00e4tzlich (deswegen das &#8220;+&#8221;-Zeichen) zu den Default-Optionen aktiviert werden (<strong>+IgnoreCase +FoldersFirst +VersionSort<\/strong>). Au\u00dferdem wird das Listing mit dem Zeichensatz <strong>UTF-8<\/strong> durchgef\u00fchrt (<strong>+Charset=UTF-8<\/strong>).<\/li><\/ul><\/li><\/ul>\n\n\n\n<p> Die Server-Zertifikate sind mit den Skripten des <a href=\"http:\/\/localhost\/mediawiki\/index.php?title=OpenVPN&amp;action=edit&amp;redlink=1\">OpenVPN<\/a>-Paketes erzeugt worden. Mit <strong>YaST2<\/strong> m\u00fcssen jetzt mit dem <strong>Editor f\u00fcr \/etc\/sysconfig<\/strong> noch einige Variablen beim <a href=\"http:\/\/caipiroska.homelinux.org\">Caipiroska<\/a>-Server richtig gesetzt werden: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Applications\u2192SuSEhelp\u2192<strong>DOC_HOST<\/strong> wird auf <strong>caipiroska.homelinux.org<\/strong> gesetzt.<\/li><li>Applications\u2192SuSEhelp\u2192<strong>DOC_ALLOW<\/strong> bleibt leer.<\/li><li>Applications\u2192SuSEhelp\u2192<strong>DOC_AUTOINDEX<\/strong> wird auf <strong>yes<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache\u2192SuSEhelp\u2192<strong>DOC_SERVER<\/strong> wird auf <strong>yes<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_CONF_INCLUDE_FILES<\/strong> wird auf <strong>\/etc\/apache2\/httpd.conf.local<\/strong> gesetzt, damit unsere Konfigurationsdatei von oben \u00fcberhaupt verarbeitet wird.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_CONF_INCLUDE_DIRS<\/strong> bleibt leer.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_MODULES<\/strong> muss mindestens die Module <strong>actions\n alias auth_basic auth_digest authn_file authz_host authz_default \nauthz_user autoindex cgi charset_lite dav dav_fs dav_lock deflate dir \nenv expires imagemap include log_config mime mime_magic negotiation \nsetenvif suexec ssl userdir php5<\/strong> beinhalten.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_SERVER_FLAGS<\/strong> wird auf <strong>-D SSL<\/strong> gesetzt, um SSL zu aktivieren.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_HTTPD_CONF<\/strong> bleibt leer.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_MPM<\/strong> bleibt leer.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_SERVERADMIN<\/strong> wird auf <strong>root@caipiroska.homelinux.org<\/strong> eingestellt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_SERVERNAME<\/strong> wird auf <strong>caipiroska.homelinux.org<\/strong> eingestellt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_START_TIMEOUT<\/strong> wird auf <strong>20<\/strong> gestellt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_SERVERSIGNATURE<\/strong> wird auf <strong>on<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_LOGLEVEL<\/strong> wird auf <strong>warn<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_ACCESS_LOG<\/strong> wird auf <strong>\/var\/log\/apache2\/access_log combined<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_USE_CANONICAL_NAMES<\/strong> wird auf <strong>off<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_SERVERTOKENS<\/strong> wird auf <strong>OS<\/strong> gesetzt.<\/li><li>Network\u2192WWW\u2192Apache2\u2192<strong>APACHE_EXTENDED_STATUS<\/strong> wird auf <strong>off<\/strong> gesetzt.<\/li><\/ul>\n\n\n\n<p> Die hier genannten Einstellungen finden sich dann auch in den System-Dateien: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\/etc\/sysconfig\/susehelp<\/li><li>\/etc\/sysconfig\/apache2<\/li><\/ul>\n\n\n\n<p>Danach kann der Apache-Webserver mit <code>\/etc\/init.d\/apache start<\/code> in Betrieb genommen werden, und alles sollte funktionieren. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Webalizer<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/localhost\/mediawiki\/index.php\/Datei:Webserver-Statistiken.png\"><img loading=\"lazy\" decoding=\"async\" width=\"777\" height=\"986\" src=\"https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Webserver-Statistiken.png\" alt=\"Webserver-Statistik\" class=\"wp-image-116\" srcset=\"https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Webserver-Statistiken.png 777w, https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Webserver-Statistiken-236x300.png 236w, https:\/\/caipirinha.spdns.org\/wp\/wp-content\/uploads\/Webserver-Statistiken-768x975.png 768w\" sizes=\"auto, (max-width: 777px) 100vw, 777px\" \/><\/a><figcaption>Webserver-Statistik<\/figcaption><\/figure>\n\n\n\n<p>Mit dem Paket <a href=\"http:\/\/www.webalizer.org\/\">webalizer<\/a>\n ist es m\u00f6glich, umfassende Server-Statistiken anhand der Analyse der \nLog-Dateien des Apache-Webservers zu erstellen. Die notwendigen \nEinstellungen werden in der Konfigurationsdatei <strong>\/etc\/webalizer.conf<\/strong>\n vorgenommen, in der sich schon sinnvolle Voreinstellungen befinden. Im \nWesentlichen m\u00fcssen hier folgende Einstellungen, deren Optionen \nausf\u00fchrlich in <strong>\/etc\/webalizer.conf<\/strong> beschrieben sind, angepasst werden:\n<\/p>\n\n\n\n<p><strong>\/etc\/webalizer.conf<\/strong>:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">...\nLogFile        \/var\/log\/apache2\/access_log\nOutputDir      \/srv\/www\/htdocs\/webalizer\nIncremental    yes\nHostName       caipirinha.homelinux.org\nUseHTTPS       yes\nQuiet          yes\nGMTTime        yes\nCountryGraph no\n...<\/pre>\n\n\n\n<p>Die im Bild <strong>Webserver-Statistik<\/strong> aufgelisteten Monate k\u00f6nnen \nnoch weiter aufgeschl\u00fcsselt werden. So kann man sich anschauen, welche \nDatei am H\u00e4ufigsten herunter geladen wurde, wie oft ein bestimmter \nFehler, beispielsweise <strong>404<\/strong>, aufgetreten ist, aus welchen Top Level Domains die Zugriffe kamen, etc.\n<\/p>\n\n\n\n<p>Um die Statistiken aktuell zu halten, muss <strong>webalizer<\/strong> allerdings auch regelm\u00e4\u00dfig aufgerufen werden. Am Besten ist es daher, einen entsprechenden Eintrag in der crontab von <em>root<\/em> zu machen, etwa so:\n<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">...\n# Crontab f\u00fcr root\n#\nLANG   = de_DE.UTF-8\nLC_ALL = de_DE.UTF-8\nMAILTO = root@rueeck.name\nSHELL  = \/bin\/bash\n#\n05  00  *    *  *    umask 0022; webalizer -c \/etc\/webalizer.conf\n...<\/pre>\n\n\n\n<p>Das hier vor den <strong>webalizer<\/strong>-Aufruf gestellte <strong>umask<\/strong>-Kommando macht die durch den Benutzer <em>root<\/em> erstellten Statistiken f\u00fcr alle (und damit auch f\u00fcr den Apache-Benutzer <em>wwwrun<\/em>) lesbar. Dies wurde erforderlich, weil auf dem <a href=\"http:\/\/caipirinha.homelinux.org\">Caipirinha<\/a>&#8211; und auf dem <a href=\"http:\/\/caipiroska.homelinux.org\">Caipiroska<\/a>-Server die Benutzerrechte aus Sicherheitsgr\u00fcnden einheitlich restriktiv auf <strong>0077<\/strong> gesetzt wurden. Damit werden dann t\u00e4glich die Statistiken erneuert.\n<\/p>\n\n\n\n<p>Bei einem <a href=\"http:\/\/localhost\/mediawiki\/index.php\/Apache#Virtueller_Server\">virtuellen Server<\/a> sind dar\u00fcber hinaus weitere Dinge zu beachten <a href=\"http:\/\/www.mvdb.de\/webalizer.php\">[22]<\/a>. So muss f\u00fcr jede virtuelle Domain jeweils eine separate webalizer-Instanz aufgerufen werden.\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der Apache-Webserver ist ein zentrales Element des Caipirinha-Servers, weil auf ihm aufbauend noch zahlreiche weitere Dienste realisiert sind<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[64,67,65,66],"class_list":["post-84","post","type-post","status-publish","format-standard","hentry","category-it","tag-apache","tag-apache2","tag-ssl","tag-webalizer"],"_links":{"self":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/84","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=84"}],"version-history":[{"count":3,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/84\/revisions"}],"predecessor-version":[{"id":422,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/84\/revisions\/422"}],"wp:attachment":[{"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=84"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=84"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/caipirinha.spdns.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=84"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}