Error 500 - Deployer Bedrock on Mutual Serveur

Hello,

I have a problem to deploy a Bedrock project staging on my O2switch serveur. Every seems good but i have this error :

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at webmaster@preproduction.hotel-outa.com to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

I find this solution to help me but not working : FlorianMoser/bedrock-deployer

Here my deploy structure :

current/
├── config/                     # Configuration PHP pour les différents environnements
│   ├── application.php         # Config globale
│   ├── environments/
│       ├── development.php     # Config de dev
│       ├── staging.php         # Config de staging
│       ├── production.php      # Config de prod
├── vendor/                     # Dépendances gérées par Composer
├── web/                        # Répertoire racine exposé au public
│   ├── app/                    # Thèmes et plugins
│       ├── plugins/            # Plugins installés
│       ├── themes/             # Thèmes installés
│   ├── wp/                     # Fichiers WordPress de base
│   ├── index.php               # Point d'entrée principal pour WordPress
│   ├── .htaccess               # Fichier Apache (si utilisé)
├── .env  

My deploy.php file

<?php
namespace Deployer;

require 'vendor/autoload.php';
require 'recipe/wordpress.php'; 
require 'recipe/common.php';    

// Configuration générale
set('application', '****-****');
set('deploy_path', '/home/******/preproduction.***-***.com');
set('keep_releases', 3);

// Répertoires partagés et fichiers
set('shared_dirs', [
    'web/app/uploads',
]);
set('shared_files', ['.env']);

// Répertoires devant être accessibles en écriture
set('writable_dirs', ['web/app/uploads']);
set('writable_mode', 'chmod');

// Exclusions pour éviter d'envoyer des fichiers inutiles
set('exclude', [
    '.git',
    'node_modules',
    'deploy.php',
    '.env.example',
    '.env.local',
    '.DS_Store',
    'README.md',
    'LICENSE.md',
    'yarn.lock',
    'package.json',
    'composer.lock',
    'phpcs.xml',
]);

// Hôte pour le staging
host('staging')
    ->set('remote_user', '********')
    ->set('hostname', '************.fr')
    ->set('deploy_path', '/home/********/preproduction.****-****.com')
    ->set('branch', 'main');

// Tâche : Transférer les fichiers locaux vers le serveur
desc('Uploader les fichiers nécessaires');
task('deploy:update_code', function () {
    upload('config/', '{{release_path}}/config', ['options' => ['--recursive']]);
    upload('vendor/', '{{release_path}}/vendor', ['options' => ['--recursive']]);
    upload('web/', '{{release_path}}/web', ['options' => ['--recursive']]);
    upload('.env', '{{release_path}}/.env');
});

// Tâche : Installer Composer localement
desc('Installer les dépendances Composer localement');
task('deploy:vendors', function () {
    runLocally('composer install --no-dev --optimize-autoloader');
});

// Tâche : Compiler et uploader les assets Sage
desc('Compiler et uploader les assets');
task('deploy:assets', function () {
    runLocally('yarn install && yarn build:production', [
        'cwd' => 'web/app/themes/outa-theme',
    ]);
    upload('web/app/themes/outa-theme/public/', '{{release_path}}/web/app/themes/outa-theme/public', [
        'options' => ['--recursive'],
    ]);
});

// Vérification après déploiement
desc('Vérifier la structure après le déploiement');
task('deploy:check_files', function () {
    $files = [
        '{{release_path}}/web/index.php',
        '{{release_path}}/web/wp/wp-blog-header.php',
        '{{release_path}}/.env',
        '{{release_path}}/vendor/autoload.php',
        '{{release_path}}/config/application.php',
    ];

    foreach ($files as $file) {
        if (!test("[ -f $file ]")) {
            throw new \RuntimeException("Fichier manquant : $file");
        }
    }
    writeln('Structure correcte après le déploiement.');
});

// Nettoyer les releases incomplètes ou corrompues
desc('Nettoyer les releases incomplètes');
task('deploy:cleanup_releases', function () {
    run('rm -rf {{deploy_path}}/releases/*');
});
before('deploy:release', 'deploy:cleanup_releases');

// Génération de noms de release uniques
set('release_name', function () {
    return date('YmdHis') . '_' . substr(md5(uniqid()), 0, 6);
});

// Tâche principale de déploiement
desc('Déployer le site Bedrock');
task('deploy', [
    'deploy:prepare',
    'deploy:release',
    'deploy:update_code',
    'deploy:vendors',
    'deploy:assets',
    'deploy:shared',
    'deploy:writable',
    'deploy:symlink',
    'deploy:cleanup',
    'deploy:check_files',
]);

// Gestion des échecs
after('deploy:failed', 'deploy:unlock');

My database’s log are good but i don’t understand what i could forget or other.

Thanks for your help