Aktuelle Position der Alex II

Featured

Dank modernster Technik kann ich jetzt stündlich die Position der „Alexander von Humboldt II“ aktualisieren und auf einer Karte darstellen – und zwar auch mitten auf dem Ozean, fernab der Reichweite aller (landgestützen) Systeme, die ich bisher zur Verfügung hatte .

Die Wetterdaten (Temperatur, Luftdruck, Wind) werden stündlich für die gemeldete Position von openweathermap abgerufen und in die Karte eingearbeitet; die letzten Positionen sind als rote Linie sichtbar. Über die Schaltfläche oben rechts kann die Kartendarstellung verändert werden.

Mit Sicherheit: Umstellung auf https

SSL ist in aller Munde, gesichert aufrufbare Seiten bekommen Pluspunkte beim Ranking – Grund genug, sich mal näher mit der Materie zu beschäftigen.

Alles fängt damit an, dass man ein gültiges SSL-Zertifikat hat… Über meinen Hoster konnte ich mir ein selbst signiertes Zertifikat ausstellen – das bringt aber nur wenig, weil es vom Browser erstmal nicht automatisch anerkannt wird. Wie denn auch, schließlich ist die Sicherheit ja nicht durch irgendeine anerkannte Instanz bestätigt.

Zum Glück gibt es im Internet ja auch Anbieter, bei denen man gültige Zertifikate für kleines Geld bekommt; von den kostenlosen Zertifikaten von StartSSL bin ich wieder abgerückt, nachdem ich diesen Artikel gelesen hatte. Schließlich soll das ja erstmal nur ein Test sein, da möchte ich nicht im Zweifel gleich Kosten an der Backe haben, wenn ich mich dann doch gegen SSL entscheide.

Eine kurze Recherche brachte mich dann zu cheapsslshop.com: die verkaufen nicht nur die (hauseigenen) Zertifikate von Comodo für wesentlich weniger Geld als Comodo selbst , sondern auch Zertifikate anderer Anbieter (Thawte, GlobalSign, …). Im Zweifel kann man da also auch für den professionellen Einsatz fündig werden und seiner Website eine grüne Adresszeile spendieren. Soviel brauche ich aber nicht, mir reicht eine einfache Bestätigung. Bezahlung klappt mit Paypal, es gibt eine 30-tägige Testphase innerhalb derer man komplett vom Kauf zurücktreten kann und das Zertifikat selbst kam innerhalb von ein paar Minuten per Mail – mit Installation auf dem Server hat es nicht mal eine halbe Stunde gedauert, bis die Seite grundsätzlich auch via https erreichbar war. Wiedermal war ich froh, cPanel als Backend zur Administration zu haben und nicht auf eine Provider-spezifische Lösung angewiesen zu sein: mit ein paar Klicks ist die Anforderung (CSR) erzeugt, mit ein paar weiteren Klicks ist das fertige Zertifikat dann installiert.

Update:
Seit dem Umzug zu WebhostOne habe ich zwar kein cPanel mehr zur Verfügung, dafür aber die Möglichkeit, ein kostenloses Zertifikat von Let’s Encrypt einzubinden.

