# Installer Pterodactyl

## Introduction

Pterodactyl est un puissant panneau de contrôle pour les serveurs de jeux, conçu pour être facile à utiliser et sécurisé. Cette documentation vous guidera à travers le processus d'installation de Pterodactyl Panel et du Daemon (Wings).

{% hint style="danger" %}

#### OS Supportés

**Ubuntu** 20.04, 22.04

**Debian** 11, 12

**CentOS** 7, 8
{% endhint %}

## Prérequis

* Un VPS chez Now-Heberg
* Avoir `sudo` et `curl`
* PHP `8.0` ou `8.1` (recommandé) avec les extentions suivantes: `cli`, `openssl`, `gd`, `mysql`, `PDO`, `mbstring`, `tokenizer`, `bcmath`, `xml` or `dom`, `curl`, `zip`, et `fpm` si vous prévoyez d'utiliser NGINX.
* MySQL `5.7.22` ou supérieur (MySQL `8` recommandé) **ou** MariaDB `10.2` ou supérieur.
* Redis (`redis-server`)
* Un Serveur Web (Apache2, NGINX, Caddy, etc.)
* `curl`
* `tar`
* `unzip`
* `git`
* `composer` v2

## Mettre à Jour

Avant toute chose, mettez à jour votre VPS:

```bash
apt update && apt upgrade -y
```

Installez sudo et curl

```bash
apt install bash sudo curl
```

## Installation du Panel

{% hint style="warning" %}
Ce script d'installation n'est pas une méthode officielle pour installer Pterodactyl.

