<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.sachsen.schule/dwiki/index.php?action=history&amp;feed=atom&amp;title=Lenny%2FApache</id>
	<title>Lenny/Apache - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sachsen.schule/dwiki/index.php?action=history&amp;feed=atom&amp;title=Lenny%2FApache"/>
	<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Lenny/Apache&amp;action=history"/>
	<updated>2026-05-05T05:12:37Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Delixs</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Lenny/Apache&amp;diff=8212&amp;oldid=prev</id>
		<title>Schoffer: Lenny</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Lenny/Apache&amp;diff=8212&amp;oldid=prev"/>
		<updated>2011-03-28T18:23:13Z</updated>

		<summary type="html">&lt;p&gt;Lenny&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 28. März 2011, 20:23 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l379&quot;&gt;Zeile 379:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 379:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Test von Userdir ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Test von Userdir ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Beim User &amp;lt;code&amp;gt;mmustermann&amp;lt;/code&amp;gt; wurde (Dieser Nutzer kann zu Testzwecken nach der Anleitung im Kapitel [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Entwicklungsumgebung&lt;/del&gt;/LDAP|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Entwicklungsumgebung &lt;/del&gt;LDAP]] angelegt werden) im Homeverzeichnis das Unterverzeichnis &amp;lt;code&amp;gt;html_public&amp;lt;/code&amp;gt; angelegt und eine Datei &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; erstellt. Die Rechte wurden für das Verzeichnis mit 755 und für die Datei mit 644 gesetzt. Der Owner wurde auf &amp;lt;code&amp;gt;mmustermann&amp;lt;/code&amp;gt; geändert, die Gruppe &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; gelassen. Der Aufruf erfolgt mit&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Beim User &amp;lt;code&amp;gt;mmustermann&amp;lt;/code&amp;gt; wurde (Dieser Nutzer kann zu Testzwecken nach der Anleitung im Kapitel [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Lenny&lt;/ins&gt;/LDAP|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Lenny &lt;/ins&gt;LDAP]] angelegt werden) im Homeverzeichnis das Unterverzeichnis &amp;lt;code&amp;gt;html_public&amp;lt;/code&amp;gt; angelegt und eine Datei &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; erstellt. Die Rechte wurden für das Verzeichnis mit 755 und für die Datei mit 644 gesetzt. Der Owner wurde auf &amp;lt;code&amp;gt;mmustermann&amp;lt;/code&amp;gt; geändert, die Gruppe &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; gelassen. Der Aufruf erfolgt mit&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   lynx http://localhost/~mmustermann/index.html&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   lynx http://localhost/~mmustermann/index.html&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l417&quot;&gt;Zeile 417:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 417:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die letzte Zeile ist eine Zeile!&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die letzte Zeile ist eine Zeile!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Und dann wird noch die Datei [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Entwicklungsumgebung&lt;/del&gt;/Dateiliste/phpldapadmin|/etc/phpldapadmin/config.php]] so angepasst, dass  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Und dann wird noch die Datei [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Lenny&lt;/ins&gt;/Dateiliste/phpldapadmin|/etc/phpldapadmin/config.php]] so angepasst, dass  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* ein Login per uid,  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* ein Login per uid,  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Schoffer</name></author>
	</entry>
	<entry>
		<id>https://wiki.sachsen.schule/dwiki/index.php?title=Lenny/Apache&amp;diff=8168&amp;oldid=prev</id>
		<title>Schoffer: Lenny</title>
		<link rel="alternate" type="text/html" href="https://wiki.sachsen.schule/dwiki/index.php?title=Lenny/Apache&amp;diff=8168&amp;oldid=prev"/>
		<updated>2011-03-27T21:30:31Z</updated>

		<summary type="html">&lt;p&gt;Lenny&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Archiv}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Der Webserver Apache ==&lt;br /&gt;
&lt;br /&gt;
=== Installation von Apache ===&lt;br /&gt;
&lt;br /&gt;
Der Apache HTTP (Web)-Server wird als traditionelles non-threaded-Modell installiert, was als nicht ganz so schnell wie das threaded-Modell, aber dafür als stabiler betrachtet werden kann.&lt;br /&gt;
&lt;br /&gt;
Die Installation erfolgt mit dem Befehl: &lt;br /&gt;
&lt;br /&gt;
  aptitude install apache2-mpm-prefork&lt;br /&gt;
