Archiv

Artikel Tagged ‘Apache’

Mit WebDAV zum eigenen Onlinespeicher

8. Dezember 2010 Keine Kommentare

Einleitung

Wie Pilze aus dem Boden, treten immer mehr Anbieter für Onlinespeicher in Erscheinung. Bekannte Anbieter sind z.B. Dropbox, TeamSpace, SugarSync oder fiabee, um nur einige zu nennen. Sie begeistern immer mehr Leute mit Ihren Diensten rund um den Onlinespeicher. Dabei dreht es sich im Kern des Angebots meist um folgende Dienste:

  • Onlinespeicher, um von Überall auf Daten zugreifen zu können
  • Onlinespeicher, um Daten synchron zu halten
  • Onlinespeicher, um ggf. Daten zwischen mehreren Nutzern auzutauschen

Kurz um; Ein Netzlaufwerk im Internet.

Die meisten Anbieter stellen Ihre Dienste mit Lockangeboten auch kostenfrei zur Verfügung. Dann natürlich mit eingeschränkten Funktionen bzw. erheblich weniger Speicherplatz.

Jeder, der über einen eigenen Root-Server bzw. Managed-Server verfügt kann sich jedoch selbst einen eigenen Onlinespeicher erstellen. Das “Zauberwort” hierfür ist WebDAV.

Vereinfacht dargestellt ist WebDAV eine Erweiterung des HTTP-Protokolls und ermöglicht schreibenden Zugriff auf Webspace. Hier sei mir der Verweis auf Wikipedia gestattet.

Wenn man kurz über WebDAV nachdenkt, dann eröffnen sich einem einige Möglichkeiten und man kommt zu dem Schluss, dass oben genannte Punkte sich mit WebDAV umsetzen lassen und ggf. von den Anbietern der Onlinespeicherdienste möglicher Weise sogar mit Hilfe von WebDAV umgesetzt sind.

Ein nicht zu unterschätzender Aspekt und letztlich Argument für den Einsatz von WebDAV ist die Tatsache, dass die meisten Webserver und die meisten Dateimanager WebDAV unterstützen.

Zielsetzung

Natürlich ist es mir mit entsprechendem Aufwand möglich alle erdenklichen Anwendungsfälle zu betrachten, umzusetzen und entsprechend zu dokumentieren. Ich entscheide mich jedoch bewusst gegen diese Betrachtung. Ich werde im Folgenden meinen Anwendungsfall beschreiben und dokumentieren.

Ich benötigte einen Onlie-Speicherplatz, um immer und überall auf bestimmte Daten zugreifen zu können. Wichtig war für mich, dass sowohl die Authentifizierung als auch der Datenaustausch verschlüsselt ist und ausschließlich ich Zugriff habe. Dabei war es mir egal, ob ich ein “gültiges” SSL-Zertifikat habe oder nicht.

Umsetzung

Die Umsetzung ist recht einfach und in wenigen Schritten vollzogen.

  • SSL-Zertifikat besorgen bzw. erstellen und installieren
  • Passwortdatei erstellen, falls AuthType Basic gewollt ist
  • Webserver konfigurieren
  • fertig

Da ich nicht zwingend ein gültiges SSL-Zertifikat benötige, habe ich mir mit “openssl” selbst ein 1024 Bit starkes Zertifikat erstellt und entsprechen installiert. Im Internet gibt es “X” Verschiedene Tutorials, um ein SSL-Zertifikat selbst zu erstellen und zu installieren. Ich gehe deshalb hier nicht weiter darauf ein.

Ähnlich kurz möchte ich auf den Punkt “Passwortdatei erstellen” eingehen. Diese wird benötigt, wenn AuthType Basic für die Authentifizierung am Server genutzt wird. Als Hinweis sei hier nur kurz anzumerken, dass diese Datei nicht im Document root vom Webserver liegen sollte.

Um den Webserver zu konfigurieren muss dem Webserver zunächst gesagt werden, dass er nun auch WebDAV können soll. Dazu müssen im Webserver die entsprechenden Module geladen werden. Nach dem dieses sichergestellt wurde, fehlt lediglich die Konfiguration für den Online-Speicherplat über WebDAV. Hierzu habe ich eigens eine Virtual Host Konfiguration angelegt:

DavLockDB /srv/www/htdocs/DavLock

<VirtualHost 123.456.789.111:443>
ServerName www.yourdomein.tld
ServerAlias hostname.yourdomain.tld
DocumentRoot /srv/www/htdocs
SSLEngine on
SSLCertificateFile /etc/apache2/ssl.crt/server.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
<Directory “/srv/www/htdocs/onlinespeicher”>
DAV On
ForceType text/plain
AuthType Basic
AuthName “egal was hier steht”
AuthUserFile /home/user1/.htpasswd
<Limit COPY DELETE LOCK MKCOL MOVE POST PUT UNLOCK>
require valid-user
</Limit>
</Directory>
</VirtualHost>

