# Server

## Installing on server

There are many ways to install Zero One on your server, you can see how it generally works with Kirby <https://getkirby.com/docs/guide/quickstart>.

{% hint style="info" %}
**Friendly suggestion:** The right way of developing a website is to develop, craft, and design it in localhost/staging, and just when the work is done, or almost done, to upload/push the website to the server. There are numerous benefits to that approach.&#x20;
{% endhint %}

{% hint style="danger" %}
**Important note:** When debugging is turned on, robots.txt will tell the crawlers not to index your website. So, make sure to turn off debugging mode when your website is live.
{% endhint %}

### Panel install

{% hint style="info" %}
You don't add a panel install option on the localhost server, only on the public.&#x20;
{% endhint %}

To be able to use the panel dashboard on the server with the domain you must add

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

In your **`site/config.php`** or renamed **`site/config.yourwebsite.com.php`** (see [Multi-environment](https://www.one.thezero.club/guide/installation/config-options#multi-environment-setup) setup if not sure), just below the following statement (for example)

```php
'languages' => true,
```

You can learn more about config panel options at <https://getkirby.com/docs/reference/system/options/panel>.

Now, let's add it to the server. We will give you here two options, the simplest one, and our workflow with Git version control.&#x20;

### Just upload it and it's on

The simplest solution is just to upload all files from `zero-one` folder to your desired folder (domain root etc) on the server and it will work. That's it. 🙂&#x20;

### Git deploy

PLEASE NOTE: This is our opinionated way of doing it. You can of course do it differently.

Zero One is Git-ready, actually, the [demo](https://www.thezero.club/demo/one/) is pushed through Git.&#x20;

We are one of those [Bitbucket](https://bitbucket.org/) guys, we like their tools and Git workflow. Our workflow is simple, Push to the Bitbucket repository, and then Pull to the server through a secure connection. We have our custom-setup VPS server with [Plesk](https://www.plesk.com/), which is a very Git-friendly system.&#x20;

There is a `.gitignore` file you should check out, in the website root.

#### Stop tracking the `content` folder

When you do work for a client and you want the content to be updated on the server, but to keep control over code updates through Git, then after installing on the server you should add this line in the theme root `.gitignore` file

```
# Ignore content
/content
```

Run the next command in your terminal

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

And push changes. It will delete **`content`** folder on the server, but your local **`content`** folder will remain. After that upload manually **`content`** folder to the website root.&#x20;

After this, your local content changes will not be tracked by Git.&#x20;