&lt;br /&gt;
Dabei wurde der Webserver Apache auch gleich gestartet. Die Kontrolle auf Funktionstüchtigkeit erfolgt sofort nach der Installation mit dem Text-Browser &amp;quot;lynx&amp;quot;, indem dieser über &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 lynx http://localhost&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
aufgerufen wird. Es erscheint eine Webseite mit dem Inhalt &amp;quot;It works!&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[[Datei:Apachelynx.png | It works!]]&lt;br /&gt;
:&amp;#039;&amp;#039;Abbildung: It works!&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mit der Taste &amp;quot;q&amp;quot; beenden Sie den Textbrowser wieder und kommen so in Ihre Shell zurück.&lt;br /&gt;
&lt;br /&gt;
Diese Seite kann künftig unter &amp;lt;code&amp;gt;/var/www/index.html&amp;lt;/code&amp;gt; durch eine eigene Seite ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Apache ===&lt;br /&gt;
&lt;br /&gt;
In folgenden Dateien und Verzeichnissen finden Sie die Konfigurationen des Webservers:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;/etc/apache2/apache2.conf&amp;#039;&amp;#039;&amp;#039; - Die Steuerdatei, aus der alle weiteren Konfigurationen geladen werden.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;/etc/apache2/envvars&amp;#039;&amp;#039;&amp;#039; - Die Steuerdatei mit Variablendefinitionen für den apache Daemon selbst.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;/etc/apache2/httpd.conf&amp;#039;&amp;#039;&amp;#039; - Die Steuerdatei für eigene Konfigurationen.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;/etc/apache2/ports.conf&amp;#039;&amp;#039;&amp;#039; - Die Steuerdatei für Ports, auf die der Webserver hören soll.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;/etc/apache2/conf.d/&amp;#039;&amp;#039;&amp;#039; - Das Verzeichnis mit zusätzlichen Einstellungen, wie Zeichensätzen, Sicherheitseinstellungen u.s.w&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;/etc/apache2/mods-available/&amp;#039;&amp;#039;&amp;#039; - Das Verzeichnis mit verfügbaren Fremdmodulen. Hier aufgeführte Module werden nicht automatisch geladen.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;/etc/apache2/mods-enabled/&amp;#039;&amp;#039;&amp;#039; - Das Verzeichnis, aus der alle Fremdmodule geladen werden. Verändern Sie hier nichts per Hand!&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;/etc/apache2/sites-available/&amp;#039;&amp;#039;&amp;#039; - Das Verzeichnis mit verfügbaren virtuellen Hosts. Hier aufgeführte virtuelle Hosts werden nicht automatisch geladen.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;/etc/apache2/sites-enabled/&amp;#039;&amp;#039;&amp;#039; - Das Verzeichnis, welches Konfigurationen für virtuelle Hosts enthält&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test von Apache ===&lt;br /&gt;
&lt;br /&gt;
Um ein CGI-Script zu testen, erstellen Sie folgendes Script&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Content-type: text/html\n\n&amp;quot;;&lt;br /&gt;
print &amp;#039;&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;#039;;&lt;br /&gt;
print &amp;#039;&amp;lt;h1&amp;gt;It works!&amp;lt;/h1&amp;gt;&amp;#039;;&lt;br /&gt;
print &amp;#039;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;#039;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und speichern es in &amp;lt;code&amp;gt;/usr/lib/cgi-bin&amp;lt;/code&amp;gt; mit dem Dateinamen &amp;quot;test.pl&amp;quot; ab.&lt;br /&gt;
&lt;br /&gt;
Der Aufruf des Scripts erfolgt an der Konsole mit &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 lynx http://localhost/cgi-bin/test.pl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Umbenennen der Datei mit der Endung &amp;quot;.cgi&amp;quot; und der entsprechende Aufruf sollte ebenso klappen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Zertifikate für den Webserver erstellen und bereitstellen ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generieren Sie zuerst einen privaten Serverschlüssel (&amp;quot;alix.key&amp;quot;) ohne Passwort!&lt;br /&gt;
&lt;br /&gt;
   openssl genrsa -out alix.key 1024&lt;br /&gt;
&lt;br /&gt;
Da kommt nur:&lt;br /&gt;
&lt;br /&gt;
   Generating RSA private key, 1024 bit long modulus&lt;br /&gt;
   ....................++++++&lt;br /&gt;
   ............................++++++&lt;br /&gt;
   e is 65537 (0x10001)&lt;br /&gt;
