This page (revision-11) was last changed on 23-Feb-2009 23:01 by JensKapitza 

This page was created on 03-Oct-2006 21:29 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
11 23-Feb-2009 23:01 2 KB JensKapitza to previous muss noch überarbeitet werden
10 31-Jan-2008 16:24 3 KB ThomasBayen to previous | to last Virtual Hosts auf eigene Seite
9 25-Jan-2008 12:23 5 KB ThomasBayen to previous | to last Tagging
8 16-Jan-2008 17:26 5 KB PeterHormanns to previous | to last Tagging
7 27-Oct-2007 19:07 5 KB ThomasBayen to previous | to last Apache 2.2 mit SSL installiert
6 16-Dec-2006 23:41 4 KB PeterHormanns to previous | to last KategorieApache
5 25-Nov-2006 16:35 4 KB Jens Kapitza to previous | to last
4 20-Oct-2006 22:48 4 KB PeterHormanns to previous | to last Formatiert für JSPWiki, Link Seite OpenSSL
3 20-Oct-2006 22:47 4 KB PeterHormanns to previous | to last Formatiert für JSPWiki, Link Seite OpenSSL
2 20-Oct-2006 22:44 4 KB PeterHormanns to previous | to last Formatiert für JSPWiki, Link Seite OpenSSL
1 03-Oct-2006 21:29 4 KB UnknownAuthor to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

Dies ist eine AlteSeite aus unserem UseModWiki bei Sourceforge.

Bitte überarbeite die Seite, passe die Formatierung für das JSPWiki an
und entferne diesen Text.

Vielen Dank!

