# Manual installation

> Source: https://ferron.sh/docs/v2/installation/manual

Ferron can be installed manually from a ZIP archive by following these steps:

## Installation steps

### 1. Download the Ferron ZIP archive

Obtain the latest Ferron ZIP archive suitable for your operating system from the [Ferron downloads page](https://ferron.sh/download).

### 2. Extract the ZIP archive

- **Unix-like systems**:

  Open a terminal and navigate to the directory containing the downloaded ZIP file. Use the following command to extract the contents:

  ```bash
  unzip ferron.zip
  ```

- **Windows**:

  Right-click on the ZIP file and select "Extract All..." to unzip the contents.

### 3. Review the extracted contents

After extraction, you should see the following files and directories:

- `ferron` or `ferron.exe` - the main Ferron web server executable.
- `ferron-passwd` or `ferron-passwd.exe` - a tool for generating hashed passwords for the server's configuration.
- `ferron-precompress` or `ferron-precompress.exe` - Ferron static files precompression tool.
- `ferron-yaml2kdl` or `ferron-yaml2kdl.exe` - a tool for converting the Ferron 1.x YAML configuration to Ferron 2.x KDL configuration.
- `ferron.kdl` - an example configuration file for Ferron.
- `wwwroot/` - the webroot directory containing the default `index.html` file.

### 4. Configure Ferron

Modify the `ferron.kdl` configuration file to suit your server's requirements. This file includes settings for server ports, logging, modules, and more. Detailed configuration options are available in the [server configuration properties page](https://ferron.sh/docs/v2/configuration/fundamentals.md).

### 5. Run Ferron

- **Unix-like systems**:

  In the terminal, navigate to the directory containing the `ferron` executable and run:

  ```bash
  ./ferron
  ```

- **Windows**:

  Open Command Prompt, navigate to the directory containing `ferron.exe`, and execute:

  ```cmd
  ferron.exe
  ```

### 6. Access the web server

By default, Ferron serves content from the `wwwroot` directory. Open a web browser and navigate to `http://localhost` to check if the server is running and serving the default `index.html` file.

If you see a "Ferron is installed successfully!" message on the page, the web server is installed successfully and is up and running.

## Reloading the configuration (Unix-like systems)

To reload the configuration without restarting the service, send a `SIGHUP` signal to the `ferron` process:

```bash
kill -HUP $(pidof ferron)
```