Si vous avez des connaissances, il est donc recommandé de suivre la [**documentation officielle**](https://pterodactyl.io/panel/1.0/getting_started.html) de Pterodactyl.

Ce script est conçu pour les personnes ayant des connaissances minimes, pour simplifier un maximum l'installation de Pterodactyl.
{% endhint %}

Lancez le script d'installation:

```bash
bash <(curl -s https://ptero-installer.now-heberg.com)
```

```bash
========================================
 ____  ______    ___  ____   ___   ___     ____    __ ______  __ __  _          ____  ____   _____ ______   ____  _      _        ___  ____  
|    \|      |  /  _]|    \ /   \ |   \   /    |  /  ]      ||  |  || |        |    ||    \ / ___/|      | /    || |    | |      /  _]|    \ 
|  o  )      | /  [_ |  D  )     ||    \ |  o  | /  /|      ||  |  || |         |  | |  _  (   \_ |      ||  o  || |    | |     /  [_ |  D  )
|   _/|_|  |_||    _]|    /|  O  ||  D  ||     |/  / |_|  |_||  ~  || |___      |  | |  |  |\__  ||_|  |_||     || |___ | |___ |    _]|    / 
|  |    |  |  |   [_ |    \|     ||     ||  _  /   \_  |  |  |___, ||     |     |  | |  |  |/  \ |  |  |  |  _  ||     ||     ||   [_ |    \ 
|  |    |  |  |     ||  .  \     ||     ||  |  \     | |  |  |     ||     |     |  | |  |  |\    |  |  |  |  |  ||     ||     ||     ||  .  \
|__|    |__|  |_____||__|\_|\___/ |_____||__|__|\____| |__|  |____/ |_____|    |____||__|__| \___|  |__|  |__|__||_____||_____||_____||__|\_|
                                                                                                                                             
 ___ ___   ____  ___      ___      ____   __ __      ____    ___   __    __         __ __    ___  ____     ___  ____    ____                 
|   |   | /    ||   \    /  _]    |    \ |  |  |    |    \  /   \ |  |__|  |       |  |  |  /  _]|    \   /  _]|    \  /    |                
| _   _ ||  o  ||    \  /  [_     |  o  )|  |  |    |  _  ||     ||  |  |  | _____ |  |  | /  [_ |  o  ) /  [_ |  D  )|   __|                
|  \_/  ||     ||  D  ||    _]    |     ||  ~  |    |  |  ||  O  ||  |  |  ||     ||  _  ||    _]|     ||    _]|    / |  |  |                  
|   |   ||  _  ||     ||   [_     |  O  ||___, |    |  |  ||     ||    '  ||_____||  |  ||   [_ |  O  ||   [_ |    \ |  |_ |                
|   |   ||  |  ||     ||     |    |     ||     |    |  |  ||     | \      /        |  |  ||     ||     ||     ||  .  \|     |                
|___|___||__|__||_____||_____|    |_____||____/     |__|__| \___/   \_/\_/         |__|__||_____||_____||_____||__|\_||___,_|                
========================================

Systèmes d'exploitations supportés par ce Script:
Debian 11 & 12
Ubuntu 20.04 & 22.04

Sur quel système d'exploitation êtes-vous ?
1) Ubuntu
2) Debian
#? 
```

Séléctionnez votre système d'exploitation parmis la liste en choissant `1` ou `2`. Pouir l'exemple, nous allons prendre le `1`

```bash
#? 1
Vous avez sélectionné Ubuntu.
========================================
Installation de Pterodactyl sur Ubuntu - Now-Heberg
========================================
Entrez votre nom de domaine l'adresse IP (ex: votre-domaine.com):
```

Entrez votre nom de domaine. Il faudra que celui-ci soit relié à votre VPS. Suivez la documentation ci-dessous pour savoir comment faire.

{% content-ref url="../../../hebergement-web/rediriger-un-nom-de-domaine" %}
[rediriger-un-nom-de-domaine](https://wiki.now-heberg.com/hebergement-web/rediriger-un-nom-de-domaine)
{% endcontent-ref %}

Si vous n'avez pas de nom de domaine, mettez simplement l'adresse IP de votre VPS.

```bash
Entrez votre nom de domaine l'adresse IP (ex: votre-domaine.com): tuto.now-heberg.com
Entrez le mot de passe pour l'utilisateur root de MariaDB: **********
Entrez le mot de passe pour la base de données Pterodactyl: **********
Entrez votre adresse email administrateur: tuto@now-heberg.com
```

Renseignez un mot de passe pour MySQL ainsi qu'une adresse mail valide. Mettez, de préférence, un mot de passe sécurisé. Il est normal que vous ne voyez pas le mot de passe quand vous l'écrivez, c'est une mesure de sécurité.

```bash
┌────────────────────────────────────────────────┤ Pending kernel upgrade ├────────────────────────────────────────────────┐
│                                                                                                                          │ 
│ Newer kernel available                                                                                                   │ 
│                                                                                                                          │ 
│ The currently running kernel version is 5.15.0-117-generic which is not the expected kernel version 5.15.0-118-generic.  │ 
│                                                                                                                          │ 
│ Restarting the system to load the new kernel will not be handled automatically, so you should consider rebooting.        │ 
│                                                                                                                          │ 
│                                                          <Ok>                                                            │ 
│                                                                                                                          │ 
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
```

Si vous avez cette fenêtre, appuyez simplement sur votre touche `Entrée`.

<pre class="language-bash"><code class="lang-bash">                ┌────┤ Daemons using outdated libraries ├─────┐                               
<strong>                │                                             │                        
</strong>                │                                             │                           
                │ Which services should be restarted?         │                             
                │                                             │                        
                │    [*] packagekit.service                   │                       
                │    [ ] user@0.service                       │                         
                │                                             │                          
                │                                             │                                     
                │          &#x3C;Ok>              &#x3C;Cancel>         │                             
                │                                             │                                      
                └─────────────────────────────────────────────┘                                  
</code></pre>

Si vous avez cette fenêtre, appuyez simplement sur votre touche `Entrée`.

Laissez ensuite l'înstallation continuer. Cela peut prendre plusieurs minutes.

```bash
Progress [####################] 100%
Configuration de Pterodactyl...
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
```

Écrivez ensuite `yes`, et appuyez sur `Entrée`.

```bash
 Is this user an administrator? (yes/no) [no]:
 > yes
```

Cette option vous permettra de créer un compte Administrateur pour votre Panel Pterodactyl, mettez `yes` et faites `Entrée`.

```bash
 Email Address:
 > tuto@now-heberg.com    

 Username:
 > tuto

 First Name:
 > tuto

 Last Name:
 > tuto

Passwords must be at least 8 characters in length and contain at least one capital letter and number.
If you would like to create an account with a random password emailed to the user, re-run this command (CTRL+C) and pass the `--no-password` flag.

 Password:
 > **********
```

Renseignez ensuite vos informations

```bash
+----------+--------------------------------------+
| Field    | Value                                |
+----------+--------------------------------------+
| UUID     | ab6582bf-e065-4170-aa0e-255579af56c4 |
| Email    | tuto@now-heberg.com                  |
| Username | tuto                                 |
| Name     | tuto tuto                            |
| Admin    | Yes                                  |
+----------+--------------------------------------+
Configuration du serveur web...
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
```

Si vous avez ce message, c'est que l'installation s'est bien passée.

```bash
Voulez-vous activer SSL ? (y/n):
```

Le SSL vous permettra d'avoir une connexion sécurisée sur votre Panel. Entre autres, avoir le **`https://`**`vote-domaine.com`. Si vous n'avez pas renseigner de nom de domaine au début de l'installation, mettez `n`. Si vous avez un nom de domaine correctement relié, nous vous conseillons de mettre `y` pour activer le SSL.

```bash
Voulez-vous configurer SSL pour la node Wings ? (y/n):
```

Il vous demandera ensuite si vous souhaitez activer le SSL pour le nom de domaine de la Node. Si vous avez un nom de domaine, nous vous conseillons de faire une redirection en Zone A sur un sous domaine comme par exemple **`node`**`.votre-domaine.com` et de l'utiliser pour le SSL de la Node et d'écrire `y`. Dans le cas contraire, écrivez `n`.

Pour toute assistance concernant les étapes à suivre pour les certificats SSL, vous pouvez suivre la documentation ci-dessous. (Le serveur web utilisé avec cette installation par défaut est NGINX).

{% content-ref url="../generer-un-certificat-ssl" %}
[generer-un-certificat-ssl](https://wiki.now-heberg.com/hebergement-vps/linux/generer-un-certificat-ssl)
{% endcontent-ref %}

```
========================================
Installation de Pterodactyl terminée sur Ubuntu !
Vous pouvez maintenant accéder à Pterodactyl sur http://tuto.now-heberg.com ou https://tuto.now-heberg.com selon votre configuration.
========================================
```

```bash
Si vous avez ce message, c'est que tout a bien été installé et que vous pouvez passer à la création de votre Node.
```

## Création de la Node. <a href="#installation-du-wings" id="installation-du-wings"></a>

Maintenant que votre Panel est installé, il reste à créer la Node. Pour cela, il vous suffit de vous rendre sur le panel (via l'adresse ip ou le nom de domaine que vous avez configuré, dans notre cas ça sera `tuto.now-heberg.com`).

<figure><img src="https://2080941607-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnHOt2EBBUe9KWECRN38d%2Fuploads%2FJoDrcAiSIf6Tn1EJVDNT%2Fimage%20(1).png?alt=media&#x26;token=bba56905-6d58-4e80-b429-8981cf2d4ef0" alt=""><figcaption></figcaption></figure>

Maintenant, il vous faut aller dans "Locations" et créer une location. Le nom n'est pas important. Rendez-vous ensuite dans "Nodes" et cliquez sur "Create New".

<figure><img src="https://2080941607-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnHOt2EBBUe9KWECRN38d%2Fuploads%2FJ37OuCFkLNV2e5Yxh02z%2Fimage%20(2).png?alt=media&#x26;token=3c3c479f-283d-4978-bacb-7f67ce5883f3" alt=""><figcaption></figcaption></figure>

Vous avez juste à donner un nom à votre Node dans "Name", rajouter l'IP de la Node dans "FQDN", mettre l'IP et cocher "Use HTTP Connection" si vous n'avez pas configuré de SSL (HTTPS) sinon vous devez mettre votre domaine en cochant "Use SSL Connection". Ensuite renseignez "Total Memory" (RAM) selon les performances de votre VPS (1024MB = 1Go) ainsi que votre "Total Disk Space" (Stockage) selon ce que vous avez sur votre VPS. Vous pouvez mettre une "Over-Allocation" cela vous permettra d'allouer plus que vous avez renseigné, celle-ci est en pourcentage si vous ne voulez pas vous avez juste à mettre 0.

Une fois les informations remplies, cliquez sur "Create Node" puis allez dans "Configuration", et cliquez sur "Generate Token" et copiez la commande. Retournez sur votre SSH en faisant clic droit pour coller et exécutez celle-ci.

Faites ensuite les commandes suivantes :

```bash
systemctl enable wings
```

```bash
systemctl start wings
```

Vous avez maintenant terminé l'installation de votre Panel Pterodactyl !
