La meilleure solution reste d'installer une distri linux en cli. Tu la configures en ip fixe, tu lui mets un iptable, et tous les outils nécessaires pour un serveur WEB (apache ou nginx, les librairies de ton choix, un outil de BDD, un client et serveur sftp, un serveur mail, un outil de certificat autosigné).
Si tu veux que ta machine soit accessible aux personnes extérieur à ton "domicile" il te faut une ip publique statique de préférence, un enregistrement DNS ou bien passé par une solution DynDNS et tu devras ouvrir les ports de ta box, mais une manière de mieux sécurisé et de faire du nat/pat pour éviter de te faire dos.
Et oui c'est super fun à mettre en place et ça te permettra de mieux comprendre en tant que Back end ou futur DevOps ou FullStack les mécanismes, le routage et la sécurisation d'un site web.