Benvenuto nell'installazione di Glastree

Questo wizard ti guidera nella configurazione dell'applicazione su questo server.

Verifica Requisiti di Sistema

Il sistema controlla che il server soddisfi i requisiti minimi per eseguire Glastree.

Requisiti critici non soddisfatti. Risolvi gli errori sopra e ricarica la pagina.
Alcuni requisiti non critici non sono soddisfatti. Puoi proseguire, ma alcune funzionalita potrebbero essere limitate.
← Indietro
$appUrl, 'db_host' => $dbHost, 'db_port' => (string) $dbPort, 'db_database' => $dbName, 'db_username' => $dbUser, 'db_password' => $dbPass, ]); if ($envWritten) { redirect('setup.php?step=4'); } else { $errors[] = 'Impossibile scrivere il file .env.'; } } else { $errors[] = $result['message']; } } } elseif ($action === 'test_existing') { // Test existing database connection $dbName = $_POST['db_name'] ?? ''; $dbUser = $_POST['db_user'] ?? ''; $dbPass = $_POST['db_pass'] ?? ''; $appUrl = $_POST['app_url'] ?? getBaseUrl(); if (empty($dbName) || empty($dbUser)) { $errors[] = 'Compila tutti i campi obbligatori.'; } else { $result = testDatabaseConnection($dbHost, $dbPort, $dbName, $dbUser, $dbPass); if ($result['success']) { $_SESSION['db_host'] = $dbHost; $_SESSION['db_port'] = $dbPort; $_SESSION['db_name'] = $dbName; $_SESSION['db_user'] = $dbUser; $_SESSION['db_pass'] = $dbPass; $_SESSION['app_url'] = $appUrl; $envWritten = writeEnvFile([ 'app_url' => $appUrl, 'db_host' => $dbHost, 'db_port' => (string) $dbPort, 'db_database' => $dbName, 'db_username' => $dbUser, 'db_password' => $dbPass, ]); if ($envWritten) { redirect('setup.php?step=4'); } else { $errors[] = 'Impossibile scrivere il file .env.'; } } else { $errors[] = $result['message']; } } } else { $errors[] = 'Azione non valida.'; } } renderHeader('Configurazione Database', '3'); ?>

Configurazione Database

Configura la connessione al database MySQL.

L'indirizzo pubblico con cui si accedera a Glastree

Modalita A: Crea Nuovo Database

Nuovo Database da Creare

Modalita B: Usa Database Esistente

← Indietro
['--force' => true], 'migrate' => ['--force' => true], 'db:seed' => ['--force' => true], 'storage:link' => [], ]; $results = runArtisanCommands($kernel, $commands); $allOk = true; $log = []; foreach ($results as $r) { $log[] = ($r['success'] ? 'OK' : 'ERRORE') . ': ' . $r['command']; if (!$r['success']) $allOk = false; } if ($allOk) { $_SESSION['install_done'] = true; $success = 'Installazione completata con successo!'; $log[] = 'Ora puoi creare l\'amministratore.'; } else { $errors[] = 'Alcuni comandi sono falliti. Verifica i log.'; foreach ($log as $l) $errors[] = $l; } } catch (\Exception $e) { $errors[] = 'Errore: ' . $e->getMessage(); } } elseif ($mode === 'backup') { // Handle backup upload if (!empty($_FILES['backup_file']) && $_FILES['backup_file']['error'] === UPLOAD_ERR_OK) { $uploadedFile = $_FILES['backup_file']['tmp_name']; $originalName = $_FILES['backup_file']['name']; $result = restoreFromBackup( $uploadedFile, $_SESSION['db_user'] ?? '', $_SESSION['db_pass'] ?? '', $_SESSION['db_name'] ?? '' ); if ($result['success']) { $_SESSION['install_done'] = true; $success = 'Backup ripristinato con successo!'; $log = $result['log'] ?? []; } else { $errors[] = $result['message']; if (!empty($result['log'])) { foreach ($result['log'] as $l) $errors[] = $l; } } } elseif (!empty($_POST['backup_path'])) { // Backup file already on server $serverPath = $_POST['backup_path']; if (!file_exists($serverPath)) { $errors[] = 'File non trovato: ' . $serverPath; } else { $result = restoreFromBackup( $serverPath, $_SESSION['db_user'] ?? '', $_SESSION['db_pass'] ?? '', $_SESSION['db_name'] ?? '' ); if ($result['success']) { $_SESSION['install_done'] = true; $success = 'Backup ripristinato con successo!'; } else { $errors[] = $result['message']; } } } else { $errors[] = 'Seleziona un file di backup o fornisci il percorso.'; } } } renderHeader($mode === 'fresh' ? 'Installazione' : 'Ripristino Backup', '4'); ?>

Installazione completata. Procedi al passo successivo.
Avanti →

Clicca "Installa" per eseguire migration, seed e generare la chiave dell'applicazione.

← Indietro

oppure specifica il percorso sul server:

← Indietro

Amministratore creato con successo! Utenti configurati.
Avanti →
Utenti trovati nel database ripristinato:

Puoi proseguire senza creare nuovi utenti.


oppure crea un nuovo amministratore:

← Indietro
[], 'route:cache' => [], 'view:cache' => [], ]; $results = runArtisanCommands($kernel, $commands); $allOk = true; foreach ($results as $r) { if (!$r['success']) $allOk = false; } if ($allOk) { // Self-destruct selfDestruct(); $finalized = true; } else { $errors[] = 'Alcune operazioni sono fallite.'; } } } catch (\Exception $e) { $errors[] = 'Errore: ' . $e->getMessage(); } } if (!$finalized && empty($errors)) { // Initial display renderHeader('Finalizzazione', '6'); ?>

Finalizzazione

Completa l'installazione generando la cache e rimuovendo i file di setup.

← Indietro

Installazione Completata!

' : '' ?>
Glastree e stato installato con successo!

La cartella installer/ e stata eliminata per sicurezza.

Prossimi passi:

  1. Configura SSL con Let's Encrypt per connessioni sicure
  2. Accedi con le credenziali amministratore
  3. Vai su Impostazioni per configurare:
    • Nome applicazione e logo
    • Email (SMTP e IMAP)
    • Repository remoti (Google Drive, Nextcloud)
  4. Vai su Admin per creare altri utenti
  5. Configura il cron per backup automatico: * * * * * cd && php artisan schedule:run >> /dev/null 2>&1
Vai al Login →