Enklast är väl att köra med paket i början och sen gå över till ports när/om du känner för det.
Samba för generell "fildelning"
NFS är väl lite piggare om du har t.ex Open/LibreELEC-klienter
PiHole kan du skrota i förmån för blocky ( https://github.com/0xERR0R/blocky ) eller adguardhome (https://github.com/AdguardTeam/AdGuardHome)
Syncthing (https://syncthing.net/) är väl rätt vanligt alternativ för mobiler och datorer även om det finns andra alternativ också
Har dessvärre inte möjlighet att vara 1:1 support men kortfattat
* Installera operativsystemet (Auto partitionering med ZFS är väl att rekommendera idag)
https://docs.freebsd.org/en/books/handbook/bsdinstall/index.h...
Du behöver inte installera några "optional system components"
* Skapa en användare förutom root (behöver vara medlem i gruppen wheel om du vill kunna använda su root då du inte kan använda ssh för root av säkerhetsskäl). Detta kan du göra i installationsprocessen
* Slutför installationen
* Uppdatera FreeBSD
https://docs.freebsd.org/en/books/handbook/cutting-edge/#free...
* Skapa eventuella zpools / arrays
https://docs.freebsd.org/en/books/handbook/zfs/
* Samba-installation och konfiguration, löst baserad på https://obihoernchen.net/877/setup-samba-4-on-arch-linux/
* Skapa en användare och grupp för Samba (du kan använda din befintliga också beroende på hur mycket säkerhet du vill ha)
https://docs.freebsd.org/en/books/handbook/basics/#users-grou...
https://docs.freebsd.org/en/books/handbook/basics/#users-addu... ( /sbin/nologin finns även här )
* Installera t.ex Samba och blocky (som root) via pkg
https://docs.freebsd.org/en/books/handbook/ports/
pkg install samba416 blocky
* Skapa en konfigurationsfil för Samba ( /usr/local/etc/smb4.conf ) som t.ex denna (förutsätter att du använder ZFS ta annars bort de 4 sista raderna)
[global]
workgroup = WORKGROUP
server string = Storage Server Foobar
log file = /var/log/samba.log
max log size = 10240
bind interfaces only = true
interfaces = em0
disable netbios = yes
directory name cache size = 0
aio write size = 0
load printers = no
printing = bsd
printcap name = /dev/null
veto files = /Thumbs.db/.DS_Store/._.DS_Store/.apdisk/
delete veto files = yes
enable core files = no
multicast dns register = no
[zpubdata]
comment = Foobar's Storage Pool PubData
path = /array0/pubdata
public = yes
guest ok = yes
writable = yes
write list = registrerad-användare
browseable = yes
create mask = 0775
vfs objects = zfsacl
nfs4:mode = special
nfs4:acedup = merge
nfs4:chown = yes
interfaces, path, write list är värden du behöver ändra
* Skapa en användare i Samba som matchar den du skapade i FreeBSD, sätt samma lösenord för att vara smidig
pdbedit -a -u lokalanvändare
* Lägg till följande i /etc/rc.conf (så Samba startar automatiskt och går att starta med rc.d)
samba_server_enable="YES"
smbd_enable="YES"
nmbd_enable="NO"
* Starta Samba manuellt
/usr/local/etc/rc.d/samba_server start
Förutsätt att du har rätt rättigheter på sökvägen (katalogen) du försöker dela så har du Samba nu fungerade annars får du kolla i /var/log/samba.log vad den vill. Det är ingen skillnad mellan Linux och BSD när det gäller Samba så eventuella fel kommer vara lika.
* Skapa en konfigurationsfil för blocky ( /usr/local/etc/blocky-config.yml )
Ändra IP-adressen för Port så det är samma som för din server
Se blockys hemsida för mer infomation angående konfigurering
* Lägg till följande i /etc/rc.conf (så blocky startar automatiskt och går att starta med rc.d)
blocky_enable="YES"
* Starta blocky manuellt
/usr/local/etc/rc.d/blocky start
Så har du en fungerande instans av blocky också
Har du frågor som är specifika för FreeBSD så finns t.ex forums.freebsd.org notera dock att ~99% av alla program fungerar och konfigureras lika mellan Linux / BSD med några få undantag som namn på t.ex nätverkskort, diskar och försök att kolla med dokumentation för programmet och/eller Googla först efter ditt problem.
Har inte kört syncthing själv men det finns som paket sen är det bara att följa handbooken samt syncthings officiella dokumentation.