All chapters

Sites

A site is a hostname this server answers for, a folder its files live in, and what serves them: plain files, PHP, Node.js, Python or ASP.NET Core. Every site belongs to a hosting account, which owns the files, the disk allowance and the Linux account the site runs as.

Before the first site

On a fresh panel the New site button is greyed out and says why: there is no hosting account for a site to belong to yet. An administrator makes one in three steps, all described in Users, customers and plans:

  1. Plans ▸ Add a package: what a customer gets.
  2. Accounts ▸ Add a customer: who it is for (yourself is fine).
  3. Accounts ▸ New hosting account: that customer, on that package.

For PHP sites, install PHP first on Modules; the new-site dialog offers only the PHP versions this server actually has.

Create a site

  1. On Sites, press New site.
  2. Address people will type: the hostname, for example example.com. It has to point at this server's IP address before it will answer visitors; you can create the site first and change DNS afterwards.
  3. Also answer to www.: tick it to serve www.example.com too.
  4. Folder your files go in: leave it empty to take the suggested name, or type one plain folder name. It sits inside the hosting account's home, beside the folders its other sites use.
  5. What it runs: a PHP version this server has installed (the newest is chosen for you), or None for a site that serves files only. If this server has no PHP yet, only None is offered.
  6. If you manage more than one hosting account, choose it under Which plan it belongs to.
  7. Press Create site. The toast says Site created and the panel opens the new site.
The New site dialog filled in for news.example.com: the plan it belongs to, the address, the www option, the suggested folder news, PHP 8.5 chosen, and a Create site button.
The New site dialog, filled in and not yet submitted. The folder was suggested from the name.

If the toast says Site recorded, but the server has not caught up, the panel saved the site and the server did not finish setting it up. The panel opens the site anyway, and the page names what is missing; an administrator's Repair this server (on the Server screen, or offered right there) finishes the job.

The site card

Each card on the Sites screen shows what the site runs, which folder its files are in, when it was added, and two readings:

  • Whether this server answers for it. The panel sends one request for the site's own name to this server's web server and reports what came back: Answering, Not served, Erroring, No answer and so on. It says whether this server serves the name; whether the world's DNS points here is a separate question, answered on the DNS tab. A reading that was not taken is drawn as Not checked, never as a green pill.
  • HTTPS. NO HTTPS with a Secure it button, or TLS ON with Manage (Certificates and HTTPS).

Below the cards, a Certificates section appears once any site is under HTTPS. It lists first the certificates that need attention, such as one that keeps failing to renew while the old one is still valid.

A site's tabs

Open a site to see its tabs: Overview, DNS, Subdomains, Server settings, Security, Databases, Add-ons, Email, FTP, Files and Cron. A subdomain has no DNS tab of its own; its records live in the parent domain's zone.

Overview

What the site is and whether it is healthy. Overview only reports: every action lives on the tab it belongs to. The one exception is Repair this server, and it appears only inside an alert at the top of the page that names a problem repair fixes, for an administrator (anyone else is told to ask one). At a glance gives the address, the folder, the Linux account it runs as and what serves it. Health checks the home folder, the web folder, ownership and permissions each time the page loads. Resources shows the hosting account's disk use and the whole server's memory and disk. A figure that could not be measured is drawn as a gap, never as zero.

A site's Overview tab: the health check reporting 5 of 5, and the resource readings for disk and the server's memory.
The Overview tab of example.com on the test machine.

Server settings

What the site runs, and the limits it runs under. Choose one of Files only, PHP, Node.js, Python or ASP.NET Core; a runtime this server has not installed is shown and cannot be chosen until an administrator installs it on Modules.

  • PHP: pick a version. Switching takes about two seconds and the site keeps running; if a page breaks, switch back. Open PHP settings on the card to set Memory a page may use, Largest file someone can upload and How long a page may run, then press Apply limits.
  • Node.js and Python: choose the file that starts your application. For Node.js, Install dependencies runs npm ci as the site's own account (it needs a package-lock.json), and Restart restarts the application.
  • ASP.NET Core: publish on your own machine with dotnet publish and upload the output; you choose the published .dll.

The same tab lists the names this site answers to (add an alias with Add) and Redirects: Add a redirect sends one path, or everything under it, to another path or another address, temporary unless you tick Make this permanent.

The Server settings tab with the choice between Files only, PHP, Node.js, Python and ASP.NET Core.
Server settings: one runtime per site, switched in one place.

Subdomains

A subdomain is a site of its own: its own folder, its own runtime, its own certificate. On the Subdomains tab, type a label such as shop and press Add subdomain. It starts out serving files; choose what it runs on its own Server settings tab. When this server answers the parent domain's DNS, the record for the subdomain is created for you. Remove stops the server answering for it and leaves its files in place.

The Subdomains tab with a field for a new subdomain name and the list of subdomains.
The Subdomains tab.

Cron: scheduled tasks

A script the site runs on a timer, as its own account. Press New task, give it a name, choose what it runs with (PHP or Node.js), the script (a file inside the site's folder), up to five arguments, and how often: every 5, 15 or 30 minutes, every hour, day, week or month. Press Schedule it. Each task can be paused and resumed, edited and deleted, and Show what it printed shows the output of its last run. A task is stopped after ten minutes. There is no shell between the panel and the program, so pipes and quotes cannot be scheduled.

The Cron tab of a site, headed Scheduled tasks, with one task, Nightly clean-up, running cron/cleanup.php with PHP every day at 03:15.
A scheduled task on the test machine. On a site with none, the tab suggests running WordPress's wp-cron.php every five minutes.

Suspend a customer

Suspension is per customer, on Plans: press Suspend beside the customer. Every hostname on their plan answers 503, their scheduled tasks stop and their applications are stopped. Files, databases and certificates are untouched, and Resume puts everything back as it was.

Delete a site

At the foot of the Server settings tab, under Danger, press Delete and type the domain to confirm. The panel stops serving it and removes what it made for it: its settings, logs and certificate. The files in its folder stay where they are; delete them afterwards with the file manager if you want them gone. A site that still has a database or email addresses is refused, with a sentence naming them: remove those first.