&lt;br /&gt;
der erzeugte alix.key sieht dann so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----BEGIN RSA PRIVATE KEY-----&lt;br /&gt;
MIICXAIBAAKBgQDCDvkOgSexJ1bpf1mFY2ffyOE0ZS9Hd/KFLGq8zVhLYvEAhlu7&lt;br /&gt;
jstzfSE3Mz02Oj/z+xACTtCEpU8fSh0Kn6ma9KnLw/rWR9b/Cip5PjPsu2afijin&lt;br /&gt;
M08emVKjxUSDVUGJH6CSwwg7J4wRoMWDa5jl3bxtYi9hrfobsh7jNJAUawIDAQAB&lt;br /&gt;
AoGAHJVB/+3sH77QoWHdmLUUlrSq3yHMPfWf5hetvRNt3uS65L3lgxG8S81xeAT3&lt;br /&gt;
Dia0RsaDDCP5uJ/0sIIlFux/eY7C9qRBrxwrbl27FokrVeNZC8+qJyMNLttz6Edi&lt;br /&gt;
K+0ysWi/W0FEZWqlibl6qW1HKN+H6y1jvqlELzvjUpuHJqECQQDk/SsdXG8bWdgK&lt;br /&gt;
6BGHgCFtfEBkpocjkwTUOItRN+qThOvkOOSjfQ7OEXLBWG5uBtBsi6Vb7FBaT5mA&lt;br /&gt;
0Pelw1VRAkEA2PMAaN74WXq5izHZc8TD/kAbgFL1khLFcfeZi9Nv9XYbdO8DUPXL&lt;br /&gt;
BOFuBaGslPWOpd2D9x745sBf35tzxREO+wJAX6uaeNDmpsG5rozYzgjtbmXMLYEZ&lt;br /&gt;
0vYYvWXGZy96dRnCyH4woFGeft/xVvBQau2z5LXPZ4Fq7OB23Mfxv7LFkQJALYzX&lt;br /&gt;
yS0Hd8IMsu0EewoVHIzZOVgxtzm5uvQBiRobp63kleiZCaaRubSbJROM6Lml+a1I&lt;br /&gt;
x9n46Hn7pzc8V2P9gQJBAIu+4eV0++ch8nr/wQdWGcBnmiwA0JPXnvuRQFcUcZ9P&lt;br /&gt;
c6wmnHJhfq4d0Zuhd5YeomeaFBu6LzfZE4bByo4vRJ4=&lt;br /&gt;
-----END RSA PRIVATE KEY-----&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bewahren Sie diesen Schlüssel gut auf und veröffentlichen ihn keinesfalls.&lt;br /&gt;
&lt;br /&gt;
Dann generieren Sie als zweiten Schritt eine Zertifikatsanfrage (&amp;quot;alix.csr&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
   openssl req -new -key alix.key -out alix.csr&lt;br /&gt;
&lt;br /&gt;
Die folgenden 4 Eingaben sind so einzugeben (sonst einfach &amp;quot;.&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
   Country Name (2 letter code) [AU]:DE&lt;br /&gt;
   State or Province Name (full name) [Some-State]:Germany&lt;br /&gt;
   Organization Name (eg, company) [Internet Widgits Pty Ltd]:delixs-Schule&lt;br /&gt;
   Common Name (eg, YOUR name) []:alix&lt;br /&gt;
&lt;br /&gt;
Am Wichtigsten hierbei ist, das der &amp;quot;Common Name&amp;quot; unbedingt mit dem späteren exakten Aufrufnamen im Webserver übereinstimmen muß.&lt;br /&gt;
&lt;br /&gt;
Diese Datei &amp;quot;alix.csr&amp;quot; sollte dann etwa so aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----BEGIN CERTIFICATE REQUEST-----&lt;br /&gt;
MIIBhTCB7wIBADBGMQswCQYDVQQGEwJkZTEQMA4GA1UECBMHR2VybWFueTEWMBQG&lt;br /&gt;
A1UEChMNRGVsaXhzLVNjaHVsZTENMAsGA1UEAxMEYWxpeDCBnzANBgkqhkiG9w0B&lt;br /&gt;
AQEFAAOBjQAwgYkCgYEAwg75DoEnsSdW6X9ZhWNn38jhNGUvR3fyhSxqvM1YS2Lx&lt;br /&gt;
AIZbu47Lc30hNzM9Njo/8/sQAk7QhKVPH0odCp+pmvSpy8P61kfW/woqeT4z7Ltm&lt;br /&gt;
n4o4pzNPHplSo8VEg1VBiR+gksMIOyeMEaDFg2uY5d28bWIvYa36G7Ie4zSQFGsC&lt;br /&gt;
AwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAC5SSYCxF6AFjgJnUmadIbOyyMqgu/pq&lt;br /&gt;
MBS6miJEeCbuBM4/0QT/Kj6AUtOTN53+d5owPt/QoV/oQxHP2gE6TnS4hqHDy2FW&lt;br /&gt;
zLCzopRydMdHC69+VXEaBeoi7mD8jYStsFfpgY412tZsC7UpzhPA0uPXjjXBLN2X&lt;br /&gt;
b7tbZsq6M0fn&lt;br /&gt;
-----END CERTIFICATE REQUEST-----&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Überprüfen Sie nun unbedingt alle Angaben auf Korrekte Schreibweise mit:&lt;br /&gt;
&lt;br /&gt;
   openssl req -noout -text -in alix.csr&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe des Befehls sollte so aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Certificate Request:&lt;br /&gt;
    Data:&lt;br /&gt;
        Version: 0 (0x0)&lt;br /&gt;
        Subject: C=de, ST=Germany, O=delixs-Schule, CN=alix&lt;br /&gt;
        Subject Public Key Info:&lt;br /&gt;
            Public Key Algorithm: rsaEncryption&lt;br /&gt;
            RSA Public Key: (1024 bit)&lt;br /&gt;
                Modulus (1024 bit):&lt;br /&gt;
                    00:c2:0e:f9:0e:81:27:b1:27:56:e9:7f:59:85:63:&lt;br /&gt;
                    67:df:c8:e1:34:65:2f:47:77:f2:85:2c:6a:bc:cd:&lt;br /&gt;
                    58:4b:62:f1:00:86:5b:bb:8e:cb:73:7d:21:37:33:&lt;br /&gt;
                    3d:36:3a:3f:f3:fb:10:02:4e:d0:84:a5:4f:1f:4a:&lt;br /&gt;
                    1d:0a:9f:a9:9a:f4:a9:cb:c3:fa:d6:47:d6:ff:0a:&lt;br /&gt;
                    2a:79:3e:33:ec:bb:66:9f:8a:38:a7:33:4f:1e:99:&lt;br /&gt;
                    52:a3:c5:44:83:55:41:89:1f:a0:92:c3:08:3b:27:&lt;br /&gt;
                    8c:11:a0:c5:83:6b:98:e5:dd:bc:6d:62:2f:61:ad:&lt;br /&gt;
                    fa:1b:b2:1e:e3:34:90:14:6b&lt;br /&gt;
                Exponent: 65537 (0x10001)&lt;br /&gt;
        Attributes:&lt;br /&gt;
            a0:00&lt;br /&gt;
    Signature Algorithm: sha1WithRSAEncryption&lt;br /&gt;
        2e:52:49:80:b1:17:a0:05:8e:02:67:52:66:9d:21:b3:b2:c8:&lt;br /&gt;
        ca:a0:bb:fa:6a:30:14:ba:9a:22:44:78:26:ee:04:ce:3f:d1:&lt;br /&gt;
        04:ff:2a:3e:80:52:d3:93:37:9d:fe:77:9a:30:3e:df:d0:a1:&lt;br /&gt;
        5f:e8:43:11:cf:da:01:3a:4e:74:b8:86:a1:c3:cb:61:56:cc:&lt;br /&gt;
        b0:b3:a2:94:72:74:c7:47:0b:af:7e:55:71:1a:05:ea:22:ee:&lt;br /&gt;
        60:fc:8d:84:ad:b0:57:e9:81:8e:35:da:d6:6c:0b:b5:29:ce:&lt;br /&gt;
        13:c0:d2:e3:d7:8e:35:c1:2c:dd:97:6f:bb:5b:66:ca:ba:33:&lt;br /&gt;
        47:e7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Erstellen jetzt abschließend das eigentliche Zertifikat (&amp;quot;alix.crt&amp;quot;), indem Sie es selbst unterzeichnen.&lt;br /&gt;
&lt;br /&gt;
   openssl x509 -req -in alix.csr -out alix.crt -signkey alix.key -days 3650&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
auf der Konsole erscheint:&lt;br /&gt;
&lt;br /&gt;
   Signature ok&lt;br /&gt;
   subject=/C=de/ST=Germany/O=Delixs-Schule/CN=alix&lt;br /&gt;
   Getting Private key&lt;br /&gt;
&lt;br /&gt;
Das fertige Zertifikat sehen Sie hier: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----BEGIN CERTIFICATE-----&lt;br /&gt;
MIICAzCCAWwCCQCBnSDDZcUFmTANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJk&lt;br /&gt;
ZTEQMA4GA1UECBMHR2VybWFueTEWMBQGA1UEChMNRGVsaXhzLVNjaHVsZTENMAsG&lt;br /&gt;
A1UEAxMEYWxpeDAeFw0wOTAyMTUxOTE0NDRaFw0xOTAyMTMxOTE0NDRaMEYxCzAJ&lt;br /&gt;
BgNVBAYTAmRlMRAwDgYDVQQIEwdHZXJtYW55MRYwFAYDVQQKEw1EZWxpeHMtU2No&lt;br /&gt;
dWxlMQ0wCwYDVQQDEwRhbGl4MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDC&lt;br /&gt;
DvkOgSexJ1bpf1mFY2ffyOE0ZS9Hd/KFLGq8zVhLYvEAhlu7jstzfSE3Mz02Oj/z&lt;br /&gt;
+xACTtCEpU8fSh0Kn6ma9KnLw/rWR9b/Cip5PjPsu2afijinM08emVKjxUSDVUGJ&lt;br /&gt;
H6CSwwg7J4wRoMWDa5jl3bxtYi9hrfobsh7jNJAUawIDAQABMA0GCSqGSIb3DQEB&lt;br /&gt;
BQUAA4GBAD+H9j/lmDoUX+nk4YEUFkVh23JGRCpysyEnswr+p5nlOU1ERA0F2SiQ&lt;br /&gt;
B85iA3XvX82G5871SZ7EA03qMaHwES4GFfeYFuiIzsew/tZ23LVCd0SHIEPuO/TQ&lt;br /&gt;
3/cTKSaoMm2cHlNaWsDnnfNOdYzDgYbtfFvP8uSxH6MXH20tENjO&lt;br /&gt;
-----END CERTIFICATE-----&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Passphrase aus dem Key können Sie wieder entfernen, falls Sie oben doch eine eingegeben hätten:&lt;br /&gt;
&lt;br /&gt;
   cp alix.key alix.key.orig&lt;br /&gt;
   openssl rsa -in alix.key.orig -out alix.key&lt;br /&gt;
&lt;br /&gt;
Wenn Sie das Zertifikat ohne Passwort erzeugt hatten, entfällt dieser Schritt natürlich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SSL-Konfiguration für den Webserver ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bearbeiten Sie (nach dem Anfertigen der Sicherheitskopie) zuerst die Datei, in der die SSL-Konfiguration für den Webserver abgelegt wird:&lt;br /&gt;
&lt;br /&gt;
  cp /etc/apache2/mods-available/default-ssl  /etc/apache2/mods-available/default-ssl.orig&lt;br /&gt;
  mcedit /etc/apache2/mods-available/default-ssl&lt;br /&gt;
&lt;br /&gt;
Folgenden Inhalt sollte diese Datei haben:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source highlight=&amp;quot;1-30&amp;quot; lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost _default_:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  DocumentRoot /var/www/secure/&lt;br /&gt;
  ServerAdmin webmaster@localhost&lt;br /&gt;
&lt;br /&gt;
  SSLEngine On&lt;br /&gt;
  SSLCipherSuite HIGH:MEDIUM&lt;br /&gt;
  SSLCertificateFile    /etc/apache2/ssl/alix.crt&lt;br /&gt;
  SSLCertificateKeyFile /etc/apache2/ssl/alix.key&lt;br /&gt;
&lt;br /&gt;
  CustomLog /var/log/apache2/ssl_access.log combined&lt;br /&gt;
  ErrorLog /var/log/apache2/ssl_error.log&lt;br /&gt;
  LogLevel warn&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Location /&amp;gt;&lt;br /&gt;
    Options Indexes FollowSymLinks MultiViews&lt;br /&gt;
    AllowOverride None&lt;br /&gt;
    Order allow,deny&lt;br /&gt;
    allow from all&lt;br /&gt;
  &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit den Befehlen:&lt;br /&gt;
&lt;br /&gt;
  a2ensite default-ssl&lt;br /&gt;
  a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
wird die Konfiguration für die SSL-Webseite eingebunden und danach das Modul für SSL verfügbar gemacht.&lt;br /&gt;
&lt;br /&gt;
Jetzt kann zuletzt der Webserver selbst neu gestartet werden:&lt;br /&gt;
&lt;br /&gt;
  /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
Sollte der Restart ohne Fehler abgelaufen sein, können Sie vom Client aus die sichere Verbindung testen. Geben Sie in einem Browserfenster die Adresse &amp;lt;nowiki&amp;gt;https://10.100.0.1&amp;lt;/nowiki&amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:[[Datei:Alix-ssl-crt.PNG|Zertifikat]]&lt;br /&gt;
:&amp;#039;&amp;#039;Abbildung: Zertifikat&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nach der Bestätigung der Sicherheitswarnung (die erscheint, weil wir das Zertifikat selbst unterzeichnet haben) kann das Zertifikat akzeptiert werden und ab sofort ist eine verschlüsselte Kommunikation mit dem Schulserver möglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PHP ==&lt;br /&gt;
&lt;br /&gt;
=== Installation von PHP ===&lt;br /&gt;
&lt;br /&gt;
Das Paket libapache2-mod-php5 enthält das PHP5-Modul für den Webserver Apache 2 und php5-mysql enthält das MySQL-Modul für PHP5.&lt;br /&gt;
&lt;br /&gt;
Die Installation erfolgt mit&lt;br /&gt;
&lt;br /&gt;
  aptitude install libapache2-mod-php5 php5-mysql&lt;br /&gt;
&lt;br /&gt;
Nach der Installation schalten Sie das PHP_Modul mit folgendem Befehl ein:&lt;br /&gt;
&lt;br /&gt;
  a2enmod php5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
wobei der Befehl Apache 2 enable module (kurz: a2enmod) verwendet wird. &lt;br /&gt;
&lt;br /&gt;
Abschließend wird der Webserver Apache neu gestartet mit:&lt;br /&gt;
&lt;br /&gt;
  /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test von PHP ===&lt;br /&gt;
&lt;br /&gt;
Um PHP testen zu können, wird die eine Datei &amp;lt;code&amp;gt;info.php&amp;lt;/code&amp;gt; benötigt. Mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
  touch /var/www/info.php (später /htdocs/info.php)&lt;br /&gt;
&lt;br /&gt;
erzeugen Sie diese Datei. In die Datei schreiben Sie mit einem beliebigen Editor folgende Zeilen rein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  phpinfo();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Aufruf erfolgt nun über den Webserver mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
  lynx http://localhost/info.php&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis sollte am Bildschirm eine recht lange Liste an Parametern und Variablen anzeigen.&lt;br /&gt;
&lt;br /&gt;
Das MySQL-Modul kann erst später getestet werden, weil der MySQL-Server noch nicht eingerichtet ist. Keine Angst, wir vergessen es nicht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Userdir ==&lt;br /&gt;
&lt;br /&gt;
=== Einrichtung von Userdir ===&lt;br /&gt;
&lt;br /&gt;
Es wird nun das userdir-Modul für die privaten Webseiten der Nutzer (/~nutzer) installiert und anschließend eingeschaltet mit:&lt;br /&gt;
&lt;br /&gt;
  aptitude install libapache2-mod-ldap-userdir&lt;br /&gt;
  a2enmod userdir &lt;br /&gt;
&lt;br /&gt;
In der Datei &amp;lt;code&amp;gt;/etc/apache2/mods-available/userdir.conf&amp;lt;/code&amp;gt; werden folgende Zeilen ergänzt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;IfModule mod_userdir.c&amp;gt;&lt;br /&gt;
  UserDir html_public&lt;br /&gt;
  UserDir disabled root&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Directory /home/teacher/*/html_public&amp;gt;&lt;br /&gt;
	Options Indexes SymLinksIfOwnerMatch&lt;br /&gt;
	AllowOverride AuthConfig Limit FileInfo Indexes&lt;br /&gt;
	&amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
		Order deny,allow&lt;br /&gt;
		Deny from all&lt;br /&gt;
	&amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
	&amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
		Order allow,deny&lt;br /&gt;
		Allow from all&lt;br /&gt;
	&amp;lt;/Limit&amp;gt;&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Directory /home/students/*/html_public&amp;gt;&lt;br /&gt;
	Options Indexes SymLinksIfOwnerMatch&lt;br /&gt;
	AllowOverride AuthConfig Limit FileInfo Indexes&lt;br /&gt;
	&amp;lt;LimitExcept GET POST OPTIONS&amp;gt;&lt;br /&gt;
		Order deny,allow&lt;br /&gt;
		Deny from all&lt;br /&gt;
	&amp;lt;/LimitExcept&amp;gt;&lt;br /&gt;
	&amp;lt;Limit GET POST OPTIONS&amp;gt;&lt;br /&gt;
		Order allow,deny&lt;br /&gt;
		Allow from all&lt;br /&gt;
	&amp;lt;/Limit&amp;gt;&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und der Apache abschließend neu gestartet.&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
Damit alle neuen Nutzer später automatisch über eine Webseite verfügen können, sind weitere Vorarbeiten nötig:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/skel/html_public&lt;br /&gt;
  cd /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel.other&lt;br /&gt;
  cp ./index.html /etc/skel/html_public&lt;br /&gt;
&lt;br /&gt;
Mit diesen Befehlen wird die Musterseite erzeugt, die später jeder neue Nutzer automatisch in sein Homeverzeichnis gelegt bekommt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Test von Userdir ===&lt;br /&gt;
&lt;br /&gt;
Beim User &amp;lt;code&amp;gt;mmustermann&amp;lt;/code&amp;gt; wurde (Dieser Nutzer kann zu Testzwecken nach der Anleitung im Kapitel [[Entwicklungsumgebung/LDAP|Entwicklungsumgebung LDAP]] angelegt werden) im Homeverzeichnis das Unterverzeichnis &amp;lt;code&amp;gt;html_public&amp;lt;/code&amp;gt; angelegt und eine Datei &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; erstellt. Die Rechte wurden für das Verzeichnis mit 755 und für die Datei mit 644 gesetzt. Der Owner wurde auf &amp;lt;code&amp;gt;mmustermann&amp;lt;/code&amp;gt; geändert, die Gruppe &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; gelassen. Der Aufruf erfolgt mit&lt;br /&gt;
&lt;br /&gt;
  lynx http://localhost/~mmustermann/index.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weitere Werkzeuge ==&lt;br /&gt;
&lt;br /&gt;
Installation von:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  aptitude install php5-cli php5-common php5-mhash php-pear&lt;br /&gt;
  a2enmod suexec rewrite include expires ident&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Paket &amp;quot;php5-cli&amp;quot; stellt einen Kommandozeileninterpreter &amp;lt;code&amp;gt;/usr/bin/php5&amp;lt;/code&amp;gt; zur Verfügung, der für das Testen von PHP-Scripten und auch für Shell-Scripting-Aufgaben verwendet werden kann. Das Paket &amp;quot;php5-common&amp;quot; enthält Beispieldateien und Dokumentationen für PHP5. Das Paket &amp;quot;php5-mhash&amp;quot; stellt mhash-Funktionen bereit. Und &amp;quot;php-pear&amp;quot; enthält die Basis-PEAR-Klassenbibliothek für PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== phpLDAPadmin ===&lt;br /&gt;
&lt;br /&gt;
Das Paket &amp;quot;phpldapadmin&amp;quot; enthält einen grafischen LDAP-Browser, der Konfigurations- und Wartungsarbeiten am LDAP-Baum ermöglicht.&lt;br /&gt;
&lt;br /&gt;
Installation von:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  aptitude install phpldapadmin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Damit phpldapadmin arbeitet, werden die folgenden Korrekturen vorgenommen:&lt;br /&gt;
&lt;br /&gt;
In der Datei /etc/phpldapadmin/apache.conf wird nach php_value include_path . ergänzt:&lt;br /&gt;
&lt;br /&gt;
  php_admin_value safe_mode off&lt;br /&gt;
  php_admin_value open_basedir /var/lib/php5/:/usr/share/phpldapadmin/:/usr/share/doc/phpldapadmin/:/etc/phpldapadmin&lt;br /&gt;
&lt;br /&gt;
Die letzte Zeile ist eine Zeile!&lt;br /&gt;
&lt;br /&gt;
Und dann wird noch die Datei [[Entwicklungsumgebung/Dateiliste/phpldapadmin|/etc/phpldapadmin/config.php]] so angepasst, dass &lt;br /&gt;
&lt;br /&gt;
* ein Login per uid, &lt;br /&gt;
* der Login per Full-DN und &lt;br /&gt;
* der anonyme Bind&lt;br /&gt;
&lt;br /&gt;
möglich wird.&lt;br /&gt;
&lt;br /&gt;
Die geänderte Datei config.php:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$i=0;&lt;br /&gt;
$ldapservers = new LDAPServers;&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;name&amp;#039;,&amp;#039;Alix per UID&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;host&amp;#039;,&amp;#039;localhost&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;base&amp;#039;,array(&amp;#039;dc=delixs-schule,dc=de&amp;#039;));&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;auth_type&amp;#039;,&amp;#039;session&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;login&amp;#039;,&amp;#039;attr&amp;#039;,&amp;#039;uid&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;login&amp;#039;,&amp;#039;pass&amp;#039;,&amp;#039;&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;login&amp;#039;,&amp;#039;anon_bind&amp;#039;,true);&lt;br /&gt;
&lt;br /&gt;
$i++;&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;name&amp;#039;,&amp;#039;Alix per Full-DN&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;host&amp;#039;,&amp;#039;localhost&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;port&amp;#039;,&amp;#039;389&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;base&amp;#039;,array(&amp;#039;dc=delixs-schule,dc=de&amp;#039;));&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;auth_type&amp;#039;,&amp;#039;session&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;login&amp;#039;,&amp;#039;dn&amp;#039;,&amp;#039;&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;login&amp;#039;,&amp;#039;pass&amp;#039;,&amp;#039;&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;tls&amp;#039;,false);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;low_bandwidth&amp;#039;,false);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;appearance&amp;#039;,&amp;#039;password_hash&amp;#039;,&amp;#039;md5&amp;#039;);;&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;read_only&amp;#039;,false);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;appearance&amp;#039;,&amp;#039;show_create&amp;#039;,true);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;auto_number&amp;#039;,&amp;#039;enable&amp;#039;,true);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;auto_number&amp;#039;,&amp;#039;mechanism&amp;#039;,&amp;#039;search&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;auto_number&amp;#039;,&amp;#039;search_base&amp;#039;,null);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;auto_number&amp;#039;,&amp;#039;min&amp;#039;,&amp;#039;1000&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;auto_number&amp;#039;,&amp;#039;dn&amp;#039;,null);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;auto_number&amp;#039;,&amp;#039;pass&amp;#039;,null);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;login&amp;#039;,&amp;#039;anon_bind&amp;#039;,true);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;custom&amp;#039;,&amp;#039;pages_prefix&amp;#039;,&amp;#039;custom_&amp;#039;);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;unique_attrs&amp;#039;,&amp;#039;dn&amp;#039;,null);&lt;br /&gt;
$ldapservers-&amp;gt;SetValue($i,&amp;#039;unique_attrs&amp;#039;,&amp;#039;pass&amp;#039;,null);&lt;br /&gt;
&lt;br /&gt;
# SASL auth&lt;br /&gt;
# auskommentieren&lt;br /&gt;
#$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;sasl_auth&amp;#039;,true);&lt;br /&gt;
#$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;sasl_mech&amp;#039;,&amp;#039;PLAIN&amp;#039;);&lt;br /&gt;
#$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;sasl_realm&amp;#039;,&amp;#039;EXAMPLE.COM&amp;#039;);&lt;br /&gt;
#$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;sasl_authz_id&amp;#039;,null);&lt;br /&gt;
#$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;sasl_authz_id_regex&amp;#039;,&amp;#039;/^uid=([^,]+)(.+)/i&amp;#039;);&lt;br /&gt;
#$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;sasl_authz_id_replacement&amp;#039;,&amp;#039;$1&amp;#039;);&lt;br /&gt;
#$ldapservers-&amp;gt;SetValue($i,&amp;#039;server&amp;#039;,&amp;#039;sasl_props&amp;#039;,null);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$friendly_attrs = array();&lt;br /&gt;
&lt;br /&gt;
$friendly_attrs[&amp;#039;facsimileTelephoneNumber&amp;#039;] = &amp;#039;Fax&amp;#039;;&lt;br /&gt;
$friendly_attrs[&amp;#039;telephoneNumber&amp;#039;]          = &amp;#039;Phone&amp;#039;;&lt;br /&gt;
$friendly_attrs[&amp;#039;uid&amp;#039;]                      = &amp;#039;User Name&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$q=0;&lt;br /&gt;
$queries = array();&lt;br /&gt;
$queries[$q][&amp;#039;name&amp;#039;] = &amp;#039;User List&amp;#039;;&lt;br /&gt;
$queries[$q][&amp;#039;base&amp;#039;] = &amp;#039;dc=delixs-schule,dc=de&amp;#039;;&lt;br /&gt;
$queries[$q][&amp;#039;scope&amp;#039;] = &amp;#039;sub&amp;#039;;&lt;br /&gt;
$queries[$q][&amp;#039;filter&amp;#039;] = &amp;#039;(&amp;amp;(objectClass=posixAccount)(uid=*))&amp;#039;;&lt;br /&gt;
$queries[$q][&amp;#039;attributes&amp;#039;] = &amp;#039;cn, uid, homeDirectory, telephonenumber, jpegphoto&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$q++;&lt;br /&gt;
$queries[$q][&amp;#039;name&amp;#039;] = &amp;#039;Samba Users&amp;#039;;&lt;br /&gt;
$queries[$q][&amp;#039;base&amp;#039;] = &amp;#039;dc=delixs-schule,dc=de&amp;#039;;&lt;br /&gt;
$queries[$q][&amp;#039;scope&amp;#039;] = &amp;#039;sub&amp;#039;;&lt;br /&gt;
$queries[$q][&amp;#039;filter&amp;#039;] = &amp;#039;(&amp;amp;(|(objectClass=sambaAccount)(objectClass=sambaSamAccount))(objectClass=posixAccount)(!(uid=*$)))&amp;#039;;&lt;br /&gt;
$queries[$q][&amp;#039;attributes&amp;#039;] = &amp;#039;uid, smbHome, uidNumber&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$q++;&lt;br /&gt;
$queries[$q][&amp;#039;name&amp;#039;] = &amp;#039;Samba Computers&amp;#039;;&lt;br /&gt;
$queries[$q][&amp;#039;base&amp;#039;] = &amp;#039;dc=delixs-schule,dc=de&amp;#039;;&lt;br /&gt;
$queries[$q][&amp;#039;scope&amp;#039;] = &amp;#039;sub&amp;#039;;&lt;br /&gt;
$queries[$q][&amp;#039;filter&amp;#039;] = &amp;#039;(&amp;amp;(objectClass=sambaAccount)(uid=*$))&amp;#039;;&lt;br /&gt;
$queries[$q][&amp;#039;attributes&amp;#039;] = &amp;#039;uid, homeDirectory&amp;#039;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Anmeldung erfolgt nun vom Client aus mittels Webbrowser unter der Adresse https://alix/phpldapadmin/&lt;br /&gt;
&lt;br /&gt;
:[[Datei:PhpLDAPadmin_UID.PNG|PhpLDAPadmin per UID]]&lt;br /&gt;
:&amp;#039;&amp;#039;Abbildung: PhpLDAPadmin per UID&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In der Entwicklungsumgebung geben Sie folgende Werte ein:&lt;br /&gt;
&lt;br /&gt;
  User Name: root&lt;br /&gt;
  Passwort: schule&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Webalizer ===&lt;br /&gt;
&lt;br /&gt;
Damit immer volle Kontrolle über das Nutzungsverhalten auf dem Webserver möglich ist, wird die Analysesoftware &amp;quot;webalizer&amp;quot; installiert:&lt;br /&gt;
&lt;br /&gt;
  aptitude install webalizer&lt;br /&gt;
&lt;br /&gt;
Start:&lt;br /&gt;
&lt;br /&gt;
  webalizer&lt;br /&gt;
&lt;br /&gt;
Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  /etc/webalizer/webalizer.conf&lt;br /&gt;
&lt;br /&gt;
Reports erzeugen (Text noch unvollständig):&lt;br /&gt;
&lt;br /&gt;
  cronjob....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== phpSysInfo ===&lt;br /&gt;
&lt;br /&gt;
Damit immer volle Kontrolle über den Server selbst möglich ist, wird die Analysesoftware &amp;quot;phpsysinfo&amp;quot; installiert:&lt;br /&gt;
&lt;br /&gt;
  aptitude install phpsysinfo&lt;br /&gt;
  ln -s /usr/share/phpsysinfo /var/www/secure/phpsysinfo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Konfiguration:&lt;br /&gt;
&lt;br /&gt;
  /etc/phpsysinfo/config.php&lt;br /&gt;
&lt;br /&gt;
Text noch unvollständig...&lt;br /&gt;
&lt;br /&gt;
Aufgerufen wird diese Informationsseite über: https://alix.delixs-schule.de/phpsysinfo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== WebDAV ===&lt;br /&gt;
&lt;br /&gt;
Unter WebDAV (Web-based Distributed Authoring und Versioning) versteht man die Erweiterung des HTTP-Protokolls, um Benutzern das Bearbeiten von Dateien auf dem Webserver zu ermöglichen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Location &amp;quot;/pfad&amp;quot;&amp;gt;&lt;br /&gt;
Options Indexes FollowSymLinks&lt;br /&gt;
AllowOverride None&lt;br /&gt;
order allow,deny&lt;br /&gt;
allow from all&lt;br /&gt;
&lt;br /&gt;
DAV On&lt;br /&gt;
AuthType Basic&lt;br /&gt;
&lt;br /&gt;
AuthLDAPBindDN cn=admin,dc=delixs-schule,dc=de&lt;br /&gt;
AuthLDAPBindPassword SOMEPASS&lt;br /&gt;
AuthLDAPURL&lt;br /&gt;
ldap://127.0.0.1/cn=webmaster,ou=groups,dc=delixs-schule,dc=de?uid?sub?(objectClass=*)&lt;br /&gt;
&lt;br /&gt;
AuthName &amp;quot;Webdav Zugriff&amp;quot;&lt;br /&gt;
Require valid-user&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== WebDAV-Client ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Mit &amp;quot;cadaver&amp;quot; kann ein Linux-Client auf WebDAV-Freigaben zugreifen, also Dateien herunterladen, ändern, erzeugen und auch löschen.&lt;br /&gt;
* Mittels &amp;quot;davfs2&amp;quot; können WebDAV-Freigaben als Filesysteme in fremde Linux-Systeme eingebunden (gemountet) werden, vergleichbar mit nfs-Freigaben.&lt;br /&gt;
* In Windows-Clients können WebDAV-Freigaben als Netzwerkfreigaben eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; Windows in Version Windows XP-Sp2 beherrscht keine BASIC-Authentifizierung von WebDAV-Freigaben. Zur Nachrüstung dieser Funktionalität muss erst der folgende Patch in der Registry erfolgen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Windows Registry Editor Version 5.00&lt;br /&gt;
&lt;br /&gt;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters]&lt;br /&gt;
&amp;quot;UseBasicAuth&amp;quot;=dword:00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Speichern Sie diesen Patch einfach als Datei &amp;quot;webdav-xp.reg&amp;quot; ab und aktivieren ihn dann mittels Doppelklick.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatische Proxy-Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
* Definition: http://www.web-cache.com/Writings/Internet-Drafts/draft-ietf-wrec-wpad-01.txt&lt;br /&gt;
* siehe Hinweise unter: http://wiki.bsdforen.de/howto/automatische_proxy-konfiguration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
=== Webserver ===&lt;br /&gt;
&lt;br /&gt;
* http://www.apache.org&lt;br /&gt;
* http://httpd.apache.org/docs/2.0/de&lt;br /&gt;
* http://www.jfranken.de/homepages/johannes/vortraege/apache_inhalt.de.html&lt;br /&gt;
* virtuelle Hosts: http://www.tim-bormann.de/tutorial-installation-debian-etch-server/&lt;br /&gt;
&lt;br /&gt;
=== PHP ===&lt;br /&gt;
&lt;br /&gt;
* http://www.php.net&lt;br /&gt;
* http://de.php.net/manual/de&lt;br /&gt;
&lt;br /&gt;
=== Webalizer ===&lt;br /&gt;
&lt;br /&gt;
* http://www.tim-bormann.de/debian-apache-2-installation-webalizer/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;[[Lenny:Entwicklungsumgebung|zurück]] | [[Hauptseite]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hans-Dietrich Kirmse, Klaus Werner 2009&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ArchivDebianLenny]]&lt;/div&gt;</summary>
		<author><name>Schoffer</name></author>
	</entry>
</feed>