localhost https mit ssl auf dem Mac

Für Webprojekte ist https mittlerweile Standard.

Um möglichst nahe an der Produktionsumgebung zu sein, sollte die lokale Entwicklungsumgebung ebenfalls ssl verwenden.

Folgende Schritte sind unter Mac OS X notwendig.

Zertifikat erstellen

Die Schlüsselbundverwaltung öffnen. ‘Zertifikat erstellen…’ auswählen.

Schluesselbundverwaltung

Im Zertifikatsassistent die Felder ausfüllen.

Name: localhost

Identitätstyp: Root, selbst-signiert

Zertifikatstyp: SSL-Server

Auf ‘Erstellen’ klicken.

Zertifikat erstellen

Mac OS X gibt einen Hinweis auf die Unsicherheit solcher selbsterstellten Zertifikate.

sicherheitshinweis

Auf ‘Fortfahren’ klicken. Das neue Zertifikat wird angezeigt.

zertifikat

Zertifikat vertrauen

Dem erstellten Zertifikat muss nun noch vertraut werden.

Zertifikat in der Schlüsselbundverwaltung suchen und mit Doppelklick öffnen.

schluesselbundverwaltung-localhost

In den Zertifikatsinformationen den Abschnitt ‘Vertrauen’ öffnen. Bei ‘Secure Sockets Layer (SSL)’ auf ‘Immer vertrauen’ wechseln.

ssl-immer-vertrauen

Die Änderung mit Passworteingabe übernehmen.

Zertifikat benutzen

Den privaten Schüssel exportieren.

In der Schlüsselbundverwaltung mittels ctrl+click den privaten Schlüssel im Personal Information Exchange Format (.p12) exportieren.
privater-schluessel-export

privaten-schluessel-exportieren

Kein Passwort angeben.

Den Export mit Passwort erlauben.

Das Zertifikat in PEM umwandeln. PEM ist ein Containerformat, das sowohl das Zertifikat als auch den privaten Schlüssel enthält.

Umwandlung mittels dem Program openssl.

Im Terminal in das Verzeichnis mit dem exportierten Schlüssel wechslen.

cd ~/Documents
openssl pkcs12 -in Zertifikate.p12 -out Certificates.pem -nodes

Da kein Passwort angegeben wurde, kann die Passwortaufforderung mit einem Enter bestätigt werden.

Enter Import Password:
MAC verified OK

Die Datei Certificates.pem wurde im gleichen Verzeichnis erstellt.

Diese Datei ist ein Textdatei und kann dementsprechend auch bearbeitet werden.

Die meisten Webserver verwenden zwei separate Dateien.

Eine mit dem privaten Schlüssel (key) und eine mit dem Zertifikat (cert).

Die zwei Dateien erstellen und den entsprechenden Teil aus Certificate.pem einfügen.

Zum Beispiel unterhalb vom User ein Verzeichnis ‘localhost-ssl’ anlegen mit den Dateien key.pem und cert.pem.

In key.pem den Inhalt von Certificate.pem aus dem Abschnitt ‘—BEGIN PRIVATE KEY—‘ bis ‘—END PRIVATE KEY—‘ einfügen.

Beispiel Inhalt key.pem

-----BEGIN PRIVATE KEY-----
hier Inhalt aus Certificate.pem einfügen
-----END PRIVATE KEY-----

In cert.pem den Inhalt von Certificate.pem aus dem Abschnitt ‘—–BEGIN CERTIFICATE—–‘ bis ‘—–END CERTIFICATE—–‘ einfügen.

Beispiel Inhalt cert.pem

-----BEGIN CERTIFICATE-----
hier Inhalt aus Certificate.pem einfügen
-----END CERTIFICATE-----

Das war’s. Beide Dateien können jetzt beim Start des lokalen Webservers für https verwendet werden.


Sunspot Reindex And Devise

Your rails app is using Sunspot for fulltext search and Devise for authentication.

You add a field to the searchable block of a model.

How do you reindex solr as the app is protected by devise?

Start the rails console.

>ApplicationController.allow_forgery_protection = false
>app.post('/users/sign_in', {"user[email]" => "emailaddressgoeshere",'user[password]' => 'passwordgoeshere'})
>Modelname.reindex
>Sunspot.commit


Alles Gute zum 13.Geburtstag, Jakob!

Alles Gute zum 13.Geburtstag, Jakob!
Schöner Tag im Kletterpark in Kandel.
Leckerer Abschluss in der Denkfabrik.
https://farm5.staticflickr.com/4164/34108457390_67d35ff051.jpg


Alles Gute zum 10.Geburtstag, Laurenz!

Wie jedes Jahr großes Feuerwerk zum Geburtstag. Kräftig geböllert mit Unmengen an China-Böllern, wieder zuhause, mit Kindersekt angestoßen.
Bis tief in den neuen Tag noch das neue PS4 Spiel gezockt.
IMG_8666


Notice To Myself: Replace Whitespace With One Space Using sed on Mac OS X

In order to remove whitespace produced by lsof output you need to trim it with sed.

sed -E ‘s/[[:space:]]+/ /g’

Watch for the uppercase -E and [[:space:]]


Alles Gute zum 12.Geburtstag, Jakob!

Alles Gute zum 12.Geburtstag, Jakob!

Schöner Ausflug nach Tripsdrill.
Den ganzen Tag dort verbracht und das alternativlose Smartphone gab es auch.
Alle Achterbahnen durchgezogen, das Highlight war die ‘Karacho’.

IMG_7629


Bootstrap Overrides And Mixins With Middleman

When it comes to prototyping for a web application I prefer a static website generator called Middleman.

Middleman is based on ruby and was recently updated to v4.

If your web application relies on Twitters Bootstrap framework integration is not straightforward.

Middleman is based on Sass where Bootstrap is based on Less (v4 will be based on Sass).

There is a Bootstrap Sass port available so this is the gem for Middleman

gem ‘bootstrap-sass’, ‘~> 3.3.6′

Bootstrap requires jquery so put that in the javascripts directory.

In the stylesheets directory edit the sites.css.scss file

// “bootstrap-sprockets” must be imported before “bootstrap” and “bootstrap/variables”
@import “bootstrap-sprockets”;
@import “bootstrap”;

Now you have a working bootstrap environment

But what about customizing? Bootstrap variables and mixins?

Create a stylesheet file bootstrap_and_overrides.scss in the stylesheets directory

Place the overrides in this file like

$body-bg: #f8f8f8;
$text-color: #808080;

Import the file in your sites.css.css

// “bootstrap-sprockets” must be imported before “bootstrap” and “bootstrap/variables”
@import “bootstrap-sprockets”;
// import bootstrap_and_overrides before bootstrap
@import “bootstrap_and_overrides”;
@import “bootstrap”;


Alles Gute zum 9. Geburtstag, Laurenz!

Kräftig selbst geböllert und mit Kindersekt angestoßen.

Geschenke ausgepackt…das langersehnte Minecraft…und passender Spielekonsole.

IMG_7155


Alles Gute zum 11. Geburtstag, Jakob!

Alles Gute zum 11. Geburtstag, Jakob!
Verspäteter Geburtstagseintrag, dafür ging es gestern mit GPS auf Geocaching Tour.
Gefolgt vom obligatorischen Stockbrotgrillen im Garten.
IMG_5870


Notice To Myself: Show All Processes Listening On TCP Ports (Mac OS X)

Sometimes you need to know what processes listen on tcp ports.

sudo lsof -i TCP | grep LISTEN