Backstage - upload
Sie Sie auf den anderen Seiten hier vielleicht schon gelesen haben, pflege ich die Webseite komplett lokal als "diskbased" Web. Die Server, die Sie aus dem Internet untern den verschiedenen URLs ansprechend, laufen unter Linux auf Basis von Apache Webservern und liefern die durchweg statischen HTML-Seiten aus. Also muss ich zusehen, dass die lokal geänderte Webseiten möglichst zeitnah auf alle Server hochgeladen werden.
Einschränkungen von FP/ES und SPD
Der Sharepoint Designer, den ich aktuell einsetze, kann natürlich auch eine Webseite per FTP hochladen. Leider kann ich dabei aber weder die Anmeldenamen noch die Kennworte speichern. Zumindest die Anmeldenamen könnte das System speichern.
Ich habe mittlerweile auch einen Weg gefunden, per VBA den upload zu starten und dabei sogar die Zugangsdaten zu übergeben. Aber das allein löst das Problem dennoch nicht. Viel schwerwiegender ist das Problem, dass das Programm den upload entweder durch einen langwierigen Vergleich von Ziel und Quellweb starten, um die geänderten Dateien hochzuladen oder dies über den Zeitstempel machen. Hier ist aber das Problem, dass nicht jeder FTP-Server die "richtigen" Zeitstempel liefert.
Zudem beachtet die Microsoft Software nicht die Groß/Kleinschreibung und hat Probleme mit Dateien wie ".htaccess". Sie werden nicht hochgeladen, aber wenn der Server diese Datei nicht versteckt, würde Sie sogar gelöscht werden. Letztlich habe ich nach einigen Versuchen nach Alternativen gesucht und bin fündig geworden.
SyncBack
Schon mehrere Jahre nutze ich das Programm SyncBack von 2BrightSparks, um meine Festplatten und Verzeichnisstrukturen zu "synchronisieren". SyncBack hat dabei den Vorteil, dass es sich in einer Datenbank den zuletzt replizierten Stand von Quelle und Ziel merkt. Starte ich nun eine weitere Synchronisierung, dann muss SyncBack nicht Quelle und Ziel miteinander vergleicht sondern vergleicht meine lokale Quelle mit der dazu gehörigen Datenbank und erkennt so, welche Dateien hinzu gekommen, geändert oder gelöscht wurden. Genau diese Änderungen werden dann auf dem entfernten FTP-Server nachgezogen. Hier sehen Sie eine Textbeschreibung eines Profils zum upload der Dateien.
Als nächsten kann ich dann für jeden FTP-Server ein entsprechendes Profil anlegen und dieses sogar in einer Gruppe zusammen fassen:
Durch einen einzigen Mausklick erfolgt dann ein paralleler upload auf alle Webseiten. Bislang ist dies ein sehr effektiver Weg, die geänderten Seiten zu veröffentlichen, Systemordner auszulassen und lokal gelöschte Dateien auch auf dem Zielserver zuverlässig zu löschen.
Ausschlussliste
Sharepoint Designer legt lokal auf in dem Verzeichnis auch seine Verwaltungsinformationen ab, die natürlich nicht auf die Webseite hochgeladen werden sollen. Sie erkennen diese Verzeichnisse anhand des "_" im Namen.
Insbesondere im Verzeichnis "_vti_pvt" speichert Frontpage/Sharepoint die Verlinkungen und Sitemap. So kann ich einfach eine Seite umbenennen und Sharepoint Designer korrigiert alle Verknüpfungen. Diese Daten haben aber gar nichts in einem "öffentlichen Bereich" zu suchen, vor allem wenn man nie sicher sein, kann wer nicht doch diesen Bereich betrachten kann (Siehe msxfaq.org-hack). D.h. auch eine nicht verknüpfte Seite ist nur sicher, wenn sie nicht veröffentlicht ist. Daher nutze ich die "File Filter" von SyncBack, um einfach diese Verzeichnisse auszuschließen:
Da SyncBack die Verzeichnisse und Dateien auch im Ziel ignoriert, kann ich so einfach auch Elemente des Providers (z.B. die .htaccess) so von einer Replikation oder Löschung ausnehmen.
Sicherheit = Verschlüsselung und Vergleich
Da ich meine Webseiten lokal generiere und dann auf den Webserver lade und nicht direkt auf dem Server editiere (wie das bei Wordpress und anderen Systemen der Fall wäre), muss ich mich natürlich auch daran orientieren, was meine Provider anbieten. Denn ich kann ja nicht immer sicherstellen, dass auf dem Kabel oder dem Luftweg nicht jemand doch mitschneidet. Sei es im Hotel, im ICE, bei Kunden o.ä.. Es ist heute sehr einfach mit Programmen wie Cain und Abel (www.oxid.it) gezielt nach Anmeldungen zu schnüffeln. Insofern muss man ein sicheres Kennwortverfahren verwenden oder gleich die komplette Verbindung verschlüsseln.
- FTP (Port 21)
Der klassische Weg, den alle Provider anbieten. Leider auch der unsicherste und wird von mir daher nicht genutzt. - FTPS (Port 21)
Hierbei wird FTP in SSL getunnelt. Eigentlich problemlos nur leider nicht von allen Providern angeboten. Analog zu SMTP wird dabei erst mal "Klartext" gestartet und dann per Befehl auf SSL/TLS umgeschaltet.
- SFTP (Port 22)
Hierbei wird genau genommen eine SSL-Shell (SSH) geöffnet und über den Transport dann FTP gemacht.
- HTTP (WebDav)
Schon ganz früh hat Microsoft mit "Frontpage" diesen Weg genutzt um direkt auf dem Server zu editieren oder Dateien zu übertragen. Mittlerweile ist es ein Standard, der auch über HTTP-Proxies gut funktioniert und damit FTP ablösen könnte. Viele Provider bieten den Zugriff per WebDav unter dem Port 81 an, aber leider immer nur unverschlüsselt und mit BasicAuth. Schade eigentlich.
Hinweis:
Auch unverschlüsselte Verbindungen sind nicht
automatisch unsicher. Zwar kann man dann die
übertragenen Daten mitlesen aber es gibt ja
durchaus sichere Kennwortverfahren. Leider
nutzen die Provider aber alle "BasicAuth" zur
Anmeldung und da sind die Anmeldedaten nur
Base64 codiert aber nicht verschlüsselt. Bei
WebDAV gibt es sogar explizit Anleitungen, wie
man Windows dazu bringt, BasicAUTH für WebDav zu
nutzen. Denn es ist per Default abgeschaltet.
Sie sehen, dass auch die Provider kein einheitliches Bild abgeben:
Provider | FTP | SFTP | FTPS | WebDav HTTP | WebDav HTTPS |
---|---|---|---|---|---|
Sicherheit | Unsicher Klartext(1) | SSL über SSH | SSL mit TLS | Unsicher(1) | WebDav HTTPS |
1und1 |
Ja |
Ja (nur mit Linux Paketen) |
Ja (nur mit Windows Paketen) |
Ja über Port 81 |
Nein (?) |
HostEurope |
Ja |
Nein |
Ja, Explizit TLS |
Ja,
Einrichtung
erforderlich |
Ja,
Einrichtung
erforderlich |
1blu |
Ja |
Ja |
Ja |
Ja über Port 81 |
Nicht für Webhosting |
Hier noch ein paar Links
- SFTP als Schutz gegen
Netzwerk-Sniffer
http://www.meinhosting.de/technik/sftp-als-schutz-gegen-netzwerk-sniffer-98.html - Wie kann ich in den Paketen
1blu-Homepage unlimited und unlimited XXL eine
SFTP-Verbindung aufbauen?
http://faq.1blu.de/content/476/214/de/wie-kann-ich-in-den-paketen-1blu_homepage-unlimited-und-unlimited-xxl-eine-sftp_verbindung-aufbauen.html - 1blu:WebDAV - Wie kann ich
mich via WebDAV mit meinem
Webspace verbinden?
(1blu-Homepage unlimitedXXL und
1blu-PerformancePacks)
http://faq.1blu.de/content/493/290/de/webdav-_-wie-kann-ich-mich-via-webdav-mit-meinem-webspace-verbinden-1blu_homepage-unlimitedxxl-und-1blu_performancepacks.html - 1blu:Wie kann ich in den
Paketen 1blu-Homepage unlimited und unlimited XXL eine
SFTP-Verbindung aufbauen?
http://faq.1blu.de/content/476/214/de/wie-kann-ich-in-den-paketen-1blu_homepage-unlimited-und-unlimited-xxl-eine-sftp_verbindung-aufbauen.html - 1blu: Welchen Benutzernamen
verwende ich beim SSH Zugang in
den Paketen 1blu-Homepage unlimited und 1blu-Homepage unlimited XXL?
http://faq.1blu.de/content/495/169/de/welchen-benutzernamen-verwende-ich-beim-ssh-zugang-in-den-paketen-1blu_homepage-unlimited-und-1blu_homepage-unlimited-xxl.html - 1und1: Per SFTP mit Server (Webspace)
verbinden
http://hilfe-center.1und1.de/vertrag-und-rechnung-c82631/webhosting-c82784/passwoerter-und-zugaenge-c82786/per-sftp-mit-server-webspace-verbinden-a788247.html - WebDAV unter Windows Vista /
Windows 7 einrichten
http://hilfe-center.1und1.de/vertrag-und-rechnung-c82631/webhosting-c82784/passwoerter-und-zugaenge-c82786/webdav--unter-windows-vista--windows-7-einrichten-a788246.html
Ich möchte aber nicht Basic zulassen, wenn schon kein SSL angeboten wird. ! - HostEurope: Wie kann ich
meine Daten per FTP
verschlüsselt übertragen?
http://faq.hosteurope.de/view.php?mode=drucken&content_id=4423 - HostEurope: Wie richte ich
WebDAV ein?
http://faq.hosteurope.de/index.php?cpid=18446&in_object=2&searchword=verzeichnis
Da nicht alle Provider das gleiche Verfahren anbieten, muss ich natürlich je Synchronisationsprofil dann in SyncBack das richtige auswählen. Einmal eben SFTP (Port 22) und das andere mal FTP aber mit der Option "Encrypt the communication channel".
Auf meinen Hinweis wurde übrigens die Option "Do not Fallback" aktiviert, damit die verwendete Library bei einem Fehler nicht unbemerkt auf unverschlüsselt zurück fällt.
SyncBack erweitert
Wie sie an den Profilen schon sehen können, nutze ich SyncBack nicht nur für den upload meiner Webseite per FTP auf drei Webserver. SyncBack kann noch viel mehr z.B.
- Backup meines Homeverzeichnisses auf den Server
Meine privaten Daten liegen auf meinem Notebook. Der ist aber ja "Verlust- und Defektgefährdet". Ein Profil sorgt daher dafür, dass die Daten immer mal wieder auf den Server kopiert werden (Fast Backup). Ich könnte hier sogar SyncBack anweisen, Änderungen nicht zu überschreiben, sondern eine neue Version anzulegen. - Synchronisation des Homeverzeichnisses zuhause
Mit dem Server in der Mitte kann ich auch auf dem zweiten PC einfach das gleiche Home-Verzeichnis "synchron" halten. Änderungen werden sauber erkannt und unlösbare Konflikte mir vorgelegt
BTW: Der "Server" kann auch einfach eine NAS oder USB-Festplatte sein. !! SyncBack kann bei einer USB-Platte sogar den "EinsteckEvent" erkennen und sofort los laufen. - Kundenverzeichnisse mitnehmen
Auf dem Firmenserver gibt es natürlich auch einen Verzeichnisbaum mit Kunden und den Inhalten. Auch hier läuft ein SmartSync, so dass ich unterwegs lokal Änderungen durchführen kann und diese dann beim nächsten Office-Termin wieder repliziere. Hier lasse ich SyncBack die Änderungen anzeigen. So bleibe ich auch informiert, bei welchen anderen meiner Kunden andere Personen etwas ändern. (z.B. Angebote schreiben etc.) - Installationsquellen abgleichen
Zudem habe ich eine 500GB Festplatte, auf der die häufigsten Installationsquellen und Servicepacks mitgeführt werden. Auch hier nutze ich dann die USB-Platte mit meinem Notebook um diese mit dem Server abzugleichen. Dank "SmartSync" kann ich auch hier offline Änderungen machen und meine Kollegen können ebenfalls etwas ändern, was SyncBack dann zusammen führt. Nur echte Konflikte werden mir dann noch gemeldet (eigentlich nie der Fall)
So ist es recht einfach möglich verschiedene Verzeichnisse auch über "intermediate Stores" synchon zu halten. Genau genommen kann man sogar zwei PCs über einen öffentlich erreichbaren FTP-Server als "austauschplatz" synchron halten. Neugierig geworden ?
Weitere Links
- Homepage von SyncBack
www.2brightsparks.com -
Filesync
Weitere Optionen zum Abgleich von Verzeichnissen