HF PanelDocsv1.0.0

Sites

Every folder in htdocs is a site in HF Server, at its own name.localhost address. See how projects are recognised and run JavaScript dev servers.

Every folder in htdocs is a site with its own address, like myapp.localhost. There is nothing to set up: make a folder, and within a few seconds it works.

Where: HF Server › Sites

Sites screen

Addresses

Folder Opens at
htdocs/shop http://shop.localhost (and https://shop.localhost)
htdocs/shop http://localhost/shop

Browsers send every *.localhost address to your own computer by themselves. The address part comes from the folder name: lower case, other characters become dashes, up to 50 characters. Folders starting with . are skipped.

When Apache doesn't use port 80 (on Linux it uses 8080), add the port: http://shop.localhost:8080. When Nginx runs, each site also has an nginx link on Nginx's port.

Tip: to use name.test addresses instead, choose name.test in Settings and click Update hosts file on the Sites page. Your computer asks for permission to change its hosts file. .localhost works with no setup; .test works in every program.

What kind of site it is

HF Server looks at the files in each folder and labels the site:

Label Recognised by Served from
WordPress WordPress files the folder
Laravel a Laravel project public/
Symfony a Symfony project public/
PHP Composer projects with public/, web/ (Drupal, Yii) or webroot/ (CakePHP) that folder
PHP .php files the folder
React, Next.js, Vue, Nuxt, Svelte, Vite, Node.js a package.json and its dependencies the dev server, or the built files
static .html files the folder
Empty nothing yet —

For WordPress sites the main button is WP Admin, which opens /wp-admin/.

Site buttons

Button What it does
Open opens the site in your browser (Apache must be running)
Share / Stop sharing gives the site a public link, or stops it (see Sharing a site)
⋯ › Open folder opens the site's folder
⋯ › Back up saves a backup of the site (see the activity log)
⋯ › Delete… deletes the site after you confirm

Note: Delete… moves the folder to backups/deleted, so you can get it back.

A shared site shows Shared and its public link, with Copy link.

JavaScript projects

Any folder in htdocs with a package.json is a JavaScript project. HF Server needs Node.js for it; the row shows the Node version, or Node.js not installed.

Button What it does
npm install installs the project's packages (shown while packages not installed yet)
Run dev starts the project's dev server; the site's address shows it, with hot reload
Stop dev stops the dev server
Build runs the project's build

While the dev server runs, the row shows Dev server running · port n, and Apache and Nginx send the site's address to it. When it isn't running, the built files (dist/, build/ or out/) are served if there are any; otherwise a page says the dev server isn't running. npm's output goes to logs/dev-<site>.log and important lines to the activity log.

Security

.git folders and .env files are never served. Visitors who come through a shared link can't reach phpMyAdmin, phpinfo() or the list of your local sites.