Drucken

Apache WEB Server

Apache mit virtuellen Servern und SSL

Howto zum Einrichten von Apache virtuellen Servern und SSL
Apache_vhosts_ssl.pdf (306.79 KB)

HTTPS ohne ein teueres Zertifikat

Ich habe kürzlich einen Apache Webserver mit einer SSL-Verschlüssung via HTTPS ausgestattet. Da dieser kein (teuer) signiertes SSL-Zertifkat braucht habe ich selbst eines erstellt. Das ganze geht mit wenigen Befehlen.
Die Openssl-Tools sollten eigentlich mit jeder Standarddistribution ausgeliefert sein.

Wichtiger Hinweis: zur Zertifikatserstellung
Bei der Frage zum Common Name (eg, YOUR name) den Hostnamen der SSL-Website eintragen, beispielsweise pop.ccf-it.de.

SSL erzeugen

  • Verzeichnis erstellen
    mkdir /etc/apache2/myssl
  • Wechseln in das erstellte Verzeichnis
    cd /etc/apache2/myssl
  • Neues .csr File geniereren
    openssl req -new > server.cert.csr
  • Schlüssel erzeugen
    openssl rsa -in privkey.pem -out server.cert.key
  • Öffentliches Zertifikat für die Dauer von 365 Tagen erstellen
    openssl x509 -in server.cert.csr -out server.cert.crt  -req -signkey server.cert.key -days 365
  • Editoraufruf der ports.conf
    vi /etc/apache2/ports.conf

    und folgende Zeile eintragen
    Listen 443
  • Editoraufruf der httpd.conf, oder das zugehörige include file der Apache Konfigguration
    vi /etc/apache2/httpd.conf

    und folgende Minimal Konfiguration eintragen
     <VirtualHost ******:443>
     ServerName ******
     SSLEngine on 
     SSLCertificateKeyFile /etc/apache2/myssl/server.cert.key
     SSLCertificateFile /etc/apache2/myssl/server.cert.crt
    </VirtualHost> 
  • Den Apache-Mod SSL aktivieren
    a2enmod ssl
  • den Apache Server neu starten
    /etc/init.d/apache2 force-reload

Apache phpautoindex

phpAutoindex - ein Ordner Auflister.

Link: http://phpautoindex.sourceforge.net(external link)

BESCHREIBUNG

phpAutoindex ist ein Ordner Auflister, der als Ersatz für das Apache Modul autoindex gedacht ist. Im Gegensatz zum Apache Modul ist phpAutoindex flexibler und bietet mehr Einrichtungsmöglichkeiten. Es gibt viele Eingabeplugins für verschiedene Informationen wie zum Beispiel Dateigröße oder die SHA1-Prüfsumme einer Datei.

VORAUSSETZUNGEN

phpAutoindex benötigt mindestens PHP 4.3.0.Für den Stealth-Modus unter Apache wird das Modul mod_rewrite benötigt.

INSTALLATION

Entpacken Sie das Archiv und editieren Sie die Datei config.default.de.php um phpAutoindex einzurichten. Benennen Sie anschließend diese Datei zu config.php um und laden den gesamten Ordern auf ihrem Server hoch.

BENUTZUNG

Um nun den Inhalt eines Verzeichnisses ausgeben zu lassen, rufen Sie die index.php auf.

STEALTH MODUS

Der Stealth Modus erlaubt es ihnen unter Apache mod_autoindex zu ersetzen. Dafür müssen Sie zunächst die Konfigurationsvariable "scriptpath" auf einen leeren Wert setzten und dann im Dokument Root Verzeichnis von Apache die Datei .htaccess mit folgendem Inhalt erstellen:
))RewriteEngine(( On
))RewriteCond(( %{REQUEST_FILENAME} -d ´
))RewriteCond(( %{REQUEST_FILENAME} /$
))RewriteRule(( ^(.*)$ /phpautoindex/index.php?dir=$1 QSA

Ersetzen Sie gegebenfalls /phpautoindex/ mit ihrem Ordnernamen, relativ zum Dokument Root Verzeichnis von Apache.

BENUTZEREINSTELLUNGEN

Sie können das Verhalten von phpAutoindex via .htaccess Dateien kontrollieren. phpAutoindex versteht folgende Apache Direktiven: Options, ))HeaderName,?ReadmeName,?DirectoryIndex((. Zusätzlich können Sie pai-Kommentare in .htaccess Dateien hinterlegen, die wie alle anderen Direktiven verarbeitet werden:

Folgende Kommandos sind alle identisch.
  • ))paiMeinKommando ?MeinWert((
  • ))paimeinkommando ?MeinWert((
  • pai ))MeinKommando ?MeinWert((
  • pai ))Meinkommando ?MeinWert((

Folgende Kommandos stehen zur Verfügung:

Kommand Beschreibung
allow Erlaubt die Auflistung des Ordners.
deny Verweigert die Auflistung des Ordners.
reset mylist Löscht alle Einträge der 'mylist' Direktive.
unset mylist Alias für reset.
hide reg Versteckt alle Dateien, die durch den Perl-Kompatiblen
Regulären Ausdrucke (PCRA) 'reg' erfasst werden.
plugins plugin Fügt 'plugin' zu den Plugins hinzu.
sticky reg Alle Dateien die durch den PCRA 'reg' erfasst werden
als erstes in der Auflistung anzeigen.
sort column Die Standardmäßig zu sotierende Spalte (Plugin-Name).
order desc Aufsteigende (asc) oder absteigende (desc) Sortierreihenfolge.
dirsfirst bool Ordner vor Dateien anzeigen.
template tpl Ausgabe-Template auf 'tpl' setzen.
plugin-myplugin config Setzt die Konfiguration für das Plugin 'myplugin' auf 'config'.
Für Einstellmöglichkeiten siehe:
$config['plugins-config'].

Download

http://sourceforge.net/projects/phpautoindex/files/phpAutoindex/phpautoindex-1.1.tar.bz2/download(external link)

Apache mod_autoindex

Apache-Konfiguration httpd.conf oder .htaccess

))DirectoryIndex(( Diese Datei werden statt einer Verzeichnis Auflistung angezeigt
DirectoryIndex index.html home.html

Ohne diese Option wird keine Auflistung angezeigt, ist aber meist standard-mässig eingeschalten
Options +Indexes

))FancyIndexing(( ist besonders konfigurierbar
))IndexOptions ?FancyIndexing ?NameWidth((=*

mit ))AddDescription(( kann man für bestimmte Dateien eine Beschreibung mitliefern
))AddDescription(( "GZIP compressed document" .gz
))AddDescription(( "tar archive" .tar
))AddDescription(( "GZIP compressed tar archive" .tgz
))AddDescription(( "Hier kommt die Maus" Maus*.mp3

))HeaderName(( ist der Name einer Datei die vor der Auflistung angezeigt wird
))ReadmeName(( ist der Name einer Datei die nach der Auflistung angezeigt wird
))HeaderName(( HEADER.html
))ReadmeName(( README.html

))IndexIgnore(( filtert Dateien weg die nicht aufgelistet werden sollen * und ? funktionieren wie auf der Kommandozeile
))IndexIgnore(( .??* *~ *# HEADER* README* RCS CVS *,v *,t

Mit den diversen ))AddIcon(( Befehlen kann man die verwendeten Symbole verändern
))AddIcon(( /icons/binary.gif .bin .exe
))AddIcon(( /icons/binhex.gif .hqx
))AddIcon(( /icons/tar.gif .tar
))AddIcon(( /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv

Für unbekannte Dateitypen kann man das ))DefaultIcon(( verwenden
DefaultIcon /icons/unknown.gif

Apache Geronimo Application Server