Kostenloses SSL Zertifikat mit let’s encrypt

Ihr seid die selbst-signierten Zertifikate leid und wollt endlich ein kostenloses SSL Zertifikat? Kein Problem mit Let’s Encrypt. Dies ist nun aus der geschlossenen beta raus und kann von jedem genutzt werden.  Das einzige Problem hier ist, dass die Zertifikate alle 3 Monate erneuert werden müssen. Um das zu automatisieren überlege ich mir noch was. Jetzt wird erst mal manuell eins erstellt.

Die Vorgehensweise ist eigentlich relativ einfach, ich beschreibe nur kurz den Weg für Server mit Nginx, da es dort keine automatische Installation gibt.

Als erstes muss man sich an eine Stelle auf dem Server (let’s encrypt empfiehlt ab hier die Arbeit als root) das Git Repository klonen und in den Ordner wechseln.

Seid ihr dem Ordner angekommen, kann man nun mit einem einzigen Befehl sich bei Let’s Encrypt authentifizieren bzw. registrieren und ein Zertifikat „bestellen“.

Kurz zu den Parametern. Mit certonly  werden die Zertifikate nur abgelegt und nicht installiert. Die authentifizierung findet durch --webroot  statt. Wird eine andere Art der Authentifizierung verwendet, dann muss der Webserver vorher gestoppt werden, da letsencrypt die Ports 80 und 443 benötigt. Das wollen wir natürlich im laufenden Betrieb nicht.
Mit --email  kann der Schritt der weiteren Authentifizierung übersprungen werden. Das Webroot (also da wo eure Webseite liegt), wird mit -w  bestimmt. Für jede Domain für die das Zertifikat gelten solle, wird ein -d  angehangen.

Wenn der Befehl ausgeführt wurde, werden erst mal alle Abhängigkeiten für das OS installiert. Das kann je nach Server etwas dauern. Nach der Installation stehen die Zertifikate bereit. Ihr findet diese dann unter  /etc/letsencrypt/live/www.example.com . Folgende Dateien wurden angelegt:

Um in Ajenti die Zertifikate zu verwenden, werden die oben beschriebenen Dateien unter Websites -> SSL angegeben. Unter Ports noch 443 mit SSL angeben und dann läuft eure Seite auch auf https.

Verwendet ihr nur Nginx ohne Verwaltungstools wie Ajenti, dann werden die in die Konfiguration wie folgt angegeben

Jetzt nur noch den Nginx einmal neu starten und wir sind fertig.

Falls ihr für Ajenti noch ein kombiniertes Zertifikat braucht, dann geht das so

Immer dran denken: Alle 3 Monate muss das Zertifikat erneuert werden. Das geht ganz einfach mit dem Befehl oben.

Viel Spaß mit damit!

OS X für PHP Entwickler

OS X, Du hast mich wieder!

Seit einiger Zeit war ich nur noch mit einer Windows Kiste unterwegs, doch nun war die Zeit wieder gekommen – ein neues Gerät mit OS X musste ins Haus. Die Wahl fiel auf ein Macbook Pro 13“. Ich wollte mobil sein um möglichst flexibel beim arbeiten zu sein.

In den letzten Jahren hat sich bei den Tools einiges getan und ich musste mich erst mal wieder umsehen. Habe ich vorher nur mit einem Texteditor, FTP und SVN Client  gearbeitet, kamen immer mehr Tools dazu. Angefangen bei der IDE: Phpstorm!

Phpstorm10
Phpstorm 10

Die wohl zurzeit beliebteste IDE für PHP-Entwickler. Wer sich bereits mit IDEs auseinander gesetzt hat, wird an Phpstorm nicht vorbei gekommen sein. Sie ist lange nicht so träge, wie man es von Eclipse oder Netbeans kennt, ist aber dennoch eine Java Anwendung. Es gibt eine volle Integration der wichtigsten Tools zur Versionskontrolle (SVN, Git), Codevervollständigung, Generatoren für Dateien und Klassen, Live Templates etc.
Für 30 Tage kann es kostenlos getestet werden, danach werden für das erste Jahr 89€, für das zweite 71€ und für das dritte und jedes weitere 53€ fällig. Open Source Projekte bekommen eine kostenlose Version von Jetbrains.
In einem sehr gelungenen Screencast von Jeffrey Way bei Laracasts kann man Phpstorm noch besser kennenlernen. Dort gibt es 24 kleine Videos rund um Phpstorm.

Atlassian Source Tree
Source Tree

