Ja, Samba unter FreeBSD hat support für TimeMachine
Freshports - Samba 4.12
scroll mal nach unten zu "Configuration Options".
Configuration Options
===> The following configuration options are available for samba412-4.12.7:
ADS=on: Active Directory client(implies LDAP)
AD_DC=on: Active Directory Domain Controller
CLUSTER=off: Clustering support
CUPS=off: CUPS printing system support
DEVELOPER=off: With developer framework(implies NTVFS)
DOCS=on: Build and/or install documentation
FAM=on: File Alteration Monitor
GPGME=off: GpgME support
LDAP=on: LDAP client
MANDOC=off: Build manpages from DOCBOOK templates
NTVFS=off: Build *DEPRECATED* NTVFS file server
PROFILE=on: Profiling data
QUOTAS=on: Disk quota support
SPOTLIGHT=off: Spotlight server-side search support
SYSLOG=on: Syslog logging support
UTMP=on: UTMP accounting
====> VFS modules
FRUIT=on: MacOSX and TimeMachine support
GLUSTERFS=off: GlusterFS support
====> GSSAPI Security API support: you have to select exactly one of them
GSSAPI_BUILTIN=on: GSSAPI support via bundled Heimdal
GSSAPI_MIT=off: GSSAPI support via security/krb5
====> Zero configuration networking: you have to select exactly one of them
ZEROCONF_NONE=off: Zeroconf support is absent
AVAHI=on: Zeroconf support via Avahi
MDNSRESPONDER=off: Zeroconf support via mDNSResponder
====> DNS frontend: you can only select none or one of them
NSUPDATE=off: Use samba NSUPDATE utility for AD DC
BIND911=off: Use Bind 9.11 as AD DC DNS server frontend
BIND916=off: Use Bind 9.16 as AD DC DNS server frontend
===> Use 'make config' to modify these settings
Ich sage ja nicht, dass du FreeBSD nehmen sollst, nur dass ich damit für einen FileServer gute Erfahrungen gemacht habe. Und Server wirst du in der Regel immer meistens eh auf der Konsole arbeiten
Zum Thema Tutorial: Die reine Installation von FreeBSD ist im Prinzip in 5 Minuten erledigt, und mehr oder weniger selbsterklärend. Die Arbeit beginnt danach.
Sollest du dich für FreeBSD entscheiden, auf keinen Fall ZFS für die Datenplatten nehmen. ZFS unter FreeBSD durch Samba zu exportieren geht zwar, macht aber keinen Spass (Müsste es selbst mal wieder ausprobieren. Ich hatte es mal hinbekommen, aber ist halt nicht intuitiv).
Nachteil: Hat man ZFS, kannst du per Cronjob ganz bequem per zfs-snapshot backups erstellen lassen. Nimmt man aber nicht ZFS, tja.....
Probiers mal in einer Virtualbox aus. Du würdest dich aber halt mit der Konsole anfreunden müssen.
Download
FreeBSD-12.1-RELEASE-amd64-disc1.iso nehmen, mit dd-Befehl (oder unter Windows nehme ich Rufus) auf nen Stick brutzeln, und Attacke.
oder eben in VirtualBox die ISO im CD-LW einhängen und Feuer frei...
EDIT: Falls du dich doch für Linux entscheiden solltest, würde ich aber eher Debian anstatt Ubuntu nehmen.
Canonical hat meinem Geschmack nach, zuviel seit 18.04 LTS verbockt.