-
Notifications
You must be signed in to change notification settings - Fork 6
Oppdatere ∇ server
[TOC]
tegnforklaring:
kommandoer omgitt av <> avhenger;
kommandoer omgitt av () er valgfrie;
ssh <username>@babel.nabla.no
<password>
ssh er Secure SHell; en måte å sikkert koble seg til eksterne servere. Dette krever at du allerede har fått opprettet en bruker på serveren.
Etter dette steget skal det stå <brukernavn>@babel:~$
i terminalen.
cd /srv/nablaweb
OR cd /srv/jubileum.nabla.no
cd er Change Directory, en måte å endre mappen du står i (på den eksterne serveren). I ugangspunktet skal du være plasssert i "~" (kanskje bedre kjent som "hjem/heim" [home]). Den innledende "/" er rot-mappa [root-directory], så stien er en en absolutt sti [absolute path]. Fjernes denne får man en relativ sti [relative path], altså cd ~/srv/jubileum.nabla.no
, som kanskje ikke engang eksisterer.
git status
, git log
Kan være nyttig om en ønsker å se den nåværende versjonen av siden.
sudo su <brukernavn>
f. eks. sudo su nablaweb
For å få tilgang til å endre på filene i mappa må vi logge på brukeren som eier mappa. For å gå ut av denne brukeren etterpå, skriver man exit
.
Etter dette steget skal det stå nablaweb@babel:/srv/nablaweb$
eller tilsvarende mappe i terminalen.
git pull
Dersom du får en error som likner error: cannot open .git/FETCH_HEAD: Permission denied
er eierskapet på mappa feil, da må du gå tilbake til din egen bruker og endre på eierskapet med f. eks. sudo chown -R <username>:webapps /srv/<nettside>
f. eks. sudo chown -R nablaweb:webapps /srv/nablaweb
.
git diff HEAD^
Denne kan brukes til å se endringen mellom den nåværende og forrige commit-en.
Steg 7-10 er bare nødvendig viss du har gjort endringer til statiske filer (css, javascript) eller modeller. Viss du bare har gjort endringer i HTML-koden eller andre mindre endringer, kan du hopper over disse stegene, og gå rett til hjem-mappa (steg 11).
pipenv shell
venv er et virtuelt miljø [Virtual ENVironment]. Dette er et avhengighets-kontrollverktøy som brukes for å forsikre om at alle pakker og filer er kompatible.
Etter dette steget skal det stå (nablaweb-########) nablaweb@babel:/srv/nablaweb$
eller tilsvarende mappe i terminalen, der ########
er en streng med tegn.
Pipenv laster også inn .env
-filen for oss, hvor blant annet info om databasen (navn, bruker, passord) ligger. Dette er nødvendig viss man f.eks. vil bruke python manage.py shell
for å se/endre info i databasen.
python manage.py collectstatic
Våre statiske filer serveres ikke gjennom django, men direkte med nginx.
Dette betyr at de må ligge på riktig plass på serveren for at nginx skal finne dem.
Dersom du har endret på statiske filer må du kopiere disse filene til dette riktige stedet.
Dette gjøres med collectstatic
-kommandoen.
Denne spør kanskje om å overskrive eksisterende files; bare svar yes
.
python manage.py migrate
Viss du har gjort endringer i modeller så må disse legges til. Man burde også ta backup av databasen før dette gjøres. makemigrations
skal IKKE kjøres på production ettersom dette burde gjøres lokalt og inkluderes i repositoriet.
exit
Vi trenger ikke lenger å være i det virtuelle miljøet (venv) lenger.
Etter dette steget skal det stå nablaweb@babel:/srv/nablaweb$
eller tilsvarende mappe i terminalen.
exit
Vi trenger ikke lenger å være bruker i de neste stegene.
Etter dette steget skal det stå <brukernavn>@babel:/srv/nablaweb$
eller tilsvarende mappe i terminalen.
sudo systemctl restart nablaweb
eller sudo systemctl restart jubside
Denne restarter serveren med de nyeste endringene som er lagt til.
systemctl status nablaweb
(eventuelt: systemctl status jubside
)
Viss vi vil kan vi sjekke statusen til nettsiden (om den er online, osv.)
exit
Avslutt den eksterne tilkoblingen til serveren.
stat <location>
Denne brukes til å få informasjon om en mappe, enten det skulle være filrettigheter eller hvem-hvet-hva.