fix - install 1.0.9
This commit is contained in:
@@ -24,6 +24,10 @@
|
||||
- Fallback SQLite: mantiene `php artisan migrate --seed` + tinker ma con `var_export()` per escaping
|
||||
- Step 5 rinominato da "MIGRATION E SEED" a "SCHEMA DATABASE E DATI BASE"
|
||||
- Step 6 usa PDO invece di tinker (MySQL)
|
||||
- **Auto-creazione utente MySQL**: aggiunta funzione `ensureMysqlUserAndDb()` che chiede password root, crea utente + database + GRANT ALL PRIVILEGES su `localhost` e `%`
|
||||
- **Sostituito loop 30-retry** con connessione singola PDO (timeout 5s): se credenziali errate, chiede se creare utente automaticamente
|
||||
- **Fix parse error**: `\$adminName` → `$adminName` in `var_export()` nel ramo SQLite
|
||||
- **Fix composer**: rimosso `sudo -u www-data` da composer (causa git dubious ownership + permission denied), aggiunto `COMPOSER_ROOT_VERSION=dev-main`; `vendor` aggiunto al chown finale
|
||||
|
||||
### In Progress
|
||||
- *(nessuno)*
|
||||
@@ -37,6 +41,8 @@
|
||||
- **`var_export()` per tinker fallback**: nei rari casi SQLite, si usa `var_export()` che produce stringhe PHP valide con escaping automatico
|
||||
- **`2>/dev/null` rimosso** dal MySQL main path (non serve più, non c'è tinker)
|
||||
- **Docker MySQL credenziali**: hardcoded `mysql:glastree:secret:glastree` (dal docker-compose.mysql.yml)
|
||||
- **Composer senza sudo**: `COMPOSER_ROOT_VERSION=dev-main` per evitare git dubious ownership; composer eseguito come utente corrente (root), non più come www-data — dopo, `chown -R www-data vendor` per permessi lettura webserver
|
||||
- **Auto-create MySQL user**: `ensureMysqlUserAndDb()` prova prima root senza password (auth_socket), poi chiede password; crea utente su `localhost` e `%`, GRANT ALL sul database, CREATE DATABASE IF NOT EXISTS
|
||||
|
||||
## Next Steps
|
||||
- *(nessuno)*
|
||||
@@ -46,7 +52,10 @@
|
||||
- `DatabaseSeeder` crea ancora admin `admin@glastree.local / password` ma per MySQL viene cancellato dal PDO script
|
||||
- `createAdminUser()` setta `is_admin=1`, `status='active'`, `permissions` completo, `role_preset_id=1`, e Spatie `model_has_roles` con role_id=1
|
||||
- `password_hash($pass, PASSWORD_BCRYPT)` produce hash `$2y$...` compatibile con `Hash::check()` di Laravel
|
||||
- Composer ora eseguito come utente corrente (root) con `COMPOSER_ROOT_VERSION=dev-main` per evitare git dubious ownership e permission denied su `vendor/`
|
||||
- `vendor/` aggiunto al `chown` finale in entrambi i modi (Apache e Restore) per garantire leggibilità da www-data
|
||||
- `ensureMysqlUserAndDb()` sanitizza input (rimuove `' " \0 \`) prima di passarli a SQL exec
|
||||
|
||||
## Relevant Files
|
||||
- `database/install.sql`: NEW — schema MySQL completo + seed data (1059 righe)
|
||||
- `install.php`: MODIFIED — `createAdminUser()` function + SQL import + PDO admin + Docker/restore adattati
|
||||
- `install.php`: MODIFIED — `createAdminUser()` + `ensureMysqlUserAndDb()` + composer fix + auto-create MySQL user
|
||||
|
||||
Reference in New Issue
Block a user