It works…

Post ausdrucken Post ausdrucken

Webserver Apache durchstarten

22. September 2008 Keine Kommentare

Apache ist wohl der am weitesten verbreitete Webserver. Ein Leben als Webseiteninhaber bringt immer neue Erkenntnisse zum Apache, die es erforderlich machen, dass der Webserver neu gestartet werden muss.

Webserver Neustart (normal bzw. graceful)

Ein Neustart des Webservers ist sehr leicht. Dazu gibt es einen Befehl (Es gibt noch mehr Möglichkeiten, gehe hier jedoch nicht darauf ein…). Ein Neustart kann nur mit root-Rechten ausgeführt werden:

  1. /etc/init.d/apache2 restart ->(Standard)
  2. rcapache2 restart -> (Suse Linux typisch)

Nachteil

Ein solcher Neustart hat aber bei viel frequentierten Webseiten einen großen Nachteil. Alle bestehenden Prozesse des Webservers werden beendet und damit die evtl. bestehenden Clientverbindungen. Dieses ist oft nicht gewünscht.

Lösung – graceful restart

Der Webserver kann auch “Anwenderfreundlich” neu gestartet werden. Dabei werden alle Clientverbindungen solange aufrecht bis die Verbindung von Nutzer selbst unterbrochen wird. Erst dann wird auch diese Verbindungen beendet.

  1. /etc/init.d/apache2 graceful (Standard)
  2. rcapache2 graceful -> (Suse Linux typisch)



Verwandte Themen:

Permalinks in WordPress ändern
mod_rewrite aktivieren
MySQL – automatischer Restart

KategorienIT Tags: , ,
Post ausdrucken Post ausdrucken

mod_rewrite – aktivieren und überprüfen

17. Mai 2008 3 Kommentare

mod_rewrite Aktivieren

apache_logoDie Aufgabe des Moduls “mod_rewrite” ist, URL´s so umzuformen, dass URL´s lesbar werden. Dieses Modul ist z.B. bei WordPress zwingend erforderlich, wenn man nicht mit der voreingestellten Permalinkstruktur arbeiten möchte.

Die einfachste Art das Modul zu aktivieren ist einen Eintrag in der Datei /etc/sysconfig/apache2 vorzunehmen und den Webserver neu zu starten. Dazu musst Du Dir fogende Zeile in dieser Datei suchen:

APACHE_MODULES=”access actions alias auth auth_dbm autoindex cgi dir env expires include log_config mime negotiation set envif ssl suexec userdir php5 rewrite

Bei mir steht diese Zeile in Zeile 79. Am Ende (die Position ist aber egal) der Zeile, vor den schließenden Anführungszeichen (“) habe ich das Word rewrite notiert. Jetzt wird der Apache angewiesen, bei einem Neustart des Services, das Modul “mod_rewrite” zu laden.

Webserver Neustart

Ein Neustart des Webservers ist sehr leicht. Dazu gibt es 2 Befehle (Es gibt noch mehr Möglichkeite, gehe hier jedoch nicht darauf ein…). Je nach Präferenz kannst Du Dir einen davon aussuchen. Jeder dieser Befehle muss mit root-Rechten ausgeführt werden:

  1. rcapache2 restart -> (Suse Linux typisch)
  2. /etc/init.d/apache2 restart ->(Standard)

Status von mod_rewrite überprüfen

Nach dem Neustart, ist es natürlich wichtig zu wissen, ob das neue Modul vom Webserver geladen wurde. Ein Blick in die Datei /etc/apache2/sysconfig.d wird dabei Helfen. Die Stelle an der Du das rewrite-Modul in /etc/sysconfig/apache2 in der Zeile für APACHE_MODULES notiert hast, bestimmt auch die Reihenfolge der vom Webserver zu ladenen Module. Folgerichtig müsste jetzt bei der Überprüfung der angegebenen Datei ersichtlich sein, dass das rewrite-Modul als letztes geladen wurde.


LoadModule setenvif_module /usr/lib/apache2-prefork/mod_setenvif.so
LoadModule ssl_module /usr/lib/apache2-prefork/mod_ssl.so
LoadModule suexec_module /usr/lib/apache2-prefork/mod_suexec.so
LoadModule userdir_module /usr/lib/apache2-prefork/mod_userdir.so
LoadModule php5_module /usr/lib/apache2/libphp5.so

LoadModule rewrite_module /usr/lib/apache2-prefork/mod_rewrite.so

Ist mod_rewrite aufgeführt, dann ist das Modul richtig geladen.

KategorienIT Tags: , ,
Post ausdrucken Post ausdrucken
Rss Feed Tweeter button Facebook button