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
Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2022-09-26 19:06 | Revisjon: 19 (historie, blame) | Totalt: 1905 kB | Rediger