Files
kb-anhonesthost/src/content/docs/whp/how-to/create-a-site.mdx
T
shadowdaoandClaude Opus 4.8 da24dc8c67 docs(whp): rework DNS page for new Domains & DNS UI
The WHP DNS area was reworked from the old Domains page (left-side add
form + right-side DNS Management dropdown) into a searchable Domains &
DNS list plus a dedicated per-domain DNS records editor.

- Recapture whp-domains.png against the new list layout
- Add screenshots for the Add Domain modal, records editor, inline
  Add Record row, and bulk-action toolbar
- Add capture-dns.ts (fleet-redacted, viewport-only) following the
  existing capture-admin.ts pattern
- Rewrite add-a-domain.mdx Add Domain steps for the modal flow and
  point at the new records editor
- Add manage-dns-records.mdx how-to (add/edit/delete, type filter,
  bulk actions, verification, troubleshooting); renumber sidebar order

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 14:50:21 -07:00

89 lines
4.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Create a site
description: Spin up a containerized site on a domain you've added to WHP.
sidebar:
order: 3
---
import { Steps, Aside } from '@astrojs/starlight/components';
import SignIn from '~/content/partials/signing-in.mdx';
import Hostnames from '~/content/partials/service-hostnames.mdx';
import Support from '~/content/partials/support-link.mdx';
Every site on WHP runs in one or more containers. The Sites page lets you pick a container type (PHP, Node, static HTML, or one of the other options on the dropdown), bind one or more domains, and set how much CPU and RAM each container gets.
## Before you start
- A **domain already added** to your account ([Add a domain](/whp/how-to/add-a-domain/) covers that).
- Decide what kind of site you're building. Common container types: **PHP** (WordPress, Laravel, most CMSes), **Node** (custom apps), **Static HTML** (prebuilt bundles from Astro, Hugo, Eleventy, etc.).
- About 5 minutes.
## Sign in to WHP
<SignIn />
## Steps
<Steps>
1. In the sidebar, click **Sites**.
![WHP Sites page with Create New Site form](~/assets/screenshots/whp/whp-sites.png)
2. Fill in the **Create New Site** form on the right:
- **Site Name** — a friendly label for you to recognise the site later.
- **Primary Domain or Subdomain** — pick from the dropdown of domains you've already added.
- **Container Type** — PHP, Node, static HTML, etc.
- **Number of Containers** — `1` is the right answer for most sites. Bump this up (110) if you need to scale a busy site horizontally; WHP load-balances traffic across the replicas.
- **Additional Domains/Subdomains (Optional)** — bind extra domains to the same site if you want them to serve the same content.
- **CPU per Container (cores)** — defaults to `0.25`. Raise this only if you need to.
- **Memory per Container (MB)** — defaults to `256`. Raise this if your app needs more RAM.
3. Scroll down to **SSL/HAProxy Configuration**. Before you enable HTTPS, make sure your domain's DNS already points to our server's IP — SSL certificates can't be issued for domains that aren't pointed correctly. Then check **Enable HTTPS** to have us request a Let's Encrypt certificate.
4. Click **Create Site**. WHP provisions the container(s) — usually under a minute. The new site shows up in the **Manage Sites** list on the left of the page.
</Steps>
## Where your files go
When you connect via SFTP, your account home (`/docker/users/<your-user>/`) shows one folder per domain. Inside each domain folder, the layout depends on the container type:
| Container type | Layout inside the domain folder | Docroot is... |
| -------------- | ------------------------------------------ | -------------------------------------------------------- |
| PHP | `public_html/`, `logs/`, `crontab` | `public_html/` |
| Node | `app/`, `logs/` | Whatever your start command serves; we run it from `app/`|
| Static HTML | files directly (e.g., `index.html`, `assets/`) | The domain folder itself |
Upload your files to the right place and the site picks them up immediately.
## Connect to databases and caches
<Hostnames />
## Verify it worked
Open your domain in a browser. You should see your site, or the default "no content yet" placeholder if you haven't uploaded files. For Node sites, give it 1530 seconds after creation for the process to start.
<Aside type="tip">
Static HTML is the fastest path if your toolchain produces a bundle (Astro, Hugo, Eleventy, etc.) — you skip the runtime entirely.
</Aside>
## Troubleshooting
**You see a default "no content" page.** Upload your files via SFTP — for PHP into `public_html/`, for Node into `app/`, for static directly into the domain folder.
**Node site returns 502.** Check that your start command runs successfully locally, and that it binds to the port WHP exposes via env var to your container.
**PHP site shows a blank page or 500.** Check **Sites → your site → Logs** (or the `logs/` folder in SFTP). Common cause: a syntax error in `index.php` or a missing PHP extension — open a [support ticket](https://secure.anhonesthost.com/submitticket.php) if you need a non-default extension enabled.
**SSL won't issue.** The "Important: ensure your domain is pointed to our server" warning means DNS hasn't propagated yet, or it's pointed somewhere else. Re-check with `dig` and retry.
## Related
- [Add a domain](/whp/how-to/add-a-domain/)
- [Service hostnames](/whp/reference/service-hostnames/)
## Still stuck?
<Support />