Die Integration von Git in Phpstorm kann aber nicht in allen Fällen helfen, so gibt es auch noch ein sehr schönes anderes Tool. Atlassian hat mit Source Tree einen guten Git Client mit GUI geschaffen. Alles das, was sonst im Terminal zu akrobatischen Fingerübungen zwingt, wird einem hier abgenommen. Das Tool ist ebenso für Windows verfügbar. Man sollte schon die Grundlagen für Git kennen. Begriffe wie commit, push, fetch, pull, merge und branch sollten nicht unbekannt sein. Wer noch mehr über Git lernen will, kann das sehr gut mit dem Video Advanced Git for Developers von Lorna Mitchell auf der Laracon EU 2015.
Das beste ist, Source Tree ist kostenlos. Zum Download geht es hier lang: Atlassian Source Tree.

Wir haben jetzt eine IDE und einen Client für Git. Und was ist, wenn mal schnell eine Datei editiert werden muss, ohne das man die IDE dafür aufmachen will? Dann kommt Sublime Text 3 zum Einsatz. Sublime Text kostet $70, kann aber auch ohne zeitliche Begrenzung getestet werden. Es ist für Max OS X, Windows und Linux verfügbar.

Sublime Text 3 mit Material Theme
Sublime Text 3 mit Material Theme

Für Sublime gibt es etliche Color Schemes und Plugins. Gerade die Plugins beinhalten viele kleine Helferlein. Mein Favorit ist Emmet, eine Codevervollständigung für HTML und CSS. Ich selber verwende als Theme und Color-Scheme das Material Design mit den empfohlenen Einstellungen.

Oh my zsh
Oh my zsh!

Ich hatte ja schon die Git Grundkommandos erwähnt. Diese werden im Terminal bzw. der Shell ausgeführt. Da ich schon immer Fan von besonderen Color-Schemes und der Möglichkeit Plugins zu nutzen bin, habe ich die Standard Shell von OS X (bash) auf zsh gewechselt. Dafür gibt es nämlich ohmyz.sh. Eine Sammlung von Color-Schemes, hilfreichen Skripten und Plugins. Ich verwende hier ein sehr auffälliges Farbschema, bei dem man sich auch noch die richtigen Schriftarten besorgen muss. Aber ich finde es lohnt sich. Die Anleitung dazu, findet ihr auf der Webseite von ohmyz.sh

Cyberduck
Cyberduck

Wenn es um Deployment geht, kann man viel mit Phpstorm erledigen, aber ein Client für (S)FTP, FTP etc. ist auch immer wieder gefragt. Da gibt es zweierlei. Ich persönlich verwende Cyberduck, eine Donationware. Verbindungen können verwaltet werden, SFTP Verbindungen mit SSH-Schlüsseln stellen kein Problem dar. Nur die mehrspaltige Ansicht fehlt. Als Alternative bietet sich immer das kostenpflichtige ($34 / Lizenz) Transmit an. Dies gibt es mittlerweile in Version 4. Alles zu Transmit gibt es auf der Seite des Herstellers: Panic Transmit 4

Als MySQL Client habe ich mich für SequelPro entschieden. Der wohl größte Vorteil gegenüber Navicat ist, dass es kostenlos ist. Navicat kommt als Navicat for MySQL und kostet $149. SequelPro ist ein ganz normaler Client, der alle wichtigen Funktionen von MySQL unterstützt. Screenshots dazu findet Ihr auf der Seite von Sequel Pro.

Das war die Sicht auf eine, für mich perfekte, Entwicklungsumgebung für PHP Entwickler.

Im nächsten Beitrag werde ich darauf eingehen, wie meine Umgebung für den Testbetrieb aussieht. Hier wird mit Vagrant, Virtualbox und Ansible gearbeitet, was aber den Rahmen hier sprengen würde.

Wie komme ich in ein html-object rein? Die Suche nach dem DOM.

Ich stand vor dem Problem, dass ich innerhalb eines eingebetteten HTML die Quelle eines Bildes ändern musste. Die erste Idee war über jQuery, da bin ich aber gescheitert. Nach einer längeren Suche und viel ausprobieren bin ich zu folgender Lösung gekommen.

Bei der Verwendung von jQuery Funktionen wie contents()  oder  find()  konnte ich keine Ergebnisse erzielen. Einzig und allein die unten gezeigte Lösung lief bei mir.

Falls jemand einen Tipp hat, her damit.

 

 

 

Ajenti

Besser geht’s nicht!

LNMP mit Ajenti V

 

 

Ajenti