Init First Documetation

This commit is contained in:
www
2020-04-20 05:11:05 +00:00
commit a1c775aaa1
18 changed files with 249 additions and 0 deletions

1
HowToStart/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
templates

View File

@@ -0,0 +1,53 @@
title: 1.1. Neue Entwicklungsumgebung einrichten
template: page_plain.html
$subpagestab$
Für diesen Schritt sind su Rechte notwendig. Wenn du noch keine hast, frag jemanden das für dich zu erledigen.
## 1. Neuen Ordner anlegen
:::bash
# Unterordner im Ordner /srv erstellen
cd /srv
mkdir test_1
# Benutzer www als Owner!
chown www test_1
## 2. Einen permanenten Test Port zuordnen
Dieser Schritt kann auch übersprungen werden und kurzfristig 8001 bis 8003 verwendet werden.
:::bash
# für alle die nicht emacs nutzen gerne auch vim
# wer weder emacs noch vim kennt hat vermutlich keine sudo Rechte
emacs /etc/nginx/sites-available/tests
Nginx Konfiguration
Für *name* einen freien subdomain namen verwenden. und für *Port* einen freien Port. Am besten +1 zu dem letzten vorhandenen.
:::nginx
server {
listen 80;
server_name <name>.2020.fet.at;
root /srv/static;
location / {
proxy_ssl_server_name on;
proxy_ssl_verify off;
proxy_pass http://127.0.0.1:<port>;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header REMOTE-USER $http_REMOTE_USER;
proxy_set_header Connection "upgrade";
}
}
Konfiguration testen und NGinx neu starten
:::bash
nginx -t
systemctl reload nginx
## Dokumentation anlegen
Auf [diese Seite gehen](https://dev.2020.fet.at/#/srv/fet2020_doc) und die [Dokumentation](https://doc.2020.fet.at/) ergänzen.

View File

@@ -0,0 +1,18 @@
title: 1.2 Erste Schritte in der neuen Umgebung
## Öffnen der Entwicklungsumgebung
unter dem Link https://dev.2020.fet.at/#/srv/&lt;projektordner&gt; findest du die Entwicklungsumgebung
![Terminal Button in IDE](../screenshots/Screenshot_GetStarted_1.png)
## Erstellen einer virutell PIP Umgebung
![Terminal öffnen](../screenshots/GetStarted_2.png)
Aktivieren einer viruellen Python3 Umgebung.
:::bash
www@fetsite:/srv/test_1$ python3 -m venv .env
www@fetsite:/srv/test_1$ activate
(.env) www@fetsite:/srv/test_1$
Ab jetzt sollte die Zeile im Terminal beginnen mit (.env).

View File

@@ -0,0 +1,47 @@
title: 1.3 Hello World mit Flask
Erstelle eine kleine Python Datei, zB test.py mit dem Inhalt:
:::python
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
Starte den Development Server mit
:::bash
FLASK_APP=test.py flask run --host=0.0.0.0 --port=8104
Ändere den Port und den Dateinamen entsprechend.
Damit das jeweilige Startcommando nicht jedesmal eingetippt werden muss, empfehle ich eine run Datei zu erstellen:
run
:::bash
#!/bin/bash
. .env/bin/activate # Die Pythonumgebung laden
#
# Starten des flask Development Sers
# Die App muss in einer Datei sein,
# host 0.0.0.0 bedeutet, dass der Developmentserver auch von anderen erreicht werden kann.
# Default wäre dass der Server am Entwickulungsrechner lokal betrieben wird
# Port bitte auf den jeweiligen Wert ändren
FLASK_APP=test.py flask run --host=0.0.0.0 --port=8104
jetzt ein Terminal öffnen und die Datei lauffähig machen
:::bash
chmod +x run # Ausführen erlauben
./run # Ausführen
Im Terminal sollte jetzt etwa folgende Ausgabe erscheinen
:::bash
* Serving Flask app "test.py"
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://0.0.0.0:8104/ (Press CTRL+C to quit)

View File

@@ -0,0 +1 @@
title: Git aktivieren

View File

@@ -0,0 +1,33 @@
title: Django Fet Login
Django kommt mit einem Administrationsinterface und einem Usermanagement.
Die Anleitung hier ist dazu gedacht den LDAP Login zu übernehmen und automatisch in Django einzuloggen.
middleware.py
:::python
from django.contrib.auth.models import User
from django.contrib.auth.middleware import RemoteUserMiddleware
import django
class FETHeaderMiddleware(RemoteUserMiddleware):
header="Remote-User"
def process_request(self, request):
#Http Header auch nutzen:
request.META[self.header]=request.META.get(self.header, request.headers.get(self.header,None))
super().process_request(request)
# Alle eingeloggten User zum Superuser machen
if request.user.is_authenticated:
request.user.is_admin=True
request.user.is_superuser=True
request.user.is_staff=True
In setting.py
:::python
MIDDLEWARE = [ ...
'django.contrib.auth.middleware.AuthenticationMiddleware',
'test1.middleware.FETHeaderMiddleware',
...]

4
HowToStart/index.md Normal file
View File

@@ -0,0 +1,4 @@
title: 1. How To Start
template: page_plain.html
$subpagestab$

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

0
HowToStart/test.jpg Normal file
View File

25
HowToStart/test.md Normal file

File diff suppressed because one or more lines are too long