summaryrefslogtreecommitdiffstats
path: root/notes.md
blob: 5380acfd81a5687bd742b0f892e65da2dd03e104 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
## fstab

Ändringar i `/etc/fstab`, `/etc/default/openmediavault` och
`/etc/openmediavault/config.xml` har gjorts för att (försöka) få bort flaggan
`noexec` från data-disken.

## Användare

Alla har fått varsin användare med en egen mapp i `/data/users/$(whoami)`. Dessa
nås från det lokala nätverket med samba och utifrån med antigen SFTP eller
VPN/samba.

## SSH

SSH nås från det lokala nätverket (och VPN) på lokal standardport 22. Där
accepteras både lösenord och nyckel. Utifrån nås SSH på
`(.*).xn--srns-noa9h.se:16872` (t.ex. `ssh git.xn--srns-noa9h.se -p 16872`) men
då accepteras bara nyckel. Lägg till en nyckel till din användare via lokal
lösenordsinloggning för att kunna komma åt SSH utifrån.

För att göra det lite mer ergonomiskt med ssh (framförallt via git utifrån) går
det att lägga till adressen i `~/.ssh/config`. Jag (Gustav) brukar använda
följande:

```
# ~/.ssh/config (på linux/mac, windows => ?)
Host sornas
    HostName git.xn--srns-noa9h.se
    Port 16872
    User git
```

Den största fördelen med denna är att du nu om du till exempel vill göra
ändringar på webbservern (`www.`) kan skriva `git clone sornas:www.git` istället
för det som står nedan (*www.xn--srns-noa0h.se*). Ett eget repository nås med
`git clone gustav/dwm.git` eller rentav `git clone henrik/lots/of/folders/later.git`.

## Apache

Alla separata tjänster har en egen .conf i `/etc/apache2/sites-available`. Dessa
sätts igång och slås av med `a2ensite` respektive `a2dissite`, kommandon som
symlänkar `.conf`-filer från `sites-available/` till `sites-enabled/`.

### Aktiva konfigurationer

I bokstavsordning:
- firefly
- git: cgit
- grafana: administratörssida
- mediavault: administratörssida
- pihole: statistik/administratörssida
- tomcat
- www: [www.xn--srns-noa9h.se]() -> `/var/www/static`

## HTTPS

Certifikat för HTTPS sköts av certbot och Let's Encrypt. certbot förnyar
certifikaten när de börjar bli gamla mha en systemd-timer. Eftersom vi inte kan
ordna ett wildcard-certifikat behöver certifikatet uppdateras för varje ny domän
som behövs, men som tur är kan certbot sköta detta automatiskt. Lägg till
HTTPS-konfigurationen i Apache (kolla på någon annan .conf för att se hur det
ska se ut) och kör sedan `certbot --apache` så borde resten fixa sig automatiskt.
Föredra att utöka (expand) det redan existerande certifikatet istället för att
skapa ett nytt. Be inte certbot ställa in redirects. certbot lägger själv till
ssl-konfigurationer, glöm inte att aktivera dem med med `a2ensite`.

## Firefly

Nödvändiga filer för backup är `/var/www/firefly-iii/.env`,
`/var/www/firefly-iii/storage/database/database.sqlite` och
`/var/www/firefly-iii/storage/uploads`. Återställ en backup genom att först installera
firefly på nytt enligt dokumentationen som vanligt (med en ny databas) och sedan
byta ut den tomma databasen med den gamla. Se till att använda sqlite.
[https://docs.firefly-iii.org/advanced-installation/upgrade]().

I nuläget (2019-12) körs PHP 7.3 och Firefly 4.8.2.

## git

På https://git.xn--srns-noa9h.se visas alla git-kataloger på servern utom
administrationskatalogen `gitolite-admin` (av förklarliga anledningar). Dessa
hanteras med [gitolite](https://gitolite.com/gitolite/index.html) vars
grundläggande användning beskrivs i `git.md`.
[cgit](https://git.zx2c4.com/cgit/about/) serverar webbsidan och ansvarar även
för anonyma https-kloner av git-kataloger. cgit konfigureras i filen
`/etc/cgitrc`.

## www.xn--srns-noa9h.se

[www.xn--srns-noa9h.se]() kan ändras med hjälp av git-repositoryt `www.git`.
Klona det (`git clone ssh://git@git.xn--srns-noa9h.se:16872/~/www.git`, se *ssh*
ovanför för att göra det lite mer ergonomiskt) så kommer alla ändringar som
hamnar på serverns `master` (`git push`) automatiskt uppdatera
[www.xn--srns-noa9h.se]().