Kostenloses Zertifikat für einen Apache Web-Server mit Let’s Encrypt

26. März 2016

In diesem Artikel stelle ich die Schritte dar, die zu einem kostenlosen Zertifikat für einen privaten Apache Web-Server geführt haben. Mein Web-Server steht zu Hause ist deswegen über DynDNS erreichbar. Beim mir ist es der myfritz.net-Dienst, aber andere werden genauso funktionieren.

Mein System ist ein Ubuntu 14.04 LTS mit apache 2.4.7.

Zunächst hole ich das Programm auf meinen Server in meinem Home-Verzeichnis.

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto --help

Daraufhin werden eine ganze Reihe von Paketen nachinstalliert. Dazu muss das Nutzerkennwort eingegeben werden.

$ ./letsencrypt-auto --apache -d <mydyndns.domain>

Dann müssen die Nutzungsbestimmungen akzeptiert werden.

Da ich keinen ServerName in der Apache-Konfiguration gesetzt habe, muss ich die richtige Konfigurationsdatei auswählen.

Dann kommt die Erfolgsmeldung (26.03.2016).

Rückblick zum ersten Versuch

Bei meinem ersten Versuch am 05.03.2016 gab es leider keinen Erfolg. Ich weiß nicht, ob sich etwas grundsätzlich geändert hat oder ich einfach Glück hatte.

Dann kommt leider die Fehlermeldung, dass schon zu viele Zertifikate für myfritz.net ausgestellt wurden:

Too many certificates already issued for: myfritz.net

There is already a pull request issued by AVM, but it is not processed so far: https://github.com/publicsuffix/list/pull/77

Andere Lösungen werden bei Let’s Encrypt diskutiert: https://github.com/letsencrypt/boulder/issues/1434

https://community.letsencrypt.org/t/too-many-certificates-already-issued-for-myfritz-net/10416

Advertisements

OwnCloud-Server einrichten

19. April 2015

Dies sind Notizen zur Installation und Einrichtung eines OwnCloud-Dienstes der Version 8.0.2 auf einem Ubuntu 14.04 LTS System.

Dabei bin ich dieser Anleitung gefolgt: http://wiki.ubuntuusers.de/ownCloud. Der Web-Server Apache 2.4.7 lief schon auf dem System. Ich habe mich dabei für die Datenbank MariaDB entschieden.

Das Einrichten eines Benutzers für den Datenbankzugriff und eine leere Datenbank anlegen ist hier beschrieben: https://doc.owncloud.org/server/7.0/admin_manual/configuration/database_configuration.html

Danach wurde direkt auch die Apache/SSL Konfiguration vorgenommen. Hier die Befehle als Zusammenfassung:

sudo -i
openssl genrsa -out /etc/ssl/private/apache.key 2048
openssl req -new -x509 -key /etc/ssl/private/apache.key -days 365 -sha256 -out /etc/ssl/certs/apache.crt
exit
sudo a2enmod ssl
sudo service apache2 force-reload

Anstatt eine neue ssl.conf anzulegen, wird die vorhandene /etc/apache2/sites-available/default-ssl.conf genutzt, aber die Pfade für die oben angelegten Schlüssel geändert:

sudo a2ensite default-ssl.conf
sudo service apache2 reload

Sitzt der lokale Server hinter einer FritzBox, so muss vor der Weiterleitung der Fritzbox-Dienst auf einen anderen Port umgelegt werden:
http://www.kussaw.de/2013/owncloud-zugriff-per-https-uber-das-internet-teil-ii/

Dann noch einige Tipps aus der c’t 21/2014, S. 76 umgesetzt:

crontab -u www-data -e

Damit diese Zeile ergänzt:

*/15 * * * * php -f /var/www/owncloud/cron.php

und in der Administrationsoberfläche von OwnCloud Cron von Ajax auf Cron umgestellt.

In /etc/php5/apache2/php.ini und /etc/php5/fpm/php.ini die Dateigrößen auf 2 GB angehoben und den Zeichensatz auf UTF-8 umgestellt (Hinweis in der Administrationsoberfläche):

upload_max_filesize = 2G
post_max_size = 2G
default_charset = "UTF-8"

Es wurde noch empfohlen FastCGI und einen Memcache-Daemon zu installieren:

sudo apt-get install php5-fpm memcached php5-memcache

In der Datei /etc/php5/fpm/pool.d/www.conf den Parameter listen umstellen auf

listen = 127.0.0.1:9000

Dann den FastCGI-Dienst neustarten:

sudo service php5-fpm restart

