Sign Up Sign In

How to protect the git respository for a public_html folder on a Linux server?


On a Linux server, if you leave the .git folder unprotected in the public_html folder, its possible that someone could download the folder and then gain access to your files.

There are two ways I have seen of preventing this,

  • Move it up one level and then in the .gitignore ignore all folders except the public_html.
  • Deny access in the .htaccess.

Is there a better way of protecting the .git folder?

Why should this post be closed?


2 answers


The best practice here is, Don't deploy your .git folder to your web server. Then there's nothing to protect.

1 comment

I was about to ask that. Why put .git in public_html folder in the first place? ‭hkotsubo‭ 20 days ago


If you can, have the repository locally and/or in a Git server. Use rsync to deploy updates to public_html.

If the repository still needs to live in that same server, same applies (rsync, just locally and not remotely), but the repository lives under $HOME, not in public_html.

You might replace rsync for scp (or cp locally) but when you can afford it because very small sites with negligible transfer times.


Sign up to answer this question »