I've been changing my mind and messing about with this for years and *still* haven't really come to a sensible final conclusion. It's not even that it matters all that much but I wish there was an obvious answer.
Where do you put all your HTML stuff on a home Linux server?
There are two basic alternatives, each with advantages and disadvantages:-
1 - In your home directory
Permissions are easy to deal with, no need to become root to edit web pages.
But it means that, if the outside world has access, you have to be *very* careful with apache set up if you want to be sure only the right bits are visible to the outside world.
You either have to use the ~<user> in the URL or you have to add symbolic links from apache's DocumentRoot.
If there's more than one user (not in my case) /home makes more sense.
Backing up is easy as the HTML gets backed up with your home directory (though there might be bits in DocumentRoot you want to back up anyway).
2 - In apache's DocumentRoot (/var/www/html in my case)
Messier with permissions if you want to edit HTML without becoming root all the time. Also not so convenient for editing even with permissions set up OK as it's not in your home directory.
Easier to make sure that any outside access can only see what you want to be seen.
Cleaner/easier URLs without the need for symbolic links.
Not really practical for multi-user but this doesn't apply for me.
Need to back up separately from /home (though I suppose you could make /var/html a link across to the /home partition)
I keep a lot of quite dynamic (i.e. frequently changing) files as HTML, or at least their content is web browsable, so the above issues are important for me.
Does anyone have any comments, ideas, solutions?