Utleggsys

Utleggsys er en liten flask-app som UKEfunker bruker for å sende utlegg til de økonomiansvarlige.

Per dags dato er det essesielt et form + pdfgenerering, skjønt, jeg spår at det det kommer til å dukke opp noen feature-requests etterhvert (Adminpanel, sending til gjengen sin økonomiansvarlig, utsendingslogg).

Hvordan utvikle

1. Sett opp Apache, Bind, tls og µWSGI slik som en vilkårlig annen UKEinstans, se for eksempel Innsida, hvordan utvikle.

2. Lag en local_settings.py, variablene satt her overskriver variablene i settings.py: Her er et eksempel for utviklingsformål:

flask_config = dict(DEBUG=True, SECRET_KEY='lakjsdhfaw')
db_config = dict(dbname='mdb2_dev')
mail_recipients = ['sveinrou@uka.no']

Lage lokal kopi

Man setter gjerne opp en utviklings-instans på cirkus, og vi ønsker en url alá https://sveinrou.utlegg.uka.no

Først tar vi en klone av master-branchen.

bruker@cirkus:~/MIN_MAPPE$ git clone /home/cassarossa/itk/felles/git/utleggsys

Kopier local_settings.py fra en annen som utvikler eller fra eksempelet over, her er databaseinnstillingene, og div innstillinger som programmet bruker

ACL-er

Husk å sette opp riktige rettigheter ved å følge noden acl permissions

Kjøre på cirkus

I resten av noden skal BRUKERNAVN byttes ut med ditt brukernavn.

Apache-konfigurasjon

Kopier en fungerende config fra en annen på cirkus, og erstatt brukernavnet deres med ditt eget alle steder det står. Apache-config-filene ligger i /etc/apache2/sites-available/

AssignUserID skal settes til uka-httpd uka-web

For å legge til denne i sites-enabled bruker vi følgende:

bruker@maskin:~$ sudo a2ensite BRUKERNAVN.utlegg.uka.no
bruker@maskin:~$ sudo systemctl reload apache2

Før apacheconfigen lastes inn, må vi legge til en DNS-oppføring.

DNS

Følg instruksjonene i DNS-noden.

Reload Apacheconfigen:

bruker@cirkus:~$ sudo systemctl reload apache2

Kerberos

Du har kanskje gjort det allerede, og innsett at passord/brukernavnet ditt ikke virker. Vi må sette opp egen Kerberos-keytab for utviklings-instansen din.

Under kan det være greit å godta defaults. Følg det som står i "Opprette Kerberos-keytab" i itkaclbruk-artikkelen

Nå må vi redigere apache-configen til å bruke den nye keytaben

    <Location />
        AuthType Kerberos
        KrbAuthRealms AD.SAMFUNDET.NO
        Krb5Keytab /etc/apache2/krb5/BRUKERNAVN.utlegg.keytab
        KrbServiceName HTTP/BRUKERNAVN.utlegg.uka.no@AD.SAMFUNDET.NO
        KrbMethodK5Passwd on
        AuthName "Litt random tekst"
        require itkacl /web/uka/admin
    </Location>

uwsgi

Nå må vi opprette en uwsgi config-fil. Kopier en annen person sin, og endre den slik at den bruker din dev-instans.

bruker@cirkus:~$ cd /etc/uwsgi/apps-available
bruker@cirkus:~$ cp sveinrou.utlegg.uka.no.ini BRUKERNAVN.utlegg.uka.no.ini
bruker@cirkus:~$ ln -s ../apps-available/BRUKERNAVN.utlegg.uka.no.ini ../apps-enabled.custom/

Av sikkerhetsgrunner er det også viktig å sette uid og gid i configen til riktig bruker avhengig av hvilken side det er snakk om, eks uka sider er uid=uka-httpd, og gid=uka-web, tilsvarende for ufs er uid=ufs-httpd, og gid=ufs-web. Dette er fordi vi ikke vil ha uwsgi instanser kjørende som din personlige bruker siden denne har sudo-tilgang.

Da må du også passe på at gruppen, eks uka-web har lesetilgang til kildekoden. NB kun gruppen uka-web skal ha lesetilgang, ikke uka-httpd.

Så må vi fortelle uwsgi om instansen din.

bruker@cirkus:~$ sudo systemctl enable uwsgi-custom@BRUKERNAVN.utlegg.uka.no
bruker@cirkus:~$ sudo systemctl start uwsgi-custom@BRUKERNAVN.utlegg.uka.no

https

Vi har lyst til å bruke https, se noden om Let's Encrypt

Lenker: Start, gdpr, uka-no

Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2022-09-26 19:06 | Revisjon: 19 (historie, blame) | Totalt: 1880 kB | Rediger