> 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/server.md).

# Server install

Once your website is ready, you can deploy Zero One to a live server and make it publicly accessible.

Before continuing, make sure your server meets the [requirements](/guide/installation.md#requirements) described in the [Installation & Setup](/guide/installation.md) guide and that you have access to your hosting control panel, FTP/SFTP account, or deployment workflow.

***

### Recommended Workflow

There is no single correct way to build a website.

Some users develop locally on their own computer, while others work directly on a staging or development server.

A typical Zero One workflow looks like this:

```
Local Environment
        or
Staging / Development Server
        ↓
Testing & Content Creation
        ↓
Production Website
```

Regardless of the workflow you choose, we strongly recommend avoiding direct development on a public production website whenever possible.

This allows you to test changes safely before they become visible to visitors.

{% hint style="info" %}
Building locally or on a staging server allows you to experiment, test changes, and troubleshoot issues without affecting a live website.
{% endhint %}

***

### Before Going Live

Before publishing your website, make sure you:

* Configure your [default language](/guide/installation/default-language.md).
* Choose your preferred WWW or non-WWW domain structure.
* Review your [config options](/guide/installation/config-options.md).
* Configure [SMTP email](/guide/installation/smtp-email-options.md) delivery.
* Disable debug mode.
* Complete the [security recommendations](/guide/securing-your-website.md).
* Complete the [performance optimization](/guide/optimizing-your-website.md) recommendations.

These topics are covered elsewhere in the installation documentation.

***

#### Enable Panel Registration

Unlike local development environments, a fresh public installation requires panel registration to be enabled.

Add the following option to your configuration:

{% code title="config.your-domain.com.php or config.[www.your-domain.com.php](http://www.your-domain.com.php)" %}

```php
return [

    'panel' => [
        'install' => true
    ],

];
```

{% endcode %}

Once your administrator account has been created, the option is no longer needed and can be removed.

{% hint style="info" %}
Once your administrator account has been created, remove the `'install' => true` option. Leaving it enabled serves no purpose and should not be part of a production configuration.
{% endhint %}

***

### Upload Zero One to Your Server

#### **Option 1: Direct Upload (Recommended for Most Users)**

The simplest deployment method is to upload the contents of the `zero-one` folder to your website root directory.

Examples:

```
public_html/

or

httpdocs/

or

www/
```

depending on your hosting provider.

Once uploaded, visit your domain in the browser and complete the Panel installation process.

For most users, this is the easiest and fastest deployment method.

{% hint style="info" %}
Upload the contents of the `zero-one` folder, not the folder itself. &#x20;

A common mistake is ending up with a structure like:  &#x20;

public\_html/zero-one/site&#x20;

public\_html/zero-one/kirby  &#x20;

instead of:  &#x20;

public\_html/site&#x20;

public\_html/kirby
{% endhint %}

***

#### **Option 2: Git Deployment**

Zero One is fully compatible with Git-based workflows.

This approach is recommended for developers or advanced users who want version control and simplified deployments.

**A typical workflow might be:**

1. Push changes to a Git repository.
2. Connect the repository to your server.
3. Pull updates to the server when required.

{% hint style="warning" %}
Git deployment is optional. If you're not already familiar with Git, direct upload is usually the simpler option.
{% endhint %}

#### Working With Content and Git

Many developers prefer tracking code changes with Git while allowing website content to be managed directly through the Kirby Panel.

To prevent content changes from being tracked, add the following entry to your `.gitignore` file:

```ssh-config
# Ignore content
/content
```

Then stop tracking the existing content directory:

```bash
git rm -r --cached path_to_your_content_folder/
```

After committing and pushing the changes, content updates made through the Panel will remain on the server and will no longer be managed through Git.

{% hint style="info" %}
This workflow is useful when clients update content on the live website while developers continue deploying code updates through Git.
{% endhint %}

***

### Debug Mode and Search Engines

During development, it is common to keep Kirby's debug mode enabled:

{% code title="config.your-domain.com.php" %}

```php
return [

    'debug' => true,

];
```

{% endcode %}

When debug mode is enabled, Zero One automatically instructs search engines not to index the website through its generated `robots.txt` file.

This is extremely useful for:

* Local development environments
* Staging servers
* Development domains
* Testing websites

because it helps prevent unfinished websites from appearing in search results.

{% hint style="info" %}
If you are developing directly on a staging or development server, keeping debug mode enabled is usually recommended until the website is ready for launch.
{% endhint %}

#### Before Launching

Before making your website publicly available, make sure debug mode is disabled:

{% code title="config.your-domain.com.php" %}

```php
return [

    'debug' => false,

];
```

{% endcode %}

{% hint style="warning" %}
Before launching your production website, verify that debug mode is disabled. Otherwise, search engines may continue receiving instructions not to index your website.
{% endhint %}

Using a [Multi-environment Setup](/guide/installation/config-options.md#multi-environment-setup-recommended) makes this much easier because different environments can have different debug settings.

***

### 🎉 Your Website Is Live

If your website is accessible, the Panel is working, and your administrator account has been created successfully, your Zero One installation is now live.

You can now start creating content.&#x20;

We recommend checking out these documentation pages if you haven't already:

* [Securing Your Website](/guide/securing-your-website.md)
* [Optimizing Your Website](/guide/optimizing-your-website.md)
* [Theme Extending](/guide/theme-extending.md)

{% hint style="info" %}
If you are having any problems with installation, please [get in touch with us](/support.md) for help.&#x20;
{% endhint %}
