# Raspberry Pi als Webserver



## Alice (14. Dezember 2018)

Hallo liebes Forum.

Ist es möglich ein Raspberry Pi so als Webserver einzurichten, dass nur eine bestimmte IP-Adresse darauf zugreifen darf? Zusätzlich könnte man noch Passwörter usw. dazuschalten.

1.) Webserver von einem Anbieter: Domain + HTML/CSS
2.) Raspberry Pi (Zuhause): Mein PHP Skript

Wenn man die Domain aufruft, wird mein Skript von mir zuhause (Raspberry Pi) geladen.

Wie "sicher" wäre das?


----------



## ComFreek (14. Dezember 2018)

Ich finde ja einen V-Server für dieses Vorhaben sicherer in dem Sinne:

Du hast bestenfalls schon vorkonfigurierte Firewalls, etwa bei Digital Ocean der Fall.
Da könntest du genau nur eine Incoming IP für TCP erlauben.
Du kannst beliebig Snapshots (Abbilder) des V-Servers anlegen, die du auf Knopfdruck wiederherstellen kannst.
Es hängt nicht in deinem Heimnetz, wo du extra eine Portfreigabe an deinem Router bräuchtest.
Die ersten zwei Punkte gehen sicherlich auch mit einem Raspberry, wenn du entsprechende Software installierst, aber bei vielen V-Server-Anbietern bekommst du diese "for free" dazu.


----------



## Alice (14. Dezember 2018)

Hört sich vielleicht blöd an, aber ich hätte (wenn überhaupt) das Problem gerne vor meiner Nase sitzen, statt in einem Rechenzentrum. 

Die Benutzer auf meiner Webseite würde von dem "2. Server" (Raspberry Pi) eigentlich überhaupt nichts mitbekommen. 

Kann man denn den Server 100% sicher für ALLE außer einer IP-Adresse absichern?


----------



## ComFreek (14. Dezember 2018)

Alice hat gesagt.:


> Hört sich vielleicht blöd an, aber ich hätte (wenn überhaupt) das Problem gerne vor meiner Nase sitzen, statt in einem Rechenzentrum.


Wo siehst du denn den Unterschied? 



Alice hat gesagt.:


> Kann man denn den Server 100% sicher für ALLE außer einer IP-Adresse absichern?


Ja, kann man, es gibt aber immer Sicherheitslücken in Software. Mit derselben Argumentation dürftest du aber nicht einen Browser verwerden


----------



## Alice (15. Dezember 2018)

Ich habe folgendes probiert und es ist eine Katastrophe.

1.) Ich habe ein PHP-Skript erstellt, welches eine SVG-Datei in einen anderen Ordner verschiebt und prüft, ob die SVG als PNG verfügbar ist. Wenn nicht, wartet das Skript bis zu 60 Sekunden (in einer Schleife), dass die PNG vefügbar wird.

> Warteschleife

2.) Auf meinen Computer habe ich ein Programm installiert, welches den o.g. Ordner auf dem Server mit einem Ordner auf meinem Computer synchronisiert. Sollten neue Dateien (SVG) verfügbar sein, startet das Programm eine Batch, die die SVG-Datei mittels Inkscape in ein PNG-Format konvertiert und dann via Windows-CMD (FTP) auf den Server uploadet.

> Download (über WatchFTP)
> Konvertierung (Inscape)
> Upload (Windows FTP Batch)

Ich habe die Laufzeit gemessen: ~ 10 bis 11 Sekunden! 

*Edit:*

Zum Gegentesten habe ich XAMPP installiert und Inkscape via "exec" konvertieren lassen, was sehr schnell funktioniert.


----------



## Alice (15. Dezember 2018)

Ich habe eben ein Vilros Raspberry Pi 3 Model B Complete Starter Kit bekommen. Mal schauen ob ich das gebacken bekomme. 

Ubuntu Mate als Betriebssystem ist richtig?


----------



## ComFreek (15. Dezember 2018)

Alice hat gesagt.:


> Ubuntu Mate als Betriebssystem ist richtig?


Ich kenne mich mit Raspberries nicht aus, aber an sich könntest du jedes general-purpose OS nehmen  Vielleicht gibt es eine extra "hardened" Version für Server.


Alice hat gesagt.:


> > Download (über WatchFTP)
> > Konvertierung (Inscape)
> > Upload (Windows FTP Batch)


Du nutzt verschlüsseltes FTP, oder? Aber super, dass es klappt  Jetzt kann man die Laufzeit optimieren.


----------



## Alice (16. Dezember 2018)

Ich habe leider das falsche Modell gekauft.

Raspberry Pi 3 Model B obwoh es schon das "B+" gibt und sogar günstiger...


----------



## Alice (16. Dezember 2018)

Ich habe nun folgendes gemacht.

1.) Raspbian Betriebssystem installiert
2.) Apache2, PHP7 usw. installiert
3.) Inkscape installiert
4.) SVG2PNG via PHP probiert > Funktioniert


----------

