Version 1.0.1 - add install.sh

This commit is contained in:
2026-06-03 09:09:46 +02:00
parent 81541a3af5
commit 75f6665252
5 changed files with 700 additions and 97 deletions
+63 -38
View File
@@ -470,9 +470,8 @@ sudo certbot --apache -d glastree.esempio.it</code></pre>
<hr class="my-4">
<h5>PHP Web Installer</h5>
<p>L'applicazione include un <strong>wizard di installazione web</strong> nella cartella <code>installer/</code>. Questo wizard gestisce sia installazioni fresh che ripristino da backup.</p>
<p>Vedi la sezione <strong>Installazione</strong> per la guida completa.</p>
<h5>Comandi Artisan</h5>
<p>Per installazione e ripristino usa i comandi Artisan da terminale. Vedi la sezione <strong>Installazione</strong> per la guida completa.</p>
</div>
</div>
</div>
@@ -776,7 +775,7 @@ echo 'Utente creato con successo!';
</div>
<div class="card-body">
<h5>Panoramica</h5>
<p>l'applicazione include un <strong>wizard di installazione web</strong> che guida passo-passo nella configurazione su un nuovo server LAMP. Supporta due modalita:</p>
<p>L'installazione avviene tramite comandi <strong>Artisan</strong> da terminale. Non esiste un wizard web interattivo. Supporta due modalita:</p>
<div class="row">
<div class="col-md-6">
<div class="callout callout-info">
@@ -863,54 +862,80 @@ sudo a2dissite 000-default.conf
sudo a2ensite glastree.conf
sudo systemctl reload apache2</code></pre>
<h6>Passo 5: Avviare il wizard di installazione</h6>
<p>Apri il browser e visita l'indirizzo del tuo server:</p>
<pre><code>http://glastree.esempio.it/installer/</code></pre>
<h6>Passo 5: Configurare l'ambiente</h6>
<pre><code># Copia il file di configurazione di esempio
cp .env.example .env
<p>Il wizard ti guidera attraverso 6 passi:</p>
# Genera la chiave di crittografia (obbligatorio)
php artisan key:generate
<table class="table table-sm table-bordered">
<thead><tr><th>Passo</th><th>Descrizione</th></tr></thead>
<tbody>
<tr><td>1. Benvenuto</td><td>Scegli Fresh Install o Restore da Backup</td></tr>
<tr><td>2. Requisiti</td><td>Verifica PHP, estensioni e permessi</td></tr>
<tr><td>3. Database</td><td>Configura MySQL (crea nuovo o usa esistente)</td></tr>
<tr><td>4. Installazione</td><td>Fresh: migration e seed. Backup: upload ZIP</td></tr>
<tr><td>5. Amministratore</td><td>Fresh: crea super-admin. Backup: verifica utenti</td></tr>
<tr><td>6. Finalizzazione</td><td>Cache, storage link, auto-eliminazione installer</td></tr>
</tbody>
</table>
# Modifica .env con i parametri del tuo database:
# nano .env
# DB_DATABASE=glastree
# DB_USERNAME=glastree
# DB_PASSWORD=la_tua_password</code></pre>
<div class="alert alert-warning">
<i class="fas fa-exclamation-triangle"></i>
<strong>Attenzione:</strong> Al termine dell'installazione, la cartella <code>installer/</code> viene <strong>automaticamente eliminata</strong>. Non puoi rieseguire l'installazione se non ricreando manualmente la cartella.
<h6>Passo 6: Eseguire l'installazione</h6>
<p>Scegli la modalita in base alle tue esigenze:</p>
<h6 class="mt-3"><i class="fas fa-rocket"></i> Fresh Install</h6>
<pre><code># Esegui migration e seed dei dati di base
php artisan migrate --seed
# Crea il collegamento storage
php artisan storage:link
# Crea l'utente amministratore
php artisan tinker --execute="
\$u = new \App\Models\User;
\$u->name = 'Admin';
\$u->email = 'admin@esempio.it';
\$u->password = bcrypt('password_sicura');
\$u->save();
"</code></pre>
<div class="callout callout-info">
<h6><i class="fas fa-info-circle"></i> Dopo l'installazione</h6>
<p>Accedi con le credenziali create, vai in <strong>Impostazioni → Generali</strong> per configurare nome app, logo e parametri email.</p>
</div>
<h5 class="mt-4">Modalita Fresh Install</h5>
<p>Seleziona questa modalita quando installi l'applicazione per la prima volta su un server.</p>
<p>Cosa succede durante l'installazione:</p>
<h6 class="mt-3"><i class="fas fa-upload"></i> Restore da Backup</h6>
<pre><code># Crea il database e importa il backup
# mysql -u root -p glastree &lt; database.sql
# Ripristina i file dei documenti
# tar -xzf storage.tar.gz -C storage/
# Rigenera APP_KEY (invalida dati criptati esistenti!)
php artisan key:generate
# Crea il collegamento storage
php artisan storage:link</code></pre>
<div class="callout alert alert-warning">
<i class="fas fa-exclamation-triangle"></i>
<strong>Importante:</strong> Il restore da backup richiede che tu abbia un file ZIP generato dalla pagina <strong>Admin → Backup</strong> del server originale. Estrai manualmente il contenuto seguendo la struttura del progetto.
</div>
<h5 class="mt-4">Cosa succede durante l'installazione</h5>
<p>I comandi <code>php artisan migrate --seed</code> eseguono:</p>
<ol>
<li>Genera <code>APP_KEY</code> per la crittografia</li>
<li>Genera <code>APP_KEY</code> per la crittografia (gia eseguito al passo 5)</li>
<li>Esegue tutte le migration per creare le tabelle del database</li>
<li>Popola i dati di base (diocesi, comuni, ruoli, preset)</li>
<li>Crea il collegamento <code>storage &rarr; public/storage</code></li>
<li>Crea l'utente amministratore con i permessi completi</li>
</ol>
<h5 class="mt-4">Modalita Restore da Backup</h5>
<p>Seleziona questa modalita quando vuoi migrare un'installazione esistente su un nuovo server.</p>
<p>Cosa serve:</p>
<h5 class="mt-4">Restore da Backup</h5>
<p>Il backup ZIP generato dalla pagina <strong>Admin &rarr; Backup</strong> contiene un dump SQL e i file dei documenti. Per ripristinare:</p>
<ul>
<li>Un file ZIP generato dalla pagina <strong>Admin &rarr; Backup</strong> del server originale</li>
<li>Il wizard accetta upload diretto del file o un percorso sul server</li>
<li>Estrai il file ZIP in una cartella temporanea</li>
<li>Importa il database dal file SQL (<code>mysql -u root -p glastree &lt; backup/database.sql</code>)</li>
<li>Copia i file in <code>storage/app/</code> per ripristinare i documenti</li>
<li>Copia il file <code>.env</code> dal backup (modifica le credenziali DB per il nuovo server)</li>
<li>Esegui <code>php artisan key:generate</code> se la <code>APP_KEY</code> del backup non è utilizzabile</li>
</ul>
<p>Cosa succede durante il restore:</p>
<ol>
<li>Estrae il file ZIP in una cartella temporanea</li>
<li>Importa <code>database.sql</code> nel database MySQL configurato</li>
<li>Copia i file documenti in <code>storage/app/documenti/</code></li>
<li>Ripristina il file <code>.env</code> dal backup (preservando le credenziali DB del nuovo server)</li>
</ol>
<h5 class="mt-4">Dopo l'Installazione</h5>
<ol>
+43 -21
View File
@@ -268,7 +268,7 @@
<h2 id="installazione">5. Guida all'Installazione</h2>
<h3>Panoramica</h3>
<p>L'applicazione include un <strong>wizard di installazione web</strong> che guida passo-passo nella configurazione su un nuovo server LAMP. Supporta due modalità:</p>
<p>L'installazione avviene tramite comandi <strong>Artisan</strong> da terminale. Non esiste un wizard web interattivo. Supporta due modalità:</p>
<table>
<thead><tr><th>Modalità</th><th>Descrizione</th></tr></thead>
@@ -343,25 +343,48 @@ sudo a2dissite 000-default.conf
sudo a2ensite glastree.conf
sudo systemctl reload apache2</pre>
<h4>Passo 5: Avviare il wizard di installazione</h4>
<p>Apri il browser e visita: <code>http://glastree.esempio.it/installer/</code></p>
<h4>Passo 5: Configurare l'ambiente</h4>
<pre># Copia il file di configurazione di esempio
cp .env.example .env
<p>Il wizard ti guiderà attraverso 6 passi:</p>
<table>
<thead><tr><th>Passo</th><th>Descrizione</th></tr></thead>
<tbody>
<tr><td>1. Benvenuto</td><td>Scegli Fresh Install o Restore da Backup</td></tr>
<tr><td>2. Requisiti</td><td>Verifica PHP, estensioni e permessi</td></tr>
<tr><td>3. Database</td><td>Configura MySQL (crea nuovo o usa esistente)</td></tr>
<tr><td>4. Installazione</td><td>Fresh: migration e seed. Backup: upload ZIP</td></tr>
<tr><td>5. Amministratore</td><td>Fresh: crea super-admin. Backup: verifica utenti</td></tr>
<tr><td>6. Finalizzazione</td><td>Cache, storage link, auto-eliminazione installer</td></tr>
</tbody>
</table>
# Genera la chiave di crittografia (obbligatorio)
php artisan key:generate
<div class="callout callout-warning">
<strong>Attenzione:</strong> Al termine dell'installazione, la cartella <code>installer/</code> viene <strong>automaticamente eliminata</strong>. Non puoi rieseguire l'installazione se non ricreando manualmente la cartella.
</div>
# Modifica .env con i parametri del tuo database:
# nano .env
# DB_DATABASE=glastree
# DB_USERNAME=glastree
# DB_PASSWORD=la_tua_password</pre>
<h4>Passo 6: Eseguire l'installazione</h4>
<p><strong>Fresh Install:</strong></p>
<pre># Esegui migration e seed dei dati di base
php artisan migrate --seed
# Crea il collegamento storage
php artisan storage:link
# Crea l'utente amministratore
php artisan tinker --execute="
\$u = new \App\Models\User;
\$u->name = 'Admin';
\$u->email = 'admin@esempio.it';
\$u->password = bcrypt('password_sicura');
\$u->save();
"</pre>
<p><strong>Restore da Backup:</strong></p>
<pre># Importa il database
# mysql -u root -p glastree &lt; database.sql
# Ripristina i file dei documenti
# tar -xzf storage.tar.gz -C storage/
# Rigenera APP_KEY
php artisan key:generate
# Crea il collegamento storage
php artisan storage:link</pre>
<h3>Modalità Fresh Install</h3>
<p>Seleziona questa modalità quando installi l'applicazione per la prima volta su un server.</p>
@@ -611,9 +634,8 @@ sudo certbot --apache -d glastree.esempio.it</pre>
<hr>
<h3>PHP Web Installer</h3>
<p>L'applicazione include un <strong>wizard di installazione web</strong> nella cartella <code>installer/</code>. Questo wizard gestisce sia installazioni fresh che ripristino da backup.</p>
<p>Vedi la sezione <strong>Installazione</strong> per la guida completa.</p>
<h3>Comandi Artisan</h3>
<p>Per installazione e ripristino usa i comandi Artisan da terminale. Vedi la sezione <strong>Installazione</strong> per la guida completa.</p>
<div class="page-break"></div>