Hvordan utvikle på innsida.uka.no

Sette opp utviklings-instans

Lage lokal kopi

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

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

bruker@cirkus:~/dev$ git clone /home/cassarossa/itk/felles/git/innsida

Kopier local.py fra en annen som utvikler:

bruker@cirkus:~/dev$ cp /home/cassarossa/itk/herman/code/innsida/innsida/settings/local.py innsida/innsida/settings/local.py

Lag virtualenvironment, og installer pakker

virtualenv -p /usr/bin/python2.7 venv && source venv/bin/activate
pip install -r requirements_dev.txt

Apache-konfigurasjon

Kopier en fungerende config fra en annen på cirkus. De ligger i /etc/apache2/sites-available/ Endre brukernavnet i configen til deg selv, og pass på at DocumentRoot er riktig.

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

bruker@maskin:~$ sudo a2ensite innsida-herman.uka.no

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

Bind

Vi ønsker å få DNS til å peke riktig, og må legge dette inn i bind sin config.

bruker@maskin:~$ vim /etc/bind/pz/uka.no

Find de linjene hvor andre har innsida DNS records og legg deg selv til.

Ser nok slik ut:

innsida-herman   IN      CNAME   cirkus.samfundet.no

Deretter signerer du sonen og reloader BIND ved:

bruker@cirkus:~$ cd /etc/bind/pz
bruker@cirkus:~$ sudo zonesigner uka.no
bruker@cirkus:~$ sudo systemctl reload bind9

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 SAMFUNDET.NO
        Krb5Keytab /etc/apache2/krb5/innsida-herman.keytab
        AuthName "Uka innsida"
        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 innsida-herman.uka.no.ini innsida-bruker.uka.no.ini
bruker@cirkus:~$ ln -s ../apps-available/innsida-bruker.uka.no.ini ../apps-enabled.custom/

Så må vi fortele uwsgi om instansen din.

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

https

Vi har lyst til å bruke https, se noden om [Let's Encrypt]. Kort sagt:

bruker@cirkus:~$ sudo certbot -d innsida-herman.uka.no -a letsencrypt-varnish-plugin:varnish -i letsencrypt-hitch-plugin:hitch

Når du har utviklet det du vil

Det første du må gjøre er å forsikre deg om at det ikke er endringer i det offisielle innsida-treet som har skjedd mens du utviklet, så kjør en update av mainline og gjør en merge fra mainline:

bruker@maskin:~/dev/innsida$ git commit -m "min commitmelding"
bruker@maskin:~/dev/innsida$ git pull
bruker@maskin:~/dev/innsida$ git push

Er det konflikter eller andre endringer under pull/push, løs opp og commit.

Prøv å gjøre commit-meldingene dine rimelig informative! Bare «merge fra –bruker» er veldig lite nyttig, prøv å få med i korte trekk hva som faktisk er skjedd.

Produksjonssetting

Da må du ssh-e til cirkus, som hoster innsida, og sette den nye versjonen i produksjon:

bruker@cirkus:~$ cd /var/www/uka.no/innsida
bruker@cirkus:~$ sudo git pull

Lenker: Start

Mail: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2018-10-06 23:14 | Revisjon: 6 (historie, blame) | Totalt: 1472 kB | Rediger