Commit d8659dd7 authored by Jan Göttlich's avatar Jan Göttlich

some changes to server setup

parent 462c7255
...@@ -53,73 +53,23 @@ PermitRootLogin no ...@@ -53,73 +53,23 @@ PermitRootLogin no
PasswordAuthentication no PasswordAuthentication no
``` ```
## 1.4 Firewall einrichten # 2 Dienste die der Server braucht
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`:
``` ```
...@@ -127,7 +77,7 @@ sudo add-apt-repository ppa:ondrej/php ...@@ -127,7 +77,7 @@ sudo add-apt-repository ppa:ondrej/php
sudo apt-get update sudo apt-get update
``` ```
### 2.1.3 Was ist das richtige PHP ### 2.1.2 Was ist das richtige PHP
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:
``` ```
...@@ -275,7 +227,7 @@ env[TEMP] = /tmp ...@@ -275,7 +227,7 @@ env[TEMP] = /tmp
; php_admin_value[open_basedir] = /var/www/DOMAINNAME/htdocs:/tmp ; php_admin_value[open_basedir] = /var/www/DOMAINNAME/htdocs:/tmp
``` ```
## HTTP Auth in nginx ## 2.2.2 HTTP Auth in nginx
``` ```
sudo apt-get install apache2-utils sudo apt-get install apache2-utils
...@@ -298,10 +250,73 @@ server { ...@@ -298,10 +250,73 @@ server {
} }
``` ```
## MySQL ## 2.3 Datenbanken
### 2.3.1 MySQL
``` ```
sudo apt-get update sudo apt-get update
sudo apt-get upgrade sudo apt-get upgrade
sudo apt-get install mysql-server-5.7 sudo apt-get install mysql-server-5.7
``` ```
### 2.3.2 MongoDB
### 2.3.1 Import MongoDB Pakete
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.
Mongo v3.4
```
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
```
Mongo v3.6
```
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
```
### 2.3.2 Auflisten der Pakete von MongoDB
Damit die pakete auch mit `apt` installiert werden können müssen wir diese nun auch auflisten.
Die geschieht indem wir die Datei `/etc/apt/sources.list.d/mongodb-org-3.6.list` erstellen, mithilfe folgendem befehls:
```
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
```
### 2.3.3 Daten neu Lesen
nun müssen wir mit `apt` die Daten nochmal aktualisieren.
```
sudo apt-get update && sudo apt-get upgrade
```
### 2.3.4 Install MongoDB
Nach dem ganzen schnickschnack können wir jetzt mongodb installieren.
```
apt-get install -y mongodb-org
```
### 2.3.5 Läuft MongoDB auch
Mit `service mongod status` wird der status angezeigt und es sollte etwas auftauschen wie folgt:
```
● mongod.service - High-performance, schema-free document-oriented database
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: https://docs.mongodb.org/manual
```
Wenn bei der Zeile `Active` nun `active (running)` steht bist du fertig mit MongoDB ansonsten musst du noch
```
service mongod start
```
ausführen.
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment