# Installation
This guide explains how to install Sentri on a Linux server.
## Requirements
Before continuing, make sure your server meets the following requirements:

- A Linux server (Linux is officially tested and supported)
- Basic Linux and web hosting experience
- A web server of your choice (Apache, Nginx, etc.)
- MariaDB or MySQL
- PHP 8.3 or newer
- Git installed on the server

>[!info]
>This guide uses `/var/www/sentri/` as the installation directory. You can change this to any location you prefer.
## Installation

### Configure the document root
Sentri stores all publicly accessible files inside the `pub/` directory.
If your current virtual host document root is:
```
/var/www/sentri/
```
Change it to:
```
/var/www/sentri/pub/
```
After updating the document root, reload or restart your web server.
### Download the Sentri files
Run the following commands to download the latest version of Sentri:
```bash
cd /var/www/sentri/

git clone https://gitea.mooij.me/meteo/Sentri.git Sentri

mv Sentri/* .
mv Sentri/.[!.]* . 2>/dev/null

rmdir Sentri
```
### Database setup
Log in to MariaDB/MySQL and create the database and user:
```sql
CREATE DATABASE sentri;  
CREATE USER 'sentri'@'localhost' IDENTIFIED BY 'your_secure_password_here';  
GRANT ALL PRIVILEGES ON sentri.* TO 'sentri'@'localhost';  
FLUSH PRIVILEGES;
```

Next, import the database schema:
```bash
mariadb -u sentri -p sentri < /var/www/sentri/install.sql
```
When prompted, enter the password for the `sentri` database user.
### Configuring
Copy the example configuration file:
```bash
cp /var/www/sentri/pub/config-sample.php /var/www/sentri/pub/config.php
```
Then edit the configuration file and update the database credentials:
```
/var/www/sentri/pub/config.php
```
#### First Login
Open your website in a browser and log in with the default credentials:
```
Username: superuser
Password: changethispassword
```

> [!WARNING]
> After logging in change the superuser password!
#### Global settings
Go to [[Global|Global]] under Portal Management and rename the portal to your preference.

Next, configure the SMTP connection in [[Mail|Mail]] under Portal Management so Sentri can send emails.

Finally, enable the [[index#Modules|modules]] you want to use in [[Portal Management/Settings/Modules|Modules]] under Portal Management.
#### Create users and check permissions
Go to the access control and create new users. If you want you could take a look at altering the permissions.
#### Getting started 
After completing the installation, continue with the [[Getting Started]] guide to configure and begin using Sentri.
