> For the complete documentation index, see [llms.txt](https://www.one.thezero.club/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.one.thezero.club/guide/installation.md).

# Installation & Setup

Welcome to Zero One.

This guide will help you get your website running as quickly as possible. Before starting, make sure your hosting environment meets the installation requirements and familiarize yourself with the recommended configuration options.

***

### What Is Included In The Download?

Your download package contains everything required to run Zero One.

```
zero-one/
├── zero-one
├── Demos/
│   ├── architecture/
│   ├── consulting/
│   └── ...
├── License
├── How to Install
└── Documentation Link
```

Each demo contains its own `content` folder which can be used to quickly create a fully populated example website.

***

### Install Requirements <a href="#requirements" id="requirements"></a>

Learn in detail on the Kirby website -- <https://getkirby.com/docs/guide/quickstart#requirements>

#### Web server (any of the following)

* Apache 2
* Nginx
* LiteSpeed
* Caddy
* PHP server

&#x20;**Server Features:**

* The server must support URL rewriting
* The server OS must be POSIX compatible.

#### PHP version

* 8.2, 8.3, 8.4, 8.5

#### PHP extensions

* Check them out at Kirby documentation <https://getkirby.com/docs/reference/system/requirements#php-extensions>

{% hint style="info" %}
**Most modern hosting providers already meet these requirements**. The most common issue is URL rewriting being disabled, so make sure mod\_rewrite (Apache) or the equivalent feature on your web server is enabled.
{% endhint %}

***

### 🚀 Install Zero One

Choose the guide that matches your environment:

#### Local Development

If you want to build and test your website on your own computer before publishing it online, start here:

👉 [**Local Installation**](/guide/installation/local-environment.md)

This guide covers setting up Zero One on a local development environment.

#### Production Server

If you're installing Zero One directly on a web hosting account or production server, follow this guide:

👉 [**Server Installation**](/guide/installation/server.md)

This guide covers uploading, configuring, and running Zero One on a live server.

{% hint style="warning" %}
We strongly recommend reading the rest of this page after installation.&#x20;
{% endhint %}

***

### How To Install a Demo

{% hint style="success" %}
**Important:** Complete either the Local Environment or Server Installation guide before trying to import a demo.
{% endhint %}

Switching between demos only takes a few minutes.

* **Step 1:** Delete the existing `content` folder from your installation.
* **Step 2:** Open the `demos` directory included in your download package.
* **Step 3:** Copy the `content` folder from your chosen demo into the root of your Zero One installation.
* **Step 4:** Log in to the Panel and open the [Site Styling tab](/guide/theme-styling.md).
* **Step 5:** Enable [Style Compiler](/guide/theme-styling.md#turn-the-styling-on-off) and save.
* **Step 6:** Visit any frontend page and refresh it to regenerate demo styles.
* **Step 7:** Disable Style Compiler again.

#### Included Demos

Zero One includes the following starting points:

* Main Demo (default installation)
* Architecture
* Consulting
* Personal
* Furniture Shop
* Event
* Zero One Blank (without demo content)

The default installation already contains the Main Demo. Installing another demo simply replaces the content folder with content from the selected demo.

{% hint style="info" %}
If you prefer starting from scratch, use **Zero One Blank**. It includes the complete Zero One framework and functionality, but without any demo content.
{% endhint %}

***

### ❗Next Steps (Don't Skip)

We strongly recommend reading the following guides before launching your website:

* [Default language](/guide/installation/default-language.md)
* [Multilanguage website](/guide/installation/multi-language-website.md)
* [Config options](/guide/installation/config-options.md)
* [SMTP email options](/guide/installation/smtp-email-options.md)
* [Folder structure](/guide/installation/folder-structure.md)
* [htaccess](/guide/installation/htaccess.md)
* [Updating](/guide/installation/updating.md)

These guides will save you a lot of time later and help you follow the recommended Zero One workflow.

***

### ⚠️ Most Common Beginner Mistakes

#### Not Choosing WWW or Non-WWW Early

Before launching your website, decide whether your canonical URL will use `www.your-domain.com` or `your-domain.com`.&#x20;

Both approaches are perfectly valid, but you should choose one and redirect the other to it.

Failing to do this can lead to duplicate URLs, inconsistent links, SEO issues, and problems with cookies or session handling.

We recommend configuring your preferred domain structure as early as possible.

#### Not Setting the Default Language Early

This is one of the most common mistakes in new Kirby projects.

Many users continue building their website and adding content before deciding what the [default language](/guide/installation/default-language.md) should be.

The problem is that Kirby does **not** allow a secondary language to be promoted to the default language later.

To change the default language, you must:

1. Remove all secondary languages.
2. Delete the existing default language.
3. Create the new default language.
4. Recreate the secondary languages.

This process becomes significantly more complicated once content has already been created.

{% hint style="info" %}
**Important:** Decide on your default language before creating content and before enabling additional languages.&#x20;
{% endhint %}

#### Not Using Multi-environment Configuration

Many users place all custom settings directly inside `config.php`.

For better maintainability and easier future updates, we strongly recommend using [environment-specific configuration](/guide/installation/config-options.md#multi-environment-setup-recommended) files whenever possible.

#### Leaving Style Compiler Enabled

[Style Compiler](/guide/theme-styling.md) is a development tool.

Enable it only when generating or rebuilding styles and disable it afterward.

#### Editing Zero One Plugin Files Directly

Avoid modifying files located inside `site/plugins/zero-one/`

Instead, use the built-in [Theme Extending system](/guide/theme-extending.md) to override files safely.

This preserves your customizations when updating Zero One.

#### Skipping Security Configuration

A freshly installed website should always be reviewed from a security perspective.

We recommend reading the [**Securing Your Website**](/guide/securing-your-website.md) guide before launching any project.

#### Skipping Performance Optimization

Many users focus entirely on design and content, but forget to [optimize their website](/guide/optimizing-your-website.md) before launch.

Simple improvements such as enabling Kirby cache, configuring thumbnail quality, and setting up browser caching can significantly improve loading times and reduce server load.

{% hint style="info" %}
Zero One already includes several built-in performance optimizations, including automatic image resizing, WebP image generation, and lazy-loaded images. However, [additional optimization](/guide/optimizing-your-website.md) is still recommended for production websites.
{% endhint %}