Der Tipp nginx zu installieren wurde nicht befolgt, weil die Nebenwirkungen nicht erkennbar waren, da noch andere Dienste auf dem Web-Server laufen.

In OwnCloud können in der Administrationsansicht nach dem Klicken auf das Pluszeichen weitere Anwendungen installiert werden. Ich habe das für Contacts und Calendar getan.

Wichtig: Beim Kalender die Zeitzone auf Europa/Berlin stellen. Dazu in der Kalenderansicht auf das Zahnrad unten links in der Ecke klicken, damit die Einstellungen mit der Zeitzone angezeigt werden.

Freien Plattenplatz bei einem FTP Server bestimmen

14. Dezember 2013

Bei FTP-Servern, deren Festplattennutzung mittels Quota beschränkt ist, kann bei einigen Servern folgender Befehl benutzt werden, um den benutzten und den noch verfügbaren Festplattenplatz anzuzeigen:

SITE QUOTA

Wird beispielsweise Filezilla benutzt, so kann dieser Befehl unter Server -> Benutzerdefinierten Befehl eingeben … eingegeben werden. Der FTP-Server antwortet dann mit den entsprechenden Angaben.

Beispielantwort des ProFTPD:

Befehl:    SITE QUOTA
Antwort:    200-The current quota for this session are [current/limit]:
Antwort:    200-Name: name
Antwort:    200-Quota Type: User
Antwort:    200-Per Session: False
Antwort:    200-Limit Type: Hard
Antwort:    200-  Uploaded Mb:        983.98/1000.00
Antwort:    200-  Downloaded Mb:    unlimited
Antwort:    200-  Transferred Mb:    unlimited
Antwort:    200-  Uploaded files:    unlimited
Antwort:    200-  Downloaded files:    unlimited
Antwort:    200-  Transferred files:    unlimited
Antwort:    200 Please contact root@beispiel.de if these entries are inaccurate

MS SQL Server akzeptiert double.NaN nicht

27. Juli 2012

In einem Link to SQL Ausdruck habe ich zur Laufzeit folgende Ausnahme bekommen:

The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 5 („@p2“): The supplied value is not a valid instance of data type float. Check the source data for invalid values. An example of an invalid value is data of numeric type with scale greater than precision.

Das Problem war, dass T-SQL/MS SQL Server den Wert double.NaN (not-a-number) nicht akzeptieren. Dies ist überraschend, da es ein gültiger Fließkommawert nach IEEE 754 ist.

In dem Artikel wird das Problem ausführlich beschrieben:

http://www.codeproject.com/Tips/50340/MSSQL-doesn-t-completely-support-IEEE754-floating

Die Stellungnahme des Herstellers zum Problem und mögliche Workarounds:

https://connect.microsoft.com/SQLServer/feedback/details/239674/storing-ieee-754-floats-in-sql-server-2005-nan-infinity

Die Dokumentation zum Datentyp float schweigt sich über „Not a Number“ und „Inifity“ aus:

http://msdn.microsoft.com/en-us/library/ms173773%28v=sql.105%29.aspx

Network-Manager Applet wieder sichtbar

3. Januar 2011

Bei meinem GNOME-Desktop fehlten oben im Panel die Netzwerkverbindungen. Zuständig für die Anzeige ist der Network-Manager, genauer sein Applet. Es wird beim bei System->Einstellungen->Startprograme unter Netzwerkmanager mit dem Befehl nm-applet --sm-disable gestartet. Ein Zurücksetzen der Konfiguration des Panels hat auch nicht geholfen. Die Lösung bei mir bestand nun darin, dass ich den Eintrag von eth0 und eth1 in /etc/network/interfaces entfernt habe. In /etc/network/interfaces stehen nun also nur die Einträge für das interne Netzwerk-Device:

$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

Nach dem nächsten Start der Netzwerkkonfiguration habe ich endlich auch die Netzwerkverbindungen wieder.

Mein Weg zum ersten Git-Repository inklusive Remote-Zugriff von Windows

29. Dezember 2010

Mein Weg zum ersten Git-Repository ist eigentlich schnell erzählt, da die wesentlichen Schritte schon im Netz stehen. Deswegen hier nur die wesentlichen Schritte mit Verweisen auf die Artikel, die mir weitergeholfen haben.

[Update]Achtung gitosis wird in Ubuntu 12.04 LTS nicht mehr unterstützt. Nachfolger ist gitolite (http://sitaramc.github.com/gitolite/)![/Update]
Den Rest des Beitrags lesen »

Beispiele aus dem Git-Tutorial unter Windows nachvollziehen

29. Dezember 2010

Das Git-Tutorial (http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html) enthält eine Vielzahl von Beispielen, die sich aber alle auf die Kommandozeilenversion von Git beziehen. Um dies auch unter Windows nachvollziehen zu können, wird zunächst Git für Windows heruntergeladen (http://code.google.com/p/msysgit/) und dann wie üblich installieren.

Um git dann ausführen zu können, wird die Eingabeaufforderung benötigt. Die Eingabeaufforderung kann beispielsweise über das Start-Menü gestartet werden, in dem bei Start->Ausführen… das Programm cmd geöffnet wird.

In dem sich öffnenden Fenster, sollte zunächst der Pfad gesetzt werden, so dass git automatisch gefunden wird. Wurde msysgit beispielsweise in C:\Program Files\Git\bin\git.exe installiert, so wird der Pfad wie folgt gesetzt:
set PATH=C:\Program Files\Git\bin;%PATH%

Prüfen, ob der Pfad richtig gesetzt ist, z.B.
D:\>git --version
git version 1.7.3.1.msysgit.0

Nun können alle Beispiele aus dem Tutorial nachvollzogen werden.

Zum komfortablen Arbeiten unter Windows stehen Werkzeuge wie TortoiseGit zur Verfügung.

 

Git für Windows installieren und nutzen

1. Dezember 2010

Zur Installation von Git müssen zwei Dateien heruntergeladen und installiert werden. Zum einen msysgit und zum anderen die grafische Oberfläche. Ich verwende TortoiseGit, weil ich TortoiseSVN schon kenne.

Download von http://code.google.com/p/msysgit/downloads/list, z.B. Git-1.7.3.1-preview20101002.exe. Zum Prüfen der Prüfsumme SHA1 nach dem Download kann FCIV von Microsoft verwenden werden. Beim Installieren habe ich keine „Additional Icons“ haben wollen. Weil ich schon Putty (und vermutlich auch TortoiseSVN) installiert habe, habe ich noch „Use (Tortoise)Plink“ and stelle von „Use OpenSSH“ ausgewählt. Sonst sind keine Veränderung der Vorgaben bei der Installation durchgeführt worden.

Nun die grafische Oberfläche von http://code.google.com/p/tortoisegit/downloads/list, z.B. TortoiseGit-1.5.8.0-32bit.msi, herunterladen, prüfen und ausführen. Bei diesem Setup-Programm war „TortoisePlink“ schon standardmäßig ausgewählt. Hier also einfach next, next, next klicken.

Damit steht einer Verwendung von TortoiseGit nichts mehr im Wege. Dazu den Windows-Explorer starten und an die Stelle navigieren, die das Git-Repository enthalten soll. Ein bestehendes Repository kann mit neuen Kontextmenü-Eintrag „Git Clone…“ kopiert werden. Am einfachsten ist es mit einem bestehenden Repository anzufangen. Dazu kann in dem sich öffnenden Dialog bei Url das Repository in der Art „username@rechername.domain:gitrepositoryname.git“ angegeben werden. Dazu muss hinter dem Eingabefeld noch „Web“ statt „Dir…“ ausgewählt werden.

Wird bei dem verwendeten Git-Repository eine Authentifizierung verlangt, so geschieht dies meist mit einem privaten und öffentlichen SSH-Schlüsselpaar. Zur Erzeugung des SSH-Schlüsselpaares wird der Putty Key Generator genutzt, der direkt aus dem Putty-Verzeichnis gestartet wird. Nach Klick auf „Generate“ muss mit die Maus über die Dialogfläche bewegt werden. Dann beide Schlüssel speichern. Der private bleibt lokal und wird bei TortoiseGit angegeben. Der öffentliche wird zum Systemverwalter des Git-Repositories geschickt, der ihn dann zu den erlaubten Schlüsseln hinzufügt.

Weitere Informationen zum Umgang mit Git sind in diesen Dokumenten zu finden:

Entwicklung/Debuggen von XSLT-Stylesheets

8. Juni 2010

Bei XSL Transformationen gibt es nicht immer einen Debugger, z.B. bei VS2008. In diesem Fall können Ausgaben verwendet werden. Leider kennt XSLT keinen print oder echo Befehl.

Ein einfacher Weg ist, sich neue Elemente zu definieren, die dann mit in die Ausgabe aufgenommen werden:

<element name="value" xmlns="http://example.com/exp">

<value-of select=“$value“/>

<element>

Dabei ist $value die zu beobachtende Variable. Sie kann natürlich auch durch einen anderen Ausdruck ersetzt werden.

Zum Thema: Beten im Alltag

3. September 2008

Ein paar Impulstexte zum Beten im Alltag.

Den Rest des Beitrags lesen »