{{{
>>= Apache =

Den <<[Apache|http://www.apache.org]Apache>> hier vorzustellen, hiesse Eulen nach Athen <<tragen.Hiertragen.>> <<aberDaher
gibts
>> <<einige
alle
>> <<wichtigeInfos>> <<Punkte.unter>> <<Diehttp://www.apache.org>> <<Einrichtungund>> <<vonhier>> <<[VirtualHosts|ApacheVirtualHosts]nur>> <<hatein>> <<einepaar>> <<eigeneInfos
zu
>> <<Seite
besonderen
>> <<bekommen.Themen:>>
<<
>>== <<Virtual Hosts ==

Wer mehrere verschiedene Webauftritte auf einem einzelnen Rechner
unterbringen
will, kann dies mit sogenannten "Virtual Hosts" tun. Dabei wird ein
und
derselbe Rechner unter unterschiedlichen DNS-Namen aufgerufen und
der
Benutzer bekommt jedesmal einen komplett anderen Webauftritt zu
sehen.

Im Prinzip konfiguriert man dies in der Datei
''/etc/apache/httpd.conf''
folgendermassen:

<pre>
 NameVirtualHost *
 <VirtualHost *>
       ServerName localhost
       DocumentRoot /var/www
 </VirtualHost>

 <VirtualHost *>
       ServerName jens
       DocumentRoot /home/jens/public_html/
       ScriptAlias /cgi-bin/ /home/jens/public_html/cgi-bin/
 </VirtualHost>

 <VirtualHost *>
       ServerName bayen.bayen.loc
       DocumentRoot /home/tbayen/public_html/
       ScriptAlias /cgi-bin/ /home/tbayen/public_html/cgi-bin/
 </VirtualHost>
</pre>

Alternativ kann man auch das Modul ''mod_vhost_alias'' zu Hilfe
nehmen.
Dieses ist interessant, wenn ich wirklich viele Namen und
Webauftritte
verwalten will. So kann z.B. jeder Benutzer einen eigenen
Webauftritt
unter seinem Benutzernamen haben, wenn man folgendes in die
''/etc/apache/httpd.conf'' einfügt:

<pre>
 VirtualDocumentRoot /home/%1/public_html
 VirtualScriptAlias /home/%1/public_html/cgi-bin
</pre>

(Im Beispiel ist "%1" verwendet worden. Dies entspricht dem ersten
Teil des
verwendeten DNS-Namens. Mit "%0" kann man den gesamten Namen als
Verzeichnisnamen einfügen.)

=== Namensauflösung ===

Zu beachten ist, daß diese Einstellungen hier nichts mit der
Namensauflösung
zu tun haben. Man muss also selbstverständlich den Nameserver auch
noch
entsprechend konfigurieren.

==
>>SSL ==

Wer verschlüsselte Verbindungen per SSL haben <<möchtemöchte,>> <<musskann>> <<dasdazu
zwei
>> <<PassendeWege>> <<Modulbeschreiten.>> <<Es gibt ein '''mod_ssl'''-Modul, das >>im<<
>>Apache <<aktiviertwie>> <<haben.andere>> <<ZuvorModule>> <<geladen werden kann und es gibt eine
SSL-fähige Apache-Version namens '''apache-ssl'''. Scheinbar
>>ist <<aberes
reine
>> <<einigesGeschmackssache,>> <<anwelche>> <<VorarbeitLösung>> <<man benutzt und auch die
Konfigurationsbefehle scheinen ähnlich
>>zu <<leisten.sein. Ich habe hier mit>>
<<dem Debian-Paket "apache-ssl" herumgespielt und dabei folgendes>>
<<herausgefunden:

>>=== Erzeugung eines Zertifikats << >>===

<<Wenn man apache-ssl installiert, wird man nach einigen Angaben für
das Zertifikat gefragt. Dort hat man schnell was falsches
eingegeben. Außerdem ist das dort erzeugte Zertifikat natürlich
auch recht schnell abgelaufen. Deshalb ist es sinnvoll, zu wissen,
wie man eigene Zertifikate erstellt. Dies ist natürlich
insbesondere nötig, wenn man mehrere virtuelle Domains versorgen
will.

>>Als erstes muss man eine Schlüsseldatei erzeugen:
<<{{{>>
 openssl genssl >key.pem
<<}}}>>
<<
>>Dann kann man mit deren Hilfe ein selbst-signiertes Zertifikat
erstellen:
<<{{{>>
 openssl req -new -x509 -key key.pem -out mein.server.loc.pem<<
>>-days 1095
<<}}}>>
<<
>>(1095 Tage sind drei Jahre, das ist die Gültigkeit des Zertifikats)
Der Witz dabei ist, daß man als Namen (''YOUR Name'') den
Domainnamen des Webservers angibt, auf den man nachher zugreifen
will. Es empfiehlt sich, dafür zu sorgen, daß wirklich nur ein Name
benutzt wird. (Also z.B. nicht mit und ohne Domain).

Dieses Zertifikat kann man dann nach ''/usr/lib/ssl/certs/''
kopieren, wo openssl es dann problemlos findet.

Die Konfiguration liegt in <<älteren'''/etc/apache-ssl/httpd.conf'''.>> <<Apache-Installationen in __/etc/apache-ssl/httpd.conf__. >>Dort
<<suchtsuch>> man den Befehl <<__~SSLCertificateFile__'''SSLCertificateFile'''>> und gibt den
Dateinamen des Zertifikates an.

<<In neueren Apache-Versionen (ich habe dies mit einem 2.2 getestet) ist die Konfiguration in mehrere Dateien aufgeteilt. Man muss in getrennten Dateien das ssl-Modul laden, den Port 443 aktivieren und dann zwei virtuelle Hosts erzeugen, von denen einer Port 80 und einer Port 443 und SSL benutzt. Das wird kurz und knapp in http://venthur.de/Linux/ApacheSSLHOWTO erklärt.

vgl. auch OpenSSL

>>=== SSL und virtuelle Domains ===

Beides zusammen ist leider gar nicht einfach. Im Gegenteil - aus
protokolltechnischen Gründen ist es sogar eigentlich unmöglich. Die
Auswahl unterschiedlicher SSL-Zertifikate funktioniert nur anhand
unterschiedlicher IP-Adressen oder Ports, nicht anhand des Namens
(siehe http://www.modssl.org/docs/2.8/ssl_faq.html#ToC47). Als
Notlösung kann man jedoch mit der <<__Listen__-Direktive'''Listen'''-Direktive>> den Server
auf unterschiedlichen Ports lauschen lassen und diese dann in der
<<~VirtualHost-DirektiveVirtualHost-Direktive>> angeben. Innerhalb des <<~VirtualHost-BlocksVirtualHost-Blocks>>
kommt dann der <<~SSLCertificateFile-Befehl.SSLCertificateFile-Befehl.>>

<<Es===>> <<gehtAlternativen>> <<aber===

Der
>> <<doch:Apache>> <<ist sicherlcih der am weitesten verbreitete Webserver.
>>In <<einemspeziellen>> <<ZertifikatAnwendungsfällen,>> <<könnend.h.>> <<mehrereimmer,>> <<Commonwenn>> <<Namesdie>> <<oder AliasesHauptaufgabe>>
<<hinterlegtnicht>> <<sein!\\aus dem Ausliefern von statischen Webseiten besteht, können>>
<<vgl.aber>> auch <<OpenSSLAlternativen herangezogen werden. Für Java-Anwendungen>>
<<bietet sich zum Beispiel der TomcatUnterDebian an. Sehr gut>>
<<----geeignet ist der Apache auch, um solche spezialisierten Lösungen>>
<<__Links__

*
miteinander
>> <<Einzu>> <<gutesverbinden,>> <<[HOWTO|http://www.jfranken.de/homepages/johannes/vortraege/apache_inhalt.de.html]indem>> <<zumz.B.>> <<ApacheAnfragen>> <<2.xan eine>>
<<
[{Tag
Java-Applikation
>> <<Apachean>> <<SSLeinen>> <<ServerDienste}]Tomcat "durchgereicht" werden.
<<
-- ThomasBayen
}}}