|
|
Dieses Kapitel beschreibt die Vorgehensweise der Installation der Serveranwendung.
|
|
|
Dabei wird nicht auf jede Bibliothek oder zusätzlicher Anwendung,
|
|
|
die installiert werden muss, eingegangen. Das Betriebssystem
|
|
|
des Servers, dass in dieser Arbeit beispielhaft verwendet wird, ist Ubuntu
|
|
|
16.04 Server. Zuerst wird ein unpriviligierter Benutzer erstellt, mit entsprechendem
|
|
|
Passwort.
|
|
|
|
|
|
Dabei wird nicht auf jede Bibliothek oder zusätzlicher Anwendung, die installiert werden muss, eingegangen. Das Betriebssystem des Servers, dass in dieser Arbeit beispielhaft verwendet wird, ist Ubuntu 16.04 Server. Zuerst wird ein unpriviligierter Benutzer erstellt, mit entsprechendem Passwort.
|
|
|
|
|
|
``` bash
|
|
|
>sudo adduser server
|
|
|
```
|
|
|
|
|
|
Alle folgenden Installationsschritte erfolgten auf dem genannten Betriebssystem.
|
|
|
Die Installation erfolgt durch zwei Paketmanager. Einmal handelt
|
|
|
es sich das Advance-Package-Tool (apt-get), der generell Pakete unter Debian
|
|
|
Linux verwaltet. Der andere Paketmanager PIP verwaltet die Python
|
|
|
Pakete. Installiere PIP :
|
|
|
|
|
|
Die Installation erfolgt durch zwei Paketmanager. Einmal handelt es sich das Advance-Package-Tool (apt-get), der generell Pakete unter Debian Linux verwaltet. Der andere Paketmanager PIP verwaltet die Python Pakete. Installiere PIP :
|
|
|
|
|
|
``` bash
|
|
|
>sudo apt-get install python3-pip
|
|
|
Java muss installiert werden um den Code auf Server zu installieren und
|
|
|
auszuführen.
|
|
|
```
|
|
|
|
|
|
Java muss installiert werden um den Code auf Server zu installieren und auszuführen.
|
|
|
|
|
|
>sudo apt-get install openjdk-8-jdk
|
|
|
|
|
|
Code auschecken oder per Zip
|
|
|
|
|
|
>sudo apt-get install subversion
|
|
|
|
|
|
Installiere VirtualEnv über PIP :
|
|
|
|
|
|
>sudo pip3 install virtualenv
|
|
|
|
|
|
Jetzt müsste man sich als der server user einloggen
|
|
|
|
|
|
>su server
|
|
|
|
|
|
Ordner im Heimatverzeicnhis von server für den Checkout wird erstellt.
|
|
|
|
|
|
>mkdir koja
|
|
|
|
|
|
Befehl für SVN Download (username muss angepasst werden)
|
|
|
|
|
|
>svn co --username=yourUserName https://svn.uni-koblenz.de/kasjen/diplom/code/ koja
|
|
|
|
|
|
Erstelle VirtualEnv (am besten im ’Home Directory’ des Benutzers ’server’
|
|
|
) :
|
|
|
|
|
|
>virtualenv koja_env
|
|
|
|
|
|
Aktiviere VirtualEnv :
|
|
|
|
|
|
>source koja_env/bin/activate
|
|
|
|
|
|
Durch die Aktivierung kann man in einer einer abgeschlossenen Umgebung
|
|
|
arbeiten. Der Vorteil ist das nur bestimmte Pakete für diese Umgebung
|
|
|
installiert werden. Folgende Pakete werden nun für die Webapplikation
|
|
|
erstellt. Die Pakete mit ihrer Versionierung kann man in eine requirements.txt
|
|
|
Durch die Aktivierung kann man in einer einer abgeschlossenen Umgebung arbeiten. Der Vorteil ist das nur bestimmte Pakete für diese Umgebung installiert werden. Folgende Pakete werden nun für die Webapplikation erstellt. Die Pakete mit ihrer Versionierung kann man in eine requirements.txt
|
|
|
|
|
|
( koja/deployment )einfügen. Am einfachsten ist die Installation
|
|
|
mit dem Befehl :
|
|
|
|
|
|
(koja_env)>pip3 install -r koja/deployment/requirements.txt
|
|
|
Wenn der Build von pillow nicht geht dann muss eine jpeg library installiert
|
|
|
werden aber root Benutzer.
|
|
|
|
|
|
>sudo apt-get install libjpeg-dev zlib1g-dev
|
|
|
Es folgt eine einfache Einrichtung der Datenbank. Die Datenbank wird anhand
|
|
|
von der models.py erstellt.
|
|
|
|
|
|
Es folgt eine einfache Einrichtung der Datenbank. Die Datenbank wird anhand von der models.py erstellt.
|
|
|
|
|
|
(koja_env)>python3 manage.py makemigrations app
|
|
|
(koja_env)>python3 manage.py migrate
|
|
|
Beispieldaten sind in der Yaml Datei vorhanden. Diese wird durch den folgenden
|
|
|
Befehl in die Datenbank geladen.
|
|
|
|
|
|
Beispieldaten sind in der Yaml Datei vorhanden. Diese wird durch den folgenden Befehl in die Datenbank geladen.
|
|
|
|
|
|
(koja_env)>python3 manage.py loaddata initial_data.yaml
|
|
|
Installation des NGINX Servers und der UWSGI (Web Server Gateway Interface)
|
|
|
Schnittstelle
|
|
|
|
|
|
Installation des NGINX Servers und der UWSGI (Web Server Gateway Interface) Schnittstelle
|
|
|
|
|
|
>sudo apt-get install uwsgi uwsgi-plugin-python3
|
|
|
>sudo apt-get install nginx
|
|
|
|
|
|
Alle statischen Dateien werden in einem Ordner gesammelt. Dies macht
|
|
|
python über den Befehl collectstatic.
|
|
|
|
|
|
(koja_env)>python3 manage.py collectstatic
|
|
|
|
|
|
In den Konfigurationsdatei müssen evtl. die statischen Pfade und die Userid
|
|
|
(in Moment ist alles auf /home/server/ ) geändert werden. Dann werden
|
|
|
die bereitgestellten (im Projekt Ornder config) Konfigurationsdateien
|
|
|
in das entspreche Konfigurationsverzeichnis kopiert.
|
|
|
|
|
|
>sudo cp ~/path/to/your/myproj/config/mysite_nginx.conf /etc/nginx/sites-enabled/
|
|
|
>sudo cp ~/path/to/your/myproj/config/uwsgi.ini /etc/uwsgi/apps-enabled/
|
|
|
|
|
|
Der Server kann neu gestartet werden und kann auf der ip :8080 angeschaut
|
|
|
werden |