Mining in der eigenen Wohnung - Teil 1
SiaCoin - Was ist das? Kaufen? Ausblick 2018
SiaCoin - Die Zukunft des Cloud Speichers?
1$ in 2018? 1000% Profit?
Was ist genau ist Sia eigentlich?
Fakten zu Sia und SiaCoin
- Sia
- Sia ist dezentraler, global verteilter, sicherer Cloudspeicher auf der Blockchain
- die Idee zu Sia entstand 2013
- entwickelt von David Vorick und Luke Champine
- Sia wird von Nebulous Inc. betrieben
- Daten werden redundant im Netzwerk gespeichert (Ausfallsicher!)
- Daten werden verschlüsselt und in Teile zerlegt vor dem Upload (100% Privat)
- Lokale Wallet? Ja
- Web Wallet? Jaein (in Planung), Exchanges bieten es
- Mobile Wallet? Ja (keine Offizielle)
- SiaCoin
- SiaCoin hat die Abkürzung "SC"
- Block Intervall = 10min
- Block Reward: 300.000 (nimmt mit jedem Block um 1 ab), unterschreitet 30k aber nie
- mining mit CPU, GPU und ASICs (für 2018 geplant)
- Open Source Code, jeder kann mit Helfen - GitHub Sia
- kleinste SC Einheit: 0.000000000000000000000001 SC 10-24 SC
- Handelbar auf Bittrex und ShapeShift
- SiaCoin Transaktionen können eingesehen werden https://explore.sia.tech/
Wo kann ich SiaCoins kaufen?
Aktueller Stand (2017) von Sia / SiaCoin
Ausblick 2018 vielleicht 1$ pro SC ?
Eure Fragen, Probleme, Bedenken und Sorgen könnt Ihr in den Kommentaren niederlassen. Für konstruktive Kritik und das finden von Rechtschreibfehler bin ich sehr dankbar.
Monero/AEON Mining mit XMR-STAK 2.0
Tutorial Monero Mining Ubuntu (XMR-STAK 2.0)
Neue Version XMR-STAK 2.0.0 ausprobiert!
Features
- 10% boost to CPUs without hardware AES
- Supports all common backends (CPU/x86, AMD-GPU and NVIDIA-GPU)
- Supports all common OS (Linux, Windows and MacOS)
- Supports algorithm cryptonight for Monero (XMR) and cryptonight-light (AEON)
- Guided start (no need to edit a config file for the first start)
- Automatic configuration for each mining backend
- Allows to tweak each core or gpu by hand
- Supports backup pools
- TLS support
- HTML statistics
- JSON API for monitoring
- Support the new stratum statistics extension
- Easy precompiled and portable Linux binary
Installation XMR-STAK 2.0 unter Ubuntu
// wir legen uns einen Ordner an mkdir xmr-stak-portable // download wget https://github.com/fireice-uk/xmr-stak/archive/v2.0.0.tar.gz // entpacken das Archiv tar xzf xmr-stak-portbin-linux.tar.gz // starten ./xmr-stak.sh
XMR-STAK 2.0 Setup Assistent
Nach dem wir alles heruntergeladen haben und das Programm starten, müssen wir einige Fragen beantworten welche das Setup darstellen. Wie so etwas aussehen kann seht Ihr im folgenden Beispiel.// starten ./xmr-stak.sh Please enter: - Currency: 'monero' or 'aeon' monero - Pool address: e.g. pool.usxmrpool.com:3333 pool.supportxmr.com:3333 - Username (wallet address or pool login): 423gorEqp1GR1Rn431fwuQVmrSAw7v86z3CygoeLsbr6EvenAMeKus1CiZgXana9b1RjnAPbaxyBL4CP5QpdL8PK88KkdRi - Password (mostly empty or x): Worker-CPU-01 - Does this pool port support TLS/SSL? Use no if unknown. (y/N) N - Do you want to use nicehash on this pool? (y/n) n - Do you want to use multiple pools? (y/n) n Configuration stored in file 'config.txt'
Unsere Einstellungen kann man nachträglich jederzeit ändern. Das Programm erzeugt 2 Dateien welche im aktuellen Verzeichnis erstellt werden.
- config.txt - Allgemeine Einstellungen
- cpu.txt - Einstellungen fürs CPU Mining
Automatisches deployen / installieren auf Server / VPS
#!/bin/bash curl -O `curl -s https://api.github.com/repos/fireice-uk/xmr-stak/releases/latest | grep -o 'browser_download_url.*xmr-stak-portbin-linux.tar.gz' | sed 's/.*"//'` curl -O http://meine-domain.de/config.txt tar xzf xmr-stak-portbin-linux.tar.gz ./xmr-stak.sh
Dieses Script führen wir dann aus und in wenigen Sekunden haben wir ein lauffähiges Mining Setup auf unserem Server. Einfacher geht es nicht oder?
Wer noch wissen möchte wie das ganze im Hintergrund ausführen kann ohne beim schließen des Terminals das Mining zu beenden sollte sich meinen anderen Artikel noch einmal ansehen.
Was sagt Ihr zu der neuen Version? Findet Ihr die Verbesserungen gut und sinnvoll? Schreibt mir gern eure Meinung dazu in die Kommentare. Falls Ihr Fehler gefunden habt meldet diese bitte auch in den Kommentaren.
Viel Spass beim Minig
Monero Mining in Deutschland
Lohnt sich das Mining mit normaler Hardware?
Dieser Frage werden wir heute auf den Grund gehen. Wir werden klären ob sich das Mining von Moneros (XMR) in Deutschland mit einem normalen Consumer PC lohnt und worauf man achten sollte.
Warum eigentlich Moneros?
Diese Frage ist einfach zu beantworten. Im Gegensatz zu Bitcoin (sha-256) basiert Monero auf den Proof-of-Work Algorithmus CryptoNight. Dieser Algorithmus ist besonders gut geeignet für normale Consumer Hardware! Das bedeutet quasi jeder der einen PC hat ist in der Lage damit Monero`s zu schürfen. Aktuelle CPUs und GPUs erzielen gute Hashraten. Das Besondere daran ist außerdem, dass es sich nicht lohnt dafür besondere ASICs zu entwickeln wie es bei Bitcoin der Fall war. Dadurch wird ein dezentrales Mining sichergestellt. Warum der Algorithmus CryptoNight so genial ist könnt Ihr auch gern noch einmal im Detail bei Wikipedia nachlesen.
Aber Lohnt es sich?
Dazu werfen wir erst einmal einen Blick auf den aktuellen Kurs. Dafür nutze ich meistens die Seite coingecko.com.
Wie wir hier sehen können ist der Kurs in den letzten Tagen quasi etwas explodiert und dann wieder leicht gefallen. Ich gehe davon aus der Kurs in den nächsten Tagen wieder steigen wird, da der Bitcoin2x abgesagt wurde und die Leute sich wohl nach anderen Kryptocoins umsehen werden.
Konkretes Beispiel anhand meiner Hardware und dessen Stromverbrauch
So jetzt kommen wir zum eigentlichen Kernpunkt dieses Beitrages. Gleich vorweg ich mine selbst Zuhause Moneros mit ganz normaler Hardware! Wie ich das mache und warum sich das lohnt obwohl ich in Deutschland lebe erfahrt Ihr jetzt.
Mein Arbeits/Spiele PC ist aus dem Jahre 2014 und beinhaltet folgende Hardware:
Setup 1 (mein PC)
- Intel Xeon E3-1231 v3, 4x 3.40GHz, boxed
- Asus Nvidia GeForce Strix GTX970-DC2OC-4GD5
- Crucial Ballistix Sport DIMM Kit 16GB, DDR3-1600
- Gigabyte GA-H97-D3H
- be quiet! Straight Power E9-CM 480W ATX
- 1x SSD, 1x HDD, 1x CPU Kühler
Der PC meiner Freundin ist relativ Neu und hat folgende Hardware:
Setup 2 (PC Freundin)
- AMD Ryzen 5 1600X
- MSI GeForce GTX 1060 Gaming X
- MSI B350 PC Mate
- Crucial Ballistix Sport LT grau DIMM Kit 16GB, DDR4-2400
- EVGA SuperNOVA G3 550 550W
- 1x SSD, 1x HDD, 1x CPU Kühler
Hash Power von beiden Setups
Mit beiden PCs zusammen komme ich auf einen AVG von ~1.41 KH/s oder 1410 H/s. Das war der Wert der vom Mining Pool angezeigt wurde. Als Mining Pool nutze ich diesen: supportxmr.com. Als Mining Software nutze ich XMR-STAK-CPU und XMR-STAK-GPU Nvida Miner.
Stromverbrauch Setup 1 und Setup 2
Da sehr viel Peripherie etc an meiner Verteilerdose hängt habe ich den Strom mit all diesen Geräten direkt an der Hauptdose gemessen. Hier noch ein Foto von der Messung von Setup 1. Gemessen habe ich den Verbrauch mit der Brennstuhl Primera-Line PM 231 E die Ich mir vor 2 Jahren gekauft habe. Hat nicht viele Funktionen aber für diesen Zweck absolut ausreichend.
| Gerät | Verbrauch in Watt | Durchschnitt (AVG) |
| Setup 1 IDLE ohne Monitore | 55 | 55 |
| Setup 1 IDLE mit Monitore | 82 - 85 | 83,5 |
| Setup 1 Mining ohne Monitore | 177 - 182 | 179,5 |
| Setup 2 IDLE ohne Monitore | 49 - 55 | 52 |
| Setup 2 Mining ohne Monitore | 146 - 152 | 149 |
| Verbrauch beider Systeme im Mining | 328,5 |
Wir sehen hier ganz deutlich das die neuere Hardware wesentlich weniger Strom verbraucht und trotzdem mehr Hash Power hat. Gut ich habe hier nicht explizit hingeschrieben wie groß der Unterschied bei der Hash Power ist aber Ihr könnt von 100- 150 H/s für die neuere Hardware ausgehen. Hier möchte ich noch einmal erwähnen das der Ryzen 1600X fast die identische Hash Power wie eine GPU Nvida GTX 1060 hat. In meinem Mining Pool sehe ich das die GPU nur wenig mehr Hashes erzeugt hat (~5%).
Und hier natürlich auch noch ein Beweis das ich das auch alles geprüft habe
Gewinn und Verlust berechnen
Da wir jetzt alle nötigen Informationen haben die Wir brauchen können wir nun unseren erwarteten Gewinn und Verlust berechnen lassen. Dazu nehme ich oft folgende Seite: cryptocompare.com.
Wichtig! Mir ist hier zuerst ein Fehler unterlaufen. Da dort der Strompreis in $ berechnet wird. Das heißt Ihr müsst euren Strompreis vorher von Euro in Dollar umrechnen!
Unser aktueller Strompreis beläuft sich auf 0,23561 KW/h €. Diesen Preis umgerechnet kommt man auf 0.27490857 KW/h $. Mit diesem Wert und den oben Berechneten Stromverbrauch können wir nun den Kalkulator ausfüllen und erhalten unsere erwarteten Gewinne oder Verluste.
Kleines Fazit
Wir sehen also das es mit normaler Hardware und einem normalen Stromtarif aktuell möglich ist Moneros profitabel zu erzeugen. Man beachte die Berechnung wurde gemacht als der Kurs bei 102 $ war. Dieser kann natürlich noch weitaus höher steigen und macht das Mining umso profitabler.
Mining mit eigenem VPS
In einem anderen Artikel von mir habe ich bereits erklärt wie man einen VPS zu mining nutzen kann. Da ich persönlich noch 3 sehr kleine VPS für jeweils 2,99€ im Monat besitze habe ich diese natürlich auch jeweils mit einem Core zum Mining eingestellt. Die VPS habe ich bei Scaleway gemietet und das Mining läuft dort auch ohne Probleme mit einem Core.
Hierbei empfehle ich aber mietet euch keine VPS zum reinen mining! Das Lohnt sich in diesem Falle nicht. Die 2,99€ VPS erzeugen im Durchschnitt mit einem Core ~ 9 H/s und mit zwei Cores ~16-17 H/s. Da ich die VPS aber sowieso habe ist es vollkommen Ok wenn ein Core oder beide zum Mining abgestellt werden. Zusätzlichen Profit sollte man immer mit nehmen wenn dabei nichts anderes beeinflusst wird.
Abschluss und Blick in die Zukunft
Jetzt schauen wir mal unsere Glaskugel an und werfen einen Blick in die Zukunft. Da Monero demnächst das neue Feature “Multi Sig” einführt und kontinuierlich weiterentwickelt wird von rund 30 der besten Entwicklern aus aller Welt, kann man davon ausgehen das der Monero Kurs in Zukunft steigen wird. Außerdem ist Monero eines der Top Zahlungsmittel im Darknet und wird sich dadurch auch stark im Markt etablieren.
Aber noch mal mal zurück zum Thema, dass Mining von Monero ist in Deutschland mit normaler Hardware mit Gewinn möglich. Je aktueller und energieeffizienter die Hardware desto mehr Profit kann man hier erwirtschaften. Denn in Deutschland sind die Strompreise im Vergleich zu anderen Ländern extrem hoch. Haltet Ausschau nach günstigen Stromtarifen und kontrolliert am besten regelmäßig, ob eure Kosten nicht höher sind als euer Gewinn.
Positiv kann ich hier auch noch einmal erwähnen, dass der Raum in dem unsere PCs stehen nicht mehr beheizt werden muss, da wenn wir nicht da sind die PCs angenehme wärme erzeugen Gerade in der kalten Jahreszeit spart man auch durch diesen positiven Nebeneffekt doch eine menge ein.
Probiert es aus und lasst gern eure positiven und negativen Erfahrungen hier in den Kommentaren.
Monero Mining unter Ubuntu (XMR-STAK-CPU)
Monero Mining mit XMR-STAK-CPU Miner
Monero Mining unter Ubuntu 16.04 und höher
XMR-STAK-CPU Miner unter Ubuntu installieren
sudo apt-get --assume-yes update sudo apt-get --assume-yes install libmicrohttpd-dev libssl-dev cmake build-essential libhwloc-dev screen git nano
Miner herunterladen und installieren (kompilieren)
git clone https://github.com/fireice-uk/xmr-stak-cpu.git cd xmr-stak-cpu cmake . make install
In Verzeichnis wechseln, Miner ausführbar machen und starten.
cd bin/ chmod +x xmr-stak-cpu ./xmr-stak-cpu
XMR-STAK-CPU Miner konfigurieren
Beim ersten starten schlägt euch die Software eine passende Konfiguration vor. Diese könnt Ihr einfach kopieren und an der entsprechenden Stelle in der config.txt einfügen. Hier ein Beispiel für 1 aktiven Kern. Hier müsst Ihr schauen wie viele Kerne euer System hat und wie viele Ihr benutzen wollt. Fangt erst mal mit einem an zum Testen."cpu_threads_conf" :
[
{ "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 0 },
],
Außerdem müsst Ihr in der config.txt noch eure Mining Pool URL sowie eure Monero Wallet Adresse angeben. Zum identifizieren eures Miners am besten noch bei "pool_passwort" dem Miner einen Namen geben.
"pool_address" : "pool.supportxmr.com:5555", "wallet_address" : "eure Wallet Adresse", "pool_password" : "mein-miner",
Wenn Ihr alles eingestellt habt könnt Ihr den Miner wie oben beschrieben starten. Dieser sollte nun für euch Moneros (XMR) schürfen.
Mining auf VPS / Server im Hintergrund laufen lassen
// Session im Hintergrund screen -S miner -d -m ./xmr-stak-cpu // Session wieder aufnehmen screen -r miner
Fehlerbehandlung beim starten von XMR-STAK-CPU
sudo sysctl -w vm.nr_hugepages=128 nano /etc/sysctl.conf // am Ende der Datei einfügen vm.nr_hugepages=128
Danach noch einmal die aktuelle Konsolensession neustarten.
Ich hoffe euch hat der Artikel gefallen und konnte euch helfen. Über konstruktives Feedback freue ich mich natürlich. Ansonsten wünsche ich euch viel Spass beim Geld schürfen mit der Krypto Währung Monero.
Ideen, Vorschläge und Kritik bitte in die Kommentare.
Test / Review Startech USB 3.0 Hub (7-Port)
Produktbewertung / Test / Review zum Startech USB 3.0 Hub
Heute geht es um eine Produktbewertung und in diesem Sinne um den 7 Port USB 3.0 Hub von Startech. Die Produkte wurden mir zur Verfügung gestellt von RS Components. An dieser Stelle noch einmal vielen Dank hierfür.Technische Details zum Startech USB 3.0 Hub
Produkt: Startech USB 3.0 Hub, 7-PortProduktkategorie: USB Hubs
USB-Standard: USB 3.0
USB-Anschlusstyp: USB A
Abmessungen: 172 x 70 x 23mm (Tiefe 70mm Höhe 23mm Breite 172mm)
Zusammengefasste allgemeine Produktbeschreibung
Ich werde hier kurz und grob die tollen Funktionen des Hubs mit eigenen Worten erklären. Was ein Hub ist sollte jedem klar sein? Er erweitert einen vorhandenen USB Anschluss. Der Hub unterstützt Datenraten von bis zu 5 Gbits/s was dem USB 3.0 Standard entspricht außerdem ist er abwärts kompatibel zu USB 2 und 1 Geräten. Plug and Play sowie Hot-Swap werden wie von fast jedem Hub unterstützt. Jetzt kommen wir aber mal zu den cooleren Eigenschaften des Hubs wie z.B. Stromüberlastungserkennung und Schutz auf jedem USB Anschluss. Außerdem Stromversorgung über den USB Bus, mit dem dazugehörigen Netzteil können auch USB Geräte angeschlossen werden die auch etwas mehr Power benötigen.Produktbilder zum Startech USB 3.0 Hub
Verpackungszubehör
- 4 Steckeraufsätze für Netzteil (verschiedene Länder siehe Bild)
- Netzteil für Stromversorgung
- Kabel USB 3.0 A auf B
Benchmark - Kopier Test (SSD zu externen HDDs)
- kopieren von 15 GB SSD zu ext. HDD (USB 3.0)
- kopieren von 15 GB SSD parallel zu zwei HDDs (USB 3.0)
Die Ergebnis des ersten Tests könnt Ihr in den folgenden 3 Screenshots sehen. Die Geschwindigkeit ist sogut wie nicht eingebrochen und war im Durchschnitt bei 137 MB/s. Dadurch konnte ich eine 15 Gb Datei in unter 2 min kopieren.
Das Ergebnis des 2. Tests liefert ähnlich gute Werte. Hier wurde ein paralleler Kopiervorgang gestartet jeweils 15 GB auf jeweils eine externe Festplatte (SSD -> HUB -> ext HDD). Mit beiden Kopiervorgängen zusammen kommen wir auf ~260 MB/s was Umgerechnet 2,08 Gbit/s entspricht. Ich vermute das hier die drosselnde Komponente meine 2 externen Festplatten gewesen sind. Der Hub liefert ein sehr gutes Ergebnis.
Fazit zum Startech USB 3.0 Hub
Kostenlos mit dem Usenet verbinden - So gehts!
Usenet? Ja Usenet!
Ihr wolltet schon immer wissen was das Usenet ist und wie man sich damit verbinden kann? Dann seid Ihr hier genau richtig. Denn heute wollen wir eine einfache Möglichkeit zeigen wie Ihr euch damit verbinden könnt.Was ist denn das Usenet?
Den passenden Newsserver finden
- Offene Newsserver (offen für Alle, meist nur Lesezugriff)
- Freie Newsserver (offen aber meist nur mit Registrierung nutzbar)
- Bezahlte Newsserver (Zugang muss bezahlt werden)
- Universität Hohenheim - news.uni-hohenheim.de
- Mozilla - news.mozilla.org
Kostenlose Usenet Newsreader Software
- Sabnzbd - Kostenlos, viele Funktionen, stätig weiterentwickelt
- Newsbin - Testversion verfügbar, sehr guter Newsreader
- Agent - Testversion verfügbar, Browser + Suche
- Grabit - Kostenlos, Browser + Suche, klasse Newsreader
Verbinden mit Sabnzbd Usenet Reader
Ob alles richtig ist könnt Ihr mit einen Klick auf "Server überprüfen" testen. Bei Erfolg grün bei Misserfolg rot. Danach ist das Setup schon abgeschlossen.
Glückwunsch Ihr habt euch erfolgreich mit einem Usenet Server verbunden.
Warum ist das Usenet so beliebt?
Klar kostenlos Filme, Serien, Spiele und Pornos!
- Usenet.nl
- Firstload
- GigaNews
- Usenext
Abschluss
Webserver NGINX Performance Tuning
Schnell? Schneller? NGINX? Performance!!!
Heute beschäftigen wir uns mit dem Thema NGINX und Performance Optimierung. Wir wissen alle das der NGINX der König unter den Webservern ist und deshalb schauen wir uns heute an, wie wir das letzte Fünkchen Geschwindigkeit aus dem Webserver herausholen. Zu dem Zeitpunkt wo ich diesen Beitrag schreibe gibt es den NGINX in der Stable Version 1.12.1 (Download).
Backup der NGINX Config
Als erstes ist es wichtig eure aktuelle funktionierende NGINX Konfiguration zu sichern (Kopie davon erstellen) damit wir nichts zu fürchten haben falls etwas nicht ganz so läuft wie von euch erhofft. Die Konfiguration findet Ihr z.B. bei Ubuntu unter /etc/nginx/nginx.confPerformance? Optimieren!
Jetzt werde ich euch einzelne NGINX Core Module Direktiven vorstellen die euch helfen werden eure Webserver Performance zu steigern. Ich versuche dabei kurz und verständlich die Werte zu erklären. Alle folgenden Werte können in der nginx.conf bearbeitet oder hinzugefügt werden.worker_processes auto;Gibt an wie viele NGINX Worker Prozesse laufen. auto = automatische Erkennung. Generell gilt, man kann auch die Anzahl der verfügbaren CPU Cores angeben. (z.B. VPS mit 2 Kernen = auf 2 stellen).
worker_connections 1024;Gibt an wie viele gleichzeitige Verbindungen pro Worker aufgebaut werden können. Die maximale Anzahl der Clients wird also wie folgt Berechnet. max Clients = worker_processes * worker_connections. Tip: hier ein wenig testen wie viel euer Server schafft.
use epoll;Wichtig für Linux Server um viele Clients in einem Thread zu verarbeiten.
multi_accept on;Dadurch werden so viele neue Verbindungen wie möglich akzeptiert von einem Worker Prozess.
sendfile on;Kopiert Daten von einem FD (File Descriptor) zu einem innerhalb des Linux Kernels. Das ist schneller als read() + write()
tcp_nopush on;Sendet den Request Header in einem Stück, dies ist besser als viele kleine.
tcp_nodelay on;Aktiviert die TCP Option TCP_NODELAY. Daten werden nicht mehr im BUffer zwischen gespeichert, sondern gleich verschickt.
access_log off;Um schwache Festplatten zu entlasten und den HDD I/O zu verbessern.
gzip on; gzip_min_length 10240; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/json application/xml; gzip_disable msie6;Komprimiert die ausgegebenen Dateien, dies spart Traffic. Sollte nur bei ausreichend CPU Leistung aktiviert werden!
reset_timedout_connection on;Erlaubt es dem Server die Verbindung zu nicht antwortenden Clients zu schließen. Das spart Arbeitsspeicher.
client_body_timeout 10;Der Request Timeout. Standard ist bei 60. Falls keine Dateien auf eurer Seite hochgeladen werden sollte der Timeout reduziert werden z.B. auf 10 Sekunden
send_timeout 2;Wenn der Client nicht mehr reagiert und nichts empfängt dann stoppe (Standard ist 60). Spart Arbeitsspeicher.
keepalive_timeout 30;Schließt die Verbindung nach der angegebenen Zeit. Standard ist 75. Hier kann etwas experimentiert werden.
keepalive_requests 100;Wie viele Keep Alive Requests gemacht werden können. Standard ist 100. Beachtet wie viele gleichzeitigen Besucher Ihr auf eurer Seite erwartet.
server_tokens off;Erhöht die Sicherheit. Der Server schickt keine Version etc mehr heraus.
open_file_cache max=100000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2; open_file_cache_errors on;Der Cache kann die Performance steigern, die optimalen Werte solltet Ihr durch testen herausbekommen. Eine detaillierte Erklärung dazu findet Ihr hier
Beispiel Konfiguration für einen 2 Kern VPS (/etc/nginx/nginx.conf)
user www-data;
worker_processes 2;
pid /run/nginx.pid;
events {
worker_connections 1024;
use epoll;
multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30; # default 75
keepalive_requests 100; # default 100
reset_timedout_connection on;
client_body_timeout 10; # default 60
send_timeout 10; # default 60
types_hash_max_size 2048;
server_tokens off;
# File Cache
open_file_cache max=100000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log off;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
#gzip on;
#gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Wichtig für Dateiuploads in Verbindung mit NGINX
Konfiguration neu einlesen oder NGINX neustarten
Buchempfehlung über NGINX
Amazon Echo Alexa Newsletter - 14 Juli
Hier der aktuelle Amazon Echo Newsletter vom 14. Juli 2017. Neue Funktionen wurden leider nicht vorgestellt alles nur Beispiele die man schon kennt. Aktuell gibt es den Amazon Echo noch für 179,99€ zu kaufen. Der kleine Echo Dot kostet aktuell noch 59,99€.

Ubuntu 16.04 einrichten von SSL / HTTPS unter NGINX
Einleitung
Im Jahre 2017 sollte SSL Standard für jede Webseite sein. Warum das leider immer noch nicht so ist liegt vielleicht daran, dass viele Leute abgeschreckt sind von der Einrichtung oder nicht wissen wie es umgesetzt wird. In diesem kleinen Tutorial, möchte ich euch Heute zeigen, wie einfach es doch ist SSL unter Ubuntu mit einem NGINX Webserver einzurichten.Voraussetzungen
Eine kleine Liste mit Dingen die ich für dieses Tutorial voraussetze.- Ubuntu Server
- NGINX Server installiert
- OpenSSL installiert
Schritt 1 - Zertifikat erzeugen
Als erstes brauchen wir einen Ort wo wir das Zertifikat ablegen und speichern wollen. Da es sich hier um ein Zertifikat für den NGINX handelt erzeugen wir einfach im NGINX Ordner einen weiteren Ordner "ssl".sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
Kurze Erklärung zu dem Befehl:
- openssl: Standard Konsolen Programm um Zertifikate zu erstellen
- req: sagt aus das wir eine X.509 Signierungsanfrage erstellen wollen. X.509 ist ein Standard für SSL und TSL
- -x509: Die Option sagt aus das wir ein selbst signiertes Zertifikat erstellen wollen
- -nodes: Teilt OpenSSL mit das wir keine Passwortabfrage bei dem Zertifikat benötigen. Wäre auch schlecht da NGINX dann bei Neustarts immer danach fragen würde
- -days 365: Anzahl der Tage wie lange das Zert. gültig ist
- -newkey rsa:2048: Sagt das wir einen neuen Schlüssel und Zertifikat mit einem 2048 Bit Schlüssel möchten
- -keyout: Gibt OpenSSL einen Ort an wo der Schlüssel gespeichert werden soll
- -out: Gibt OpenSSL einen Ort an wo das Zertifikat gespeichert werden soll
Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Die von dir erstelleten Dateien werden in dem angegebenen Ordner abgespeichert.
Schritt 2 - NGINX Konfigurieren
Ein Vorteil von NGINX gegenüber dem Apache ist das man HTTPS/SSL in der selben Vhost Config aktivieren kann wo auch HTTP konfiguriert ist. Wir bearbeiten dazu unsere Standard Konfiguration unter.nano /etc/nginx/sites-available/default
Wir fügen 4 Zeilen hinzu.
server {
# ipv4 http
listen 80 default_server;
# ipv6 http
listen [::]:80 default_server;
# ADDED ipv4 https
listen 443 ssl default_server;
# ADDED ipv6 https
listen [::]:443 ssl default_server;
server_name default;
root /var/www/application/public;
index index.html index.htm index.php index.cgi index.pl index.xhtml;
# ADDED ssl settings
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
# log
error_log /var/www/application/log/error.log;
access_log /var/www/application/log/access.log combined;
# rewrite
location / {
try_files $uri $uri/ /index.php;
}
# php socket
location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
}
}
Die ersten beiden hinzugefügten Zeilen kümmern sich darum das der NGINX auf den richtigen Port lauscht und IPv4 und IPv6 anfragen annimmt.
Die anderen 2 kümmern sich darum das der NGINX den Schlüssel und das Zertifikat läd.
Danach starten wir neu uns schauen ob alles klappt.
sudo service nginx restart ODER sudo /etc/init.d/nginx restart
Nach erfolgreichem Neustart sollte unsere Seite unter http und https erreichbar sein.
HTTPS testen
Um unsere Konfiguration zu testen erstellen wir in unsrem Verzeichnis (/var/www/application/public) eine index.html zum testen. Unsere Seite dann unter beiden Adressen erreichbar seinhttp://server_domain_or_IP UND https://server_domain_or_IP:443
Hinweiß: In den meisten Browsern muss man noch das Zertifikat akzeptieren damit die Seite dargestellt wird. Denn euer Lokales Zertifikat gilt in den Browsern als nicht sicher.
Abschluss
Abschließend ist zu sagen, dass der Aufwand SSL einzurichten doch relativ gering ist und für lokale Tests sehr zu empfehlen ist. Wenn eure Applikation lokal zu 100% läuft, solltet Ihr den Schritt nicht scheuen auch Live SSL mit einem richtigen Zertifikat zu verwenden. Richtige Zertifikate bekommt Ihr dank "Lets Encrypt" quasi für 0€.Viel Spass beim testen. Bei Fragen benutzt bitte die Kommentare.
Amazon Echo Dot - TV, DVD Player, Funksteckdosen per Sprache steuern
heute geht es um Amazons Echo Dot und wie man mit Hilfe von Alexa alle seine Funk und IR (Infrarot) Geräte per Sprache steuern kann. Darunter fallen meistens Fernseher, DVD/ BluRay Player, LED Bänder, Funksteckdosen und vieles mehr.
Hier eine kleine Checkliste mit Dingen die Ihr dafür benötigt:
- Amazon Echo / Amazon Echo Dot
- Broadlink RM Pro (Amazon Link)
- eControl App von Broadlink (Playstore Link)
- RM Plugin App (Playstore Link)
- Smartphone oder altes Android Gerät (Stick/TV Box) hier ein paar Beispiele
Broadlink RM Pro einrichten
Sobald Ihr euren Broadlink RM Pro aufgebaut und angeschlossen habt könnt Ihr euch die "e-Control" App (Playstore Link) auf euer Smartphone installieren bzw öffnen falls diese schon installiert ist.In der App könnt Ihr dann oben Rechts auf den Menüpunkt "Add Device" gehen um dort euren RM Pro hinzuzufügen. Im Folgenden Setup werdet Ihr gebeten eure WLan Daten anzugeben damit der RM sich in eurem Netzwerk anmelden kann. Dies müsst Ihr durchführen. Ob Ihr euch einen Account bei Broadlink anlegt ist euch überlassen, dieser ist nicht zwingend erforderlich.
Anschließend könnt Ihr euch eine virtuelle Fernbedienung erstellen. Dazu müsst Ihr in der App auf "Add Remote" gehen.
Hier hat man die Wahl ein fertiges Layout zu nehmen oder eins selbst Zusammenzustellen. Wir bauen es selbst und nehmen "User Defined". Jetzt kann man noch aussuchen wie die Tasten sortiert werden sollen. Hier nehmen wir "sort random", denn damit sortieren wir unsere Buttons selbst.
Im Folgendem Screen klicken wir oben Rechts auf das Zahnrad Icon und wählen "Sort add".
Anschließend gehen wir oben Links auf das + Symbol. Dort können wir nun dem Schalter einen Namen geben und ein Icon/ Bild auswählen.
Diesen Vorgang wiederholen wir, damit wir nun zwei Buttons angezeigt bekommen. Einen für das An und Ausschalten des Gerätes. Die Buttons können wir frei Verschieben an die Position die wir gerne hätten. Am Ende bestätigen wir alles mit dem "Save" Button oben Rechts.
Jetzt können wir unseren aktuell noch "dummen" Buttons eine Funktion zu weisen. Dafür drücken wir auf einen Button und dann auf "Learn Single" und in der Abfrage danach auf "Learn". In dem darauf folgendem Abschnitt müsst Ihr die Taste eurer Fernbedienung drücken die Ihr dem aktuell ausgewähltem Button beibringen wollt z.B. der Power Knopf. (Solange drücken bis die Taste gelernt wurde). Vorgang für anderen Button wiederholen.
Die Einrichtung des Broadlinks und der e-Control App ist damit erst einmal abgeschlossen. Du kannst jetzt z.B. mit der App dein Gerät steuern. Aber wir möchten das Ganze ja mit Alexa steuern deswegen müssen wir noch ein paar Schritte mehr in Angriff nehmen.
RM Plugin einrichten und benutzen
Weiter geht es mit der oben verlinkten Android App "RM Plugin". Eigentlich ein Tasker Plugin ist diese App aber auch ohne Tasker lauffähig.Zunächst starten wir die App RM Plugin.
Wir scrollen runter zu den "Settings" und drücken auf "Alexa Bridge". Hier aktivieren wir die Optionen "Enable Alexa Bridge" und "Autostart on Boot".
Daten importieren von der eControl App
Wir gehen auf den Menüpunkt "Share Data". Wir beenden die App nicht und öffnen parallel dazu die eControl App von Boardlink. In dieser öffnen wir das Menü -> "Share" -> "Share to other phones in Wlan" und lassen dies offen. Wir wechseln nun wieder zurück zur RM App und warten kurz. Die Daten sollten jetzt importiert wurden sein.Alexa Gerät in der RM Plugin App hinzufügen
Wir gehen auf "Alexa Bridge" -> "Alexa Device List" -> "Add Alexa Device".Unter "Device Name" können wir dem Gerät einen Namen geben der in Alexa zum Aufruf benutzt werden soll. (z.B. TV).
Bei "On Command" können wir unseren importierten Befehl zum anschalten des Gerätes auswählen ("Select Code").
Anschließend ist das Gerät fertig konfiguriert in der App. Jetzt muss man Alexa nur noch mitteilen das man ein neues Gerät hat.
Alexa neue Geräte hinzufügen
Um Alexa mitzuteilen das man neue Geräte hat kann man den Sprachbefehl "Alexa, suche nach Geräten" verwenden oder in der Alexa App die Suche starten. Alexa teilt dir dann mit ob Sie neue Geräte gefunden hat.Abschluss
Und das war es auch schon. Ihr könnt euer hinzugefügtes Gerät nun mit Alexa steuern.z.B. "Alexa, schalte den TV ein" oder "Alexa, schalte den TV aus".
Mein Fazit, mit etwas initial Aufwand kann man doch relativ günstig und einfach seine vorhandene Geräte in "Smart Home" Geräte verwandeln und damit dann eine menge Spass haben. In Alexa steckt eine Menge potenzial.
Bei Fragen oder Anregungen bitte die Kommentare benutzen.
PHP "< ?=" vs "< ?php echo"
Einleitung
Hi,heute geht es kurz um das PHP Tag "<?=". Vielleicht kennen es die meisten schon oder benutzen es sogar in Ihrem Code. Das Konstrukt ist schon etwas älter aber ich wollte trotzdem kurz darauf eingehen.
Beispiel: (zwischen < und ? ist ein extra Leerzeichen das da nicht hin soll!)
Lange Schreibweise:
< ?php echo $value; ?>
Kurze Schreibweise:
< ?= $value ?>Beide Varianten funktionieren und resultieren in der selben Ausgabe.
Wann sollte ich "<?=" nehmen?
- > PHP 5.4 Standardmäßig aktiv
- spart Zeichen und Zeit
- wenn short_open_tag in der php.ini aktiv ist
- < PHP 5.4
- wenn man Angst hat das der Syntax irgendwann nicht mehr unterstützt wird
Debian SSL / HTTPS mit Apache2 einrichten
Einleitung
Hi,seit der weltweiten Überwachung der NSA wissen wir alle das Verschlüsselung wichtig ist. Wie Ihr selbst HTTPS auf eurer Seite einrichtet zeige ich heute in einem kurzen Tutorial. Ich weise noch mal darauf hin das selbst erstellte Zertifikate bitte nur Lokal und zu Testzwecken genutzt werden sollten. Ok dann lasst uns beginnen.
Voraussetzungen:
Ihr benötigt Debian mit installiertem OpenSSL Modul und den Apache2 Webserver. Den Rest werden wir hier zusammen installieren.SSL Zertifikat erstellen / generieren
Mit Hilfe von OpenSSL können wir uns in relativ wenigen Schritten ein eigenes Zertifikat erstellen.1. Ordner zum speichern des Zertifikates erstellen und dorthin wechseln
mkdir /etc/apache2/ssl cd /etc/apache2/ssl
3. Jetzt erstellen wir unseren privaten Key
openssl genrsa -out sslcert.key 2048
4. Aus dem Key generieren wir nun eine CSR Datei (Zertifizierungsanforderung oder auch engl. Certificate Signing Request). Diese enthält vereinfacht gesagt die Zertifikats Informationen.
openssl req -new -key sslcert.key -out sslcert.csr
Anschließend muss eine Reihe von Informationen eingegeben werden. In unserem Fall geben wir bei "CommonName" localhost ein da wir das Zertifikat für eine lokale Entwicklungsumgebung erstellen. Sie können auch alle anderen Felder leer lassen und diese mit "Enter" überspringen.
Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
5. Jetzt können wir aus der CSR Datei unser Zertifikat generieren. Die Gültigkeitsdauer des Zertifikates kann mit dem Parameter -days angegeben werden. In unserem Fall ist es 1 Jahr gültig.
openssl x509 -req -days 365 -in sslcert.csr -signkey sslcert.key -out sslcert.crt
Apache2 konfigurieren
1. Damit der Apache2 Webserver mit dem Zertifikat umgehen kann aktivieren wir zu nächst das "SSL Modul".a2enmod ssl
2. Damit der Apache auf auf dem richtigen Port lauscht überprüfen wir die "ports.conf" im Ordner /etc/apache2/
cat /etc/apache2/ports.conf
Die Datei sollte in etwa so aussehen. Wichtig ist das auf Port 443 gelauscht wird.
Listen 80Listen 443 Listen 443
3. Jetzt erstellen wir noch eine neue Vhost Config für den SSL Port.
nano /etc/apache2/sites-available/application-ssl.conf
Diese füllen wir dann mit folgendem Inhalt:
DocumentRoot /var/www/application/public ErrorLog /var/www/application/log/error.log CustomLog /var/www/application/log/access.log combined SSLEngine on SSLCertificateKeyFile /etc/apache2/ssl/sslcert.key SSLCertificateFile /etc/apache2/ssl/sslcert.crt Options Indexes FollowSymLinks AllowOverride All Require all granted
4. Im letzten Schritt starten wir Apache neu
service apache2 restart
Eure Seite sollte jetzt über https aufrufbar sein. Die Sicherheitswarnung im Firefox / Chrome sind normal, diese könnt Ihr einfach akzeptieren. Ich empfehle euch aber diese Konfiguration nur für Lokale Entwicklungsumgebungen! Für produktive Umgebungen bitte noch mal gründlich in SSL einlesen und ein Zertifikat von einem anerkannten Zertifikatsanbieter nehmen.































