Head on over to:
https://github.com/matrix-org/synapse#synapse-installation ...Then scroll to the last paragraph of this section, "...By default, registration of new users is disabled." The little command line method is what i used to manually register the (3) accounts for my family on my private matrix server. If you plan on using it only for yourself, it might be best to keep registration disabled, and only add yourself manually via the command line...and then you would be done.
As far as "web server", I think i know what you mean now, and admittedly I have my private matrix home server running behind nginx...but that's only because I've set it up via DigitalOcean, and simply picked one of their pre-set "LEMP" server images. I believe others have installed/run a matrix home server without nginx or apache, etc. Again, since this is all just a test for my family, i literally went into my DigitalOcean account, generated a new droplet (what they call their virtual servers), and picked a "LEMP" pre-set server. From there, i went installing the synapse server. Because nginx was already installed, I did have to forward/proxy stuff from nginx to synapse...I fully expect to kill this test matrix server off. Now having lived this, I would not have picked the LEMP image, instead just use a basic linux server from DigitalOcean and then install synapse (and any associated requirements/dependencies), that way it doesn't have nginx/apache, etc.
I have no experience with Pallium, but I suppose because there are several different implementations (python-based, Go-based, etc.) of the matrix homeserver, there could be different nuances for implementation.
Side note: The DigitalOcean droplet that I'm using for my private test matrix home server is the $5/month version (w/512MB memory, 20GB storage). Once I create the production matrix homeserver for my family, I was thinking on using the next level up $10/month version (1GB memory, 30GB storage).