Wir loggen erstmal von unserem User auf ROOT um mithilfe von
```
sudo su -
```
Hier muss dein Passwort eingegeben werden. DIes lässt sich nicht ändern.
nachdem du dich nun als ROOT angemeldet hast können wir die eine Simple Firewall installieren.
```
apt-get install ufw
```
Verschiedene Anwendungen können sich in UFW eintragen, wenn du sie installierst. Dies erlaubt es UFW die Anwendungen zu steuern. OpenSSH, die Anwendung mit der wir uns auf den Server verbinden, hat schon einen Eintrag in UFW.
Die Liste kann man sehen wenn folgendes eingibst:
```
sudo ufw app list
```
```
Output:
Available applications:
Damit wir alle Dienste reibungslos installieren können brauchen wir noch einige Packete, welche von Python zur verfügung gestellt wird.
OpenSSH
```
Nun musst du sicherstellen das die Firewall auch SSH Zugänge zulässt. Ansonsten sperrst du dich aus dem Server aus.
Also gibst du folgendes ein:
```
sudo ufw allow OpenSSH
```
```
Nun musst du noch noch die Firewall einschalten mit:
sudo apt-get install python-software-properties
```
sudo apt-get install software-properties-common
sudo ufw enable
````
Nun bestätige noch das aktivieren der Firewall mit "y".
Nun schau nach ob SSH noch eingeschaltet ist mit:
```
sudo ufw status
````
```
Output
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
```
```
Merk dir bitte wenn du weitere Dienste installierst das du die Firewall updaten musst.
# 2 Dienste die der Server braucht
## 2.1 PHP
## 2.1 PHP
>PHP wird nur benötigt wenn du auch mit einem PHP-CMS arbeitest, wie z.B. Wordpress. Ansonsten brauchst du es nicht und du kannst direkt mit 2.2 weiter machen.
>PHP wird nur benötigt wenn du auch mit einem PHP-CMS arbeitest, wie z.B. Wordpress. Ansonsten brauchst du es nicht und du kannst direkt mit 2.2 weiter machen.
Für dieses setup benutz ich PHP 7.1. Wenn deine Seite eine andere PHP Version benutzt kann dir [diese Seite](http://google.com) weiterhelfen.
Wenn du nur PHP 7.0 benutzen möchtest. Brauchst du die folgenden schritte nicht ausführen. Diese gelten nur fr PHP 7.1 da dies nicht inherennt in Xenial mit enthalten ist.
### 2.1.1 Python
Damit wir PHP 7.1 installieren können, müssen wir zum `apt-get` Quellen hinzufügen. Damit dies funktioniert brauche ich Python. Dies installier ich mit:
```
sudo apt-get install python-software-properties
sudo apt-get install software-properties-common
```
### 2.1.2 PPA hinzufügen
### 2.1.1 PPA hinzufügen
Nun fügen wir das PPA(Personal Package Archive) hinzu und updaten `apt-get`:
Nun fügen wir das PPA(Personal Package Archive) hinzu und updaten `apt-get`:
Es gibt viele verschiedene PHP Packete für jede Version. Diese kannst du die anzeigen lassen indem du:
Es gibt viele verschiedene PHP Packete für jede Version. Diese kannst du die anzeigen lassen indem du:
```
```
...
@@ -176,9 +126,11 @@ php7.1-enchant
...
@@ -176,9 +126,11 @@ php7.1-enchant
libapache2-mod-php7.1
libapache2-mod-php7.1
libphp7.1-embed
libphp7.1-embed
```
```
Viel PHP kram, einiges sind Module einiges sind vollständige PHP versionen . Wir installieren an dieser stelle erstmal nichts, denn wir installieren erst wenn wir etwas bruchen. Da wir jetzt PHP noch nirgends einbinden müssen oder benutzen brauchen wir PHP auch noch nciht.
Viel PHP kram, einiges sind Module einiges sind vollständige PHP versionen . Wir installieren an dieser stelle erstmal nur `php-fpm`.
## 2.2 Nginx
## 2.2 Webserver
### 2.2.1 Installation und Config
Bevor irgendwas auf unserem Server erreichbar ist brauchen wir einen Webserver. Wir nehmen benutzen Nginx. Also installieren wir Nginx mit:
Bevor irgendwas auf unserem Server erreichbar ist brauchen wir einen Webserver. Wir nehmen benutzen Nginx. Also installieren wir Nginx mit:
Wir müssen nun MongoDB Pakete erstmal zu unsrem Paket manager `apt` hinzufügen. Nur ist es hier leider so das MongoDB nur pro version hinzugefügt werden kann.