Documentation

How a website runs

New to servers? The ideas behind every dPanel tutorial in plain words: server, module, database, repository, build, port, domain and HTTPS.

You don't need to have run a server before to follow the dPanel tutorials in this section. This page explains, in plain words, the handful of ideas they use. Read it once; each tutorial then links back here when a word comes up. For any other word, see the Glossary, and for the whole beginner path, Your first steps.

The picture

When someone opens your website, this is what happens:

  1. They type your address, such as blog.example.com. DNS turns that name into the address of your server.
  2. The load balancer on your server answers. It holds the HTTPS certificate, so the browser shows a padlock, and passes the visit on to your application.
  3. Your application, such as WordPress or Laravel, builds the page. When it needs stored data, such as posts or users, it asks the database on the same server.
  4. The page goes back the same way to the visitor.

dPanel sets up every piece of that chain for you, from forms in the web app. The tutorials go through them in the order they have to exist: server, software, database, application, then the address.

The words

WordWhat it means here
ServerA computer in a data centre that stays on all the time, rented from a cloud provider such as Google Cloud or AWS. dPanel launches it in your own cloud account and installs Ubuntu Linux on it. You pay the provider for it while it exists.
ModuleA piece of software dPanel installs on your server for you: a database such as MariaDB, a language such as PHP or Node.js, or a web server such as FrankenPHP. You pick it from a list instead of typing install commands.
DatabaseWhere an application stores its data. One database program (MariaDB or PostgreSQL) can hold many databases; each application gets its own, with its own user and password, so it can't touch the others.
RepositoryThe folder of your application's code on GitHub. dPanel copies (clones) it to the server.
BuildThe commands that turn the code into something ready to run: downloading libraries, compiling, preparing files. They run on the server each time you deploy.
RuntimeThe language program a build or an application needs, such as PHP or Node.js. An application can need more than one: Laravel uses PHP to run and Node.js to build its pages' styles and scripts.
Environment variablesSettings given to the application from outside its code, such as the database name and password. You type them in dPanel, so passwords never go into your repository.
Deploy / releaseBuilding the code on the server and starting it. Each deploy makes a new release; dPanel keeps the old ones so you can roll back.
PortA numbered door on the server. Your application listens on one, such as 9102. dPanel picks a free one for you. Visitors never see it: the load balancer forwards to it.
Domain and DNSYour address on the internet, such as example.com, and the records that point names under it, such as blog.example.com, at a server. dPanel creates the record when the domain is in Domain & DNS.
Load balancerThe front door of your website. It answers on the normal web ports (80 and 443), handles HTTPS, and sends each visit to the right application.
FirewallThe guard on the server that decides which ports people can reach. dPanel keeps 22 (SSH) open, and 80 and 443 on a server that runs a load balancer. See Firewall.
HTTPS and certificateThe encryption that gives the padlock in the browser. dPanel gets a free certificate from Let's Encrypt and renews it for you.

What you need before any tutorial

Set these up once; every tutorial uses them.

  1. A dPanel account, signed in. See Sign in.
  2. GitHub connected, so dPanel can read your code. See Connect GitHub.
  3. An SSH key and a cloud account in dPanel. The SSH key lets dPanel reach your server securely; the cloud account is where the server is created and billed. See Before you start. If you already have an Ubuntu machine, you can connect it instead.
  4. A domain added under Domain & DNS. See Domains and DNS.

Good habits from the start

  • Do one thing at a time and wait for it to finish. Installing software and deploying take a few minutes each. dPanel shows progress on the server's Modules tab, the application's page and the job list.
  • Keep passwords in a password manager. dPanel shows a generated password once. Copy it before you close the form.
  • Never put a password in your code or in a chat, including the assistant. Put it in an environment variable.
  • Delete what you don't use. A cloud server costs money every hour it exists, even when idle.

Pick a tutorial

Prefer to chat? You can also do every tutorial with Ask dPanel: describe what you want, then approve each change. See the Prompt cookbook.

Frequently asked questions

Which tutorial should I start with?

WordPress. It needs one language (PHP) and one database, so it has the fewest moving parts.

Do I need my own server?

You need one server: either launched by dPanel in your cloud account, or one you already rent and connect over SSH. The tutorials work the same on both.

How much does a tutorial cost?

The server is billed by your cloud provider for every hour it exists, and a domain costs whatever your registrar charges. Delete the server when you are done to stop the cost.