Das ist ja aber leider erst die halbe Miete, WordPress erfordert ja auch noch ein paar Einstellungen bevor es wirklich komplett und ausschließlich über gesicherte Verbindungen arbeitet:

  • interne Links unabhängig vom Protokoll
    Als erste Maßnahme wurden sämtliche internen Links in den Widgets und Theme-Dateien/-Einstellungen vom Protokollaufruf befreit: statt

    http://mysite.net/

     steht jetzt nur noch

    //mysite.net/

     im Code – somit kann diese Ressource gesichert oder ungesichert aufgerufen werden, ohne dass der Browser eine Fehlermeldung wegen gemischter Inhalte auswirft.

  • http auf https umleiten
    Das erfordert ein paar zusätzliche Zeilen in der .htaccess. Bei der Gelegenheit fällt auf, dass jede Menge Einträge zum Caching in der Datei stehen, die allesamt noch mit ungesicherter Verbindung arbeiten – also erstmal das Caching-Plugin deaktivieren, damit diese ganzen Regeln verschwinden. Wenn alle Einstellungen auf https gesetzt sind, wird Caching wieder aktiviert und schreibt dann automatisch die gesicherten Rewrite Rules.
    Damit Besucher und Suchmaschinen sich auch den neuen gesicherten Aufruf merken, bekommen sie gleiche einen Returncode 301 (permanent redirect) mitgeliefert; beim nächsten Besuch sollte dann direkt die gesicherte Seite aufgerufen werden.

    # BEGIN redirect all to https
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    # END redirect all to https
  • URLs in der Datenbank umstellen
    WordPress speichert etliche URLs in der Datenbank, natürlich komplett mit Protokoll – die sollte man ebenfalls von http:// auf https:// umstellen, um sich unerwartete Probleme an anderen Stellen zu ersparen.
    Dazu habe ich im Web drei passende SQL-Anweisungen gefunden, die man nach einer Sicherung (!!) einfach über die eigene Datenbank laufen lassen kann:

    UPDATE wp_posts SET guid = replace(guid, 'http://www.site.com','https://www.site.com');
    UPDATE wp_posts SET post_content = replace(post_content, 'http://www.site.com', 'https://www.site.com');
    UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://www.site.com', 'https://www.site.com');

    Und ein praktisches Beispiel, warum man das tun sollte habe ich auch: Wie schon an anderer Stelle geschrieben habe ich auch die Titelbilder hier im Blog responsive gemacht. Das ging aber nur mit einem kleinen Trick, ich mußte aus der Bild-URL die ID in der Datenbank bestimmen. Genau an der Stelle wird es problematisch, wenn WP eine https:// URL vorgibt und in der Datenbank nur http:// steht – auf einmal ist das Titelbild weg

  • WordPress umstellen
    Zu guter Letzt werden in den allgemeinen Einstellungen noch die URLs (WordPress-Adresse und Website-Adresse) auf https geändert.
    Wer mag, kann auf jeden Fall eine gesicherte Verbindung für die Administration erzwingen, indem er folgende Zeile in die wp-config.php (irgendwo vor /* That's all, stop editing!) einfügt:
    [php]define(‚FORCE_SSL_ADMIN‘, true);[/php]

Im Idealfall läuft jetzt alles korrekt – falls nicht, muss man sich auf Fehlersuche machen ;-).
Manchmal hilft schon ein Blick in den Quellcode der Seite, um die letzten http:// Aufrufe zu finden….

ownCloud

ownCloud 6 ist da

Zum Einsatz von ownCloud habe ich ja hier und hier schon etwas geschrieben – jetzt ist ownCloud in Version 6 erschienen und kommt natürlich auch gleich auf den Prüfstand.
Meine Erkenntnisse werde ich nach und nach hier zusammentragen.
Noch ein Satz vorweg: ich habe OC6 auf einem ganz normalen Webhosting Paket bei HostEurope installiert – manche meiner Beobachtungen könnten damit zusammenhängen und folglich bei anderen Providern/Servern nicht auftreten.

Installation

Man kann leider immer noch kein Tabellenpräfix vorgeben, die Installation erfolgt standardmäßig mit oc_. Vorsicht also, wenn man die neue Version in die alte Datenbank installieren will – das dürfte ziemlich in die Hose gehen, jedenfalls wenn man keine aktuelle Sicherung der Datenbank parat hat.

Ich habe direkt nach der Installation alle Tabellen manuell (in phpMyAdmin) umbenannt:

[code lang=“sql“ gutter=“0″ collapse=“true“ title=“SQL-Befehle…“]RENAME TABLE `meineDB`.`oc_activity` TO `meineDB`.`abcde_activity`;
RENAME TABLE `meineDB`.`oc_appconfig` TO `meineDB`.`abcde_appconfig`;
RENAME TABLE `meineDB`.`oc_clndr_calendars` TO `meineDB`.`abcde_clndr_calendars`;
RENAME TABLE `meineDB`.`oc_clndr_objects` TO `meineDB`.`abcde_clndr_objects`;
RENAME TABLE `meineDB`.`oc_clndr_repeat` TO `meineDB`.`abcde_clndr_repeat`;
RENAME TABLE `meineDB`.`oc_clndr_share_calendar` TO `meineDB`.`abcde_clndr_share_calendar`;
RENAME TABLE `meineDB`.`oc_clndr_share_event` TO `meineDB`.`abcde_clndr_share_event`;
RENAME TABLE `meineDB`.`oc_contacts_addressbooks` TO `meineDB`.`abcde_contacts_addressbooks`;
RENAME TABLE `meineDB`.`oc_contacts_cards` TO `meineDB`.`abcde_contacts_cards`;
RENAME TABLE `meineDB`.`oc_contacts_cards_properties` TO `meineDB`.`abcde_contacts_cards_properties`;
RENAME TABLE `meineDB`.`oc_documents_invite` TO `meineDB`.`abcde_documents_invite`;
RENAME TABLE `meineDB`.`oc_documents_member` TO `meineDB`.`abcde_documents_member`;
RENAME TABLE `meineDB`.`oc_documents_op` TO `meineDB`.`abcde_documents_op`;
RENAME TABLE `meineDB`.`oc_documents_revisions` TO `meineDB`.`abcde_documents_revisions`;
RENAME TABLE `meineDB`.`oc_documents_session` TO `meineDB`.`abcde_documents_session`;
RENAME TABLE `meineDB`.`oc_filecache` TO `meineDB`.`abcde_filecache`;
RENAME TABLE `meineDB`.`oc_files_trash` TO `meineDB`.`abcde_files_trash`;
RENAME TABLE `meineDB`.`oc_files_trashsize` TO `meineDB`.`abcde_files_trashsize`;
RENAME TABLE `meineDB`.`oc_files_versions` TO `meineDB`.`abcde_files_versions`;
RENAME TABLE `meineDB`.`oc_file_map` TO `meineDB`.`abcde_file_map`;
RENAME TABLE `meineDB`.`oc_gallery_sharing` TO `meineDB`.`abcde_gallery_sharing`;
RENAME TABLE `meineDB`.`oc_groups` TO `meineDB`.`abcde_groups`;
RENAME TABLE `meineDB`.`oc_group_admin` TO `meineDB`.`abcde_group_admin`;
RENAME TABLE `meineDB`.`oc_group_user` TO `meineDB`.`abcde_group_user`;
RENAME TABLE `meineDB`.`oc_jobs` TO `meineDB`.`abcde_jobs`;
RENAME TABLE `meineDB`.`oc_locks` TO `meineDB`.`abcde_locks`;
RENAME TABLE `meineDB`.`oc_lucene_status` TO `meineDB`.`abcde_lucene_status`;
RENAME TABLE `meineDB`.`oc_mimetypes` TO `meineDB`.`abcde_mimetypes`;
RENAME TABLE `meineDB`.`oc_mozilla_sync_collections` TO `meineDB`.`abcde_mozilla_sync_collections`;
RENAME TABLE `meineDB`.`oc_mozilla_sync_users` TO `meineDB`.`abcde_mozilla_sync_users`;
RENAME TABLE `meineDB`.`oc_mozilla_sync_wbo` TO `meineDB`.`abcde_mozilla_sync_wbo`;
RENAME TABLE `meineDB`.`oc_permissions` TO `meineDB`.`abcde_permissions`;
RENAME TABLE `meineDB`.`oc_pictures_images_cache` TO `meineDB`.`abcde_pictures_images_cache`;
RENAME TABLE `meineDB`.`oc_preferences` TO `meineDB`.`abcde_preferences`;
RENAME TABLE `meineDB`.`oc_privatedata` TO `meineDB`.`abcde_privatedata`;
RENAME TABLE `meineDB`.`oc_properties` TO `meineDB`.`abcde_properties`;
RENAME TABLE `meineDB`.`oc_share` TO `meineDB`.`abcde_share`;
RENAME TABLE `meineDB`.`oc_storages` TO `meineDB`.`abcde_storages`;
RENAME TABLE `meineDB`.`oc_users` TO `meineDB`.`abcde_users`;
RENAME TABLE `meineDB`.`oc_vcategory` TO `meineDB`.`abcde_vcategory`;
RENAME TABLE `meineDB`.`oc_vcategory_to_object` TO `meineDB`.`abcde_vcategory_to_object`;
[/code]

und anschließend noch in der config/config.php das neue Präfix eingetragen:

[sourcecode lang=“php“ highlight=“10″ toolbar=“false“]
<?php
$CONFIG = array (
‚instanceid‘ => ‚…‘,
‚passwordsalt‘ => ‚…‘,
‚datadirectory‘ => ‚/home/www/htdocs/owncloud/data‘,
‚dbtype‘ => ‚mysql‘,
‚version‘ => ‚6.0.0.13‘,
‚dbname‘ => ‚cloud_oc6‘,
‚dbhost‘ => ‚localhost‘,
‚dbtableprefix‘ => ‚abcde_‘,
‚dbuser‘ => ‚johndoe‘,
‚dbpassword‘ => ‚mypassword‘,
‚installed‘ => true,
);[/sourcecode]

SSL-Proxy

Wer kein eigenes SSL-Zertifikat besitzt, kann ownCloud auch über einen SSL-Proxy seines Providers benutzen – bei der Einrichtung hat sich mit dem Versionswechsel nichts geändert, die config.php muss wie gehabt um ein paar Parameter erweitert werden. Die Angaben im Beispiel unten sind von HostEurope; wer woanders hostet muss entsprechend die Adressen seines Providers eintragen.

[code lang=“php“ toolbar=“false“ gutter=“false“ highlight=“4,5,6,7″]<?php
$CONFIG = array (

‚overwritehost‘ => ’ssl.webpack.de‘,
‚overwriteprotocol‘ => ‚https‘,
‚overwritewebroot‘ => ‚/meinedomain/owncloud‘,
‚overwritecondaddr‘ => ‚^10\.30\.7\.1(?:37|38|39|40)$‘,
);[/code]

Die Cloud wird über den SSL-Proxy mit folgender Adresse aufgerufen:
https: //ssl.webpack.de/meinedomain/owncloud
(also overwriteprotocol + overwritehost + overwritewebroot).

Achtung: im ersten Anlauf konnte ich mit dem neuen Desktopclient (1.5.0) in dieser Konstellation (OC6 mit SSL-Proxy) mein eingebundenes S3-Verzeichnis (s.u.) nicht synchronisieren. :o Der Grund ist mir noch nicht ganz klar, aber die Fehlermeldung läßt Schlimmes vermuten: „CSync konnte sich nicht über einen Proxy verbinden. 500 Internal Server Error“.
Im zweiten Anlauf scheint es eher an OC6 als am Client zu liegen, denn mit der vorherigen Version 1.4.2 kommt die gleiche Fehlermeldung.

Mit ownCloud 6.0.0a und dem Desktop Client 1.5.0 funktioniert es jetzt – bis auf ein bekanntes Problem: Dateien mit Pluszeichen (+) im Namen werden nicht synchronisiert.

S3-Anbindung

Im Backend kann man jetzt wesentlich mehr Parameter für eine S3-Verbindung eingeben, unter anderem auch einen eigenen Hostnamen wie z.B. cs.hosteurope.de. Damit werden die Updates wieder einfacher, weil ich endlich nicht mehr in jeder neue Version die entsprechenden Dateien manuell patchen muss. :hurra:

Ob der Bucketname jetzt auch Punkte akzeptiert (bei Amazon selber geht das nicht, bei Hosteurope ist das kein Problem) habe ich nicht getestet, weil es mich im Moment nicht interessiert.

oc6_S3interface

Bilder werden nicht angezeigt

Auch kein neues Problem: Nicht alle Fotos aus meinem eingebundenen S3-Verzeichnis werden in ownCloud auch als Bilder angezeigt; in der Tabelle oc_filecache landen sie mit „falschem“ MIME-Typ. Mit dem Versionswechsel haben sich allerdings auch die mimetypes geändert, so dass die Einträge in der Tabelle jetzt wie folgt aktualisiert werden können:

[code lang=“sql“ gutter=“0″ toolbar=“false“]UPDATE ‚oc_filecache‘ set mimetype=6, mimepart=5 WHERE name like ‚%.jpg‘ and mimetype&amp;lt;&amp;gt;6[/code]

Auch das ist mit der 6.0.0a – zumindest bei mir – behoben.

Sonderzeichen in Dateinamen

Wie oben schon angerissen: Pluszeichen in Dateinamen führen dazu, dass die Datei nicht synchronisiert wird. Man kann zwar im Browser eine Datei mit Pluszeichen im Namen neu erzeugen, die dann sogar vom Sync-Client heruntergeldean wird (!!) – aber anschließend kommt beim nächsten Sync wieder die Fehlermeldung :wallbash:
Die guten deutschen Umlaute scheinen die Weboberfläche zu irritieren: der angezeigte Dateiname wird vor dem Umlaut abgeschnitten; in der Datenbank steht der komplette Name incl. Umlaut. Statt Ina Müller.mp3 wird einfach nur Ina M angezeigt, ohne Dateityp und ohne Icon.

(Fortsetzung folgt…)

Bye-Bye, Sugarsync

Man kann sicherlich endlos lange darüber diskutieren, ob und welche Dienstleistungen im Internet kostenlos verfügbar sein sollten – ich gebe zu, dass ich im privaten Gebrauch eher zu kostenlosen Angeboten tendiere (wohl wissend, dass ich dort oft auch selbst die Ware bin und nicht der Kunde).

Wenn dann ein kostenloses Angebot auf einmal kostenpflichtig wird, trennen sich unsere Wege – die im Preis enthaltenen tollen Zusatzfeatures sind meistens an meinem persönlichen Bedarf vorbei (ansonsten hätte ich ja gar nicht erst mit der Nutzung des kostenlosen Paketes angefangen). sugarsync_upgrademailEin aktuelles Beispiel ist Sugarsync, bei denen ich seit geraumer Zeit 5 GB Cloudspeicher nutze. Mehr brauche ich nicht, von daher haben mich die größeren Pakete (ab 30 GB aufwärts) nie interessiert.

Warum also sollte ich jetzt 60 GB (kleinere Pakete werden nicht mehr angeboten) bezahlen, wo ich doch schon von den 5 GB nur knapp 3 nutze? :irre:

Auch ein noch so toller Rabatt von 75% (im ersten Jahr) wird mich nicht dazu bringen, mein Geld für etwas auszugeben, was ich in dieser Form schlicht und ergreifend nicht brauche.

Also leiste ich gern meinen kleinen Beitrag zur Rentabilisierung der Kundenstruktur bei Sugarsync und verabschiede mich, höchstwahrscheinlich auf Nimmerwiedersehen.

Zumal es ja mit ownCloud eine durchaus brauchbare Alternative gibt. Bisher hatte ich beide parallel im Einsatz, das wird sich jetzt wohl ändern.

UkeGeeks

Songsheets für Ukulele

Auch so ein endloses Thema: Im Web gibt es unendlich viele und alle sehen anders aus – man kann sich also niemals ein einigermaßen einheitliches Liederbuch zusammenstellen.

Es sei denn, man schreibt alle Songs selber nochmal ab und hübscht sie nach eigenen Vorstellungen auf, zum Beispiel mit den Griffdiagrammen….

Auf der Suche nach einem passenden Werkzeug für genau diese Aufgabe bin ich bei UkeGeeks.com gelandet – das sieht sehr vielversprechend aus. Sogar so vielversprechend, dass ich mir gleich mal die ganze Demo heruntergeladen und installiert habe; das muss ich mir unbedingt näher anschauen.

Im wesentlichen ist es eine größere JavaScript Bibliothek, die Lieder aus dem ChordPro Format (reiner Text) in ansehnliche und druckbare HTML-Seiten (auf Wunsch auch mit Griffbildern – wenn der Browser den <canvas>-Tag im CSS unterstützt) umwandelt.

Standardakkorde kann das Tool schon, für Sonderfälle kann man sich aber auch eigene Griffvarianten definieren – was will man mehr.
Hier mal ein kleines Beispiel: „Beyond the Sea“ in der Variante von UkuleleMike, vorgestellt auf Youtube. Mike verwendet zwei „Sondergriffe“: E (4447) und C#m (6444), die ich mir beide im Quelltext definiert habe.

Einfach mal anschauen: UkeGeeks Song-a-Matic Editor

Features:

  • Sopran- (GCEA) oder Bariton-Stimmung (DGBE) wird unterstützt; Notation kann umgeschaltet werden
  • Transposition +/- sechs Halbtöne
  • Griffbilder in Größe und Position anpassbar (am Seitenanfang, über dem Text, links, rechts)
  • eigene Akkorde können inkl. Fingersatz definiert werden

 

Das wird mich noch eine Weile beschäftigen…..

ownCloud

ownCloud 5 als online-Adressbuch

Zur Installation von ownCloud 5 habe ich hier schon etwas geschrieben, jetzt geht es an die Ablösung der Google-Server… :evil:

ownCloud Kontakte synchronisieren

… mit Android

carddav-sync-logoGibt es leider nicht umsonst, aber die paar Euro für Marten Gajdas CardDAV (es gibt auch eine kostenlose Version, bei der werden allerdings nicht alle Kontaktfelder synchronisiert) scheinen mir sehr gut angelegt. Einfach auf dem Handy ein neues Konto mit CardDAV angelegt, die Adresse des entsprechenden ownCloud Adressbuchs (findet man online in seiner Cloud unter Kontakte – Einstellungen, sieht in etwa so aus: eingegeben – fertig. Jetzt müssen die Kontakte nur noch diesem neuen Konto zugeordnet werden und der Synchronisierung in die eigene Cloud steht nichts mehr im Wege.

MyPhoneExplorer LogoMein Master-Adressbuch wird (aus diversen Gründen immer noch) in Outlook gepflegt; für die Synchronisierung von Outlook mit Android kommt für mich nur der geniale MyPhoneExplorer in Frage. Vor der nächsten Synchronisierung mit dem PC schnell im MPE Client am Handy eingestellt, dass Kontakte nur mit dem CardDAV Konto synchronisiert werden sollen, synchronisieren – und fertig. Alle Kontakte stehen im richtigen Konto und werden bei der nächsten Synchronisierung vom Handy nach ownCloud übertragen.

Leider unterstützt ownCloud in Version 5.0.5 noch keine Jahrestage. Die werden zwar gespeichert und bleiben auch bei Änderungen am Kontakt erhalten, aber sie werden nicht angezeigt (und können natürlich auch nicht bearbeitet werden).

… mit Thunderbird

Dazu hat Jürgen bei BITblocker.de bereits eine sehr ausführliche Anleitung geschrieben, auf die ich hier gerne verweise.

Schematisch sieht das dann bei mir wie folgt aus:

Kontakte via ownCloud synchronisierenDie Synchronisierung mit Outlook und MyPhoneExplorer passiert manuell, alles andere läuft automatisch – jegliche Änderungen werden kreuz und quer zwischen allen Geräten verteilt.