Linux KNOWLEDGE by Spreech 

 home |
Too Cool for Internet Explorer

Directory Listing abschalten

Bloged in Server by manuel.schwab Dienstag Mai 1, 2007

Um das Directory Listing in einem Verzeichnis abzuschalten, kann man folgenden Eintrag machen:

# Directorylisting abschalten
[Directory /var/www/]

Options -Indexes +FollowSymLinks
AllowOverride None

Order allow,deny
Allow from all
[/Directory]

Wichtig ist hier der Punkt

Options -Indexes

Anmerkung: Die hier benutzten eckigen Klammern [ und ] sind durch < bzw. > zu ersetzen!

Catch All Subdomain

Bloged in Server by manuel.schwab Dienstag Mai 1, 2007

Um alle Anfragen auf Subdomain, welche nicht existieren, auf eine bestimmte Seite weiterzuleiten, kann man wie folgt ran gehen:

1. Eine Seite mit der Fehlermeldung erstellen

mkdir /var/www/error/
cd /var/www/error/
nano index.html

Die index.html kann einen beliebigen Inhalt bekommen, hier:


Seite gibt es nicht!

Danach noch die index.html Datei für den Webserver verfügbar machen:

chown www-data:www-data index.html

Danach editiere man die Datei

/etc/apache2/apache2.conf

Die Catch All Anweisungen fügt man ganz unten ein, es sollte danach nichts mehr stehen.
Steht danach noch eine definierte Subdomain, so kann diese nicht angesprochen werden, da die Anfragen sonst vorher vom Catch All abgefangen werden.

############## Catch Alls #################################

[VirtualHost [IP]:80]
ServerAlias *.[HOST].de

DocumentRoot /var/www/error/
[Directory /]
Options FollowSymLinks
AllowOverride None
[/Directory]
[Directory /var/www/error/]
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
[/Directory]

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
[Directory „/usr/lib/cgi-bin“]
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
[/Directory]

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On

Alias /doc/ „/usr/share/doc/“
[Directory „/usr/share/doc/“]
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
[/Directory]

[/VirtualHost]

##### SSL Catch ALL ###

[VirtualHost [IP]:443]
ServerAlias *.[HOST].de

# SSL (START)
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/ZERTIFIKAT.crt
SSLCertificateKeyFile /etc/apache2/ssl/ZERTIFIKAT.key

# SSL (ENDE)

DocumentRoot /var/www/error/

[Directory /]
Options FollowSymLinks
AllowOverride None
[/Directory]

[/VirtualHost]

###################### ENDE CATCHALL ####################################

Nun landen alle Anfragen an Subdomain, die nicht festgelegt wurden, im Ordner

/var/www/error/

und man erhält den Inhalt der Datei index.html .

Anmerkung: Die hier benutzten eckigen Klammern [ und ] sind durch < bzw. > zu ersetzen!

Virtual Hosts SSL Verbindungen

Bloged in Server by manuel.schwab Dienstag Mai 1, 2007

Um SSL Verbindungen zu ermöglichen, muss zunächst ein SSL Zertifikat erstellt werden.
Hierzu installiert man als erstens

openssl

Danach folgendes ausführen um ein eigenes Zertifikat zu erhalten:

mkdir /etc/apache2/ssl/
cd /etc/apache2/ssl/
openssl req -new -x509 -days 365 -nodes -out MEIN_SCHOENES_SSL.crt -keyout MEIN_SCHOENES_SSL.key

Danach erstellt man unter

/etc/apache2/sites-available/

wieder eine neue Datei:

nano webmailer_ssl

Dort kann man beispielsweise folgenden Inhalt einfügen:

##### Webmailer ###

[VirtualHost [IP]:443]
ServerName webmail.[HOST].de
ServerAlias webmail.[HOST].de

# SSL (START)
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/MEIN_SCHOENES_SSL.crt
SSLCertificateKeyFile /etc/apache2/ssl/MEIN_SCHOENES_SSL.key

# SSL (ENDE)

DocumentRoot /var/www/roundcubemail/

[/VirtualHost]

Danach die Site enablen:

a2ensite webmailer_ssl

Nun ist die Domain webmail.[HOST].de via https erreichbar.

Anmerkung: Die hier benutzten eckigen Klammern [ und ] sind durch < bzw. > zu ersetzen!

Virtual Hosts verwalten

Bloged in Server by manuel.schwab Dienstag Mai 1, 2007

Ein kleines How – To um Virtual Hosts zu verwalten:

Man gehe zuerst in das Verzeichnis

/etc/apache2/sites-available/

Dort erstellt man eine neue Datei, hier

manuelschwab.de

Die Datei kann den folgenden Inhalt haben:

[VirtualHost [IP]:80]
ServerAdmin webmaster@manuelschwab.de
ServerName www.manuelschwab.de
ServerAlias manuelschwab.de

DocumentRoot /var/www/
[Directory /]
Options FollowSymLinks
AllowOverride None
[/Directory]
[Directory /var/www/]
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
[/Directory]

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
[Directory „/usr/lib/cgi-bin“]
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
[/Directory]

ErrorLog /var/log/apache2/error.log

LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On

Alias /doc/ „/usr/share/doc/“
[Directory „/usr/share/doc/“]
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
[/Directory]

[/VirtualHost]

Ist dem Server keine feste IP zugewiesen, so mann man anstatt der IP auch einfach * nehmen.

Nach dem Speichern führt man dann ein

a2ensite manuelschwab.de

aus.
Danach ist diese Domain erreichbar, es wird ein symbolischer Link nach

/etc/apache2/sites-enabled/

erstellt.

Um die Domain nicht mehr erreichbar zu machen, führt man den Befehl

a2dissite manuelschwab.de

aus.

Damit dies auch funktioniert muss gewährleistet sein, dass in der Datei

/etc/apache2/apache2.conf

Am Ende der Eintrag

Include /etc/apache2/sites-enabled/

vorhanden ist.

Arbeitet man mit einer festen IP, muss in der apache2.conf auch noch folgender Eintrag (vor dem Includen) hinzugefügt werden:

NameVirtualHost [IP]:80
NameVirtualHost [IP]:443

Das

NameVirtualHost [IP]:443

Ist dafür da, dass auch SSL Verbindungen möglich sind.
Um dies zu ermöglich, muss zudem folgender Eintrag in der Datei

/etc/apache2/ports.conf
Listen 443

Auf SSL Verbindungen wird im folgenden Thread eingegangen.

Anmerkung: Die hier benutzten eckigen Klammern [ und ] sind durch < bzw. > zu ersetzen!

Powered by Wordpress, theme by Dimension 2k