# Files setup

Download the product archive from your Envato downloads.

1. Download the product archive from your Envato downloads.
2. Upload the archive to the directory that will contain the application and extract it on the server. Extracting on the server keeps hidden files from being skipped.
3. Copy the contents of the package's `Script` directory into the application directory.
4. Confirm that hidden files such as `.env` and `.htaccess` are present.
5. Allow the web server user to write to `storage/` and `bootstrap/cache/`. Don't make the whole application writable.

## Document root

Point the domain's document root at the package's `public/` directory. If the application lives in `/var/www/justdocs`, the document root is `/var/www/justdocs/public`.

This keeps `.env`, the code, logs and stored secrets outside the public web directory. If `/public` appears in your site's address, the document root isn't set correctly.

<Info>
A package-level fallback file may help on restricted hosting, but the real document root is the production-safe answer.
</Info>

### Web server notes

- **Apache/LiteSpeed:** allow the included `.htaccess` rules and enable URL rewriting.
- **Nginx:** route requests through `public/index.php` with a standard Laravel server block.
- **Customers' domains:** requests for a customer's domain arrive with that hostname. Make the JustDocs virtual host the default one (Apache: first in the list; Nginx: `server_name _;` or `default_server`), so they reach JustDocs instead of a default page. See [Custom domains](https://justdocs.qdev.tech/docs/justdocs/custom-domains).
- **Reverse proxies:** forward the original host, scheme and client address, so the application knows it's on HTTPS.
