Each site has a home directory that lives somewhere on our network, called the site root. Inside the site root, there are several subdirectories:
- conf
- This directory can be used for configuration files that shouldn't be in the public web directory. It can be used to customize PHP or to store configuration files for custom web servers and other daemon processes.
- logs
- This directory is used for your access and error logs (both current and archived) if you choose to enable them.
- private
- This directory is yours to use for files that you do not want accessible via the web at all. For example, if you're compiling a custom C++ or Go application, putting the source code in this directory would be appropriate. This directory is also your "home" directory for Unix shell purposes.
- protected
- Files in protected are accessible to scripts and daemons but cannot be directly downloaded over the web. For PHP and CGI applications, this should include libraries, frameworks, config files, data, or other support files that the scripts in the public folder need to operate. For daemon processes, everything but static content typically goes inside protected.
- public
- This directory is the heart of your site. All of the content in this directory is directly accessible via the web. Put all your static HTML files, images, .htaccess files, and directly-accessed PHP or CGI scripts in this directory and, to the best of your ability, absolutely nothing else.
- tmp
- This directory is for transient (temporary) files, like files uploaded via PHP before they get processed, or for session-handling files.
Old sites may also have a symbolic link from htdocs to public. htdocs is a historical name for the same directory. It is not used by our system.