Sviluppo locale nativo

Questo documento descrive il percorso di sviluppo locale supportato per WebBlocks CMS con PHP, Composer, Nginx, MySQL o MariaDB e Redis installati localmente. Gli strumenti locali basati su container non fanno più parte del flusso di lavoro del progetto.

URL locale

Utilizzate HTTPS attendibile e domini .test per i flussi di lavoro nel browser.

  • URL del CMS: https://webblocks-cms.test
  • Admin: https://webblocks-cms.test/webadmin
  • Installatore: https://webblocks-cms.test/install

php artisan serve resta utile per controlli rapidi da CLI o sulle rotte, ma la destinazione normale del browser deve essere la configurazione attendibile Nginx/PHP-FPM descritta sopra.

Verifica di preparazione

Eseguite:

composer native:doctor

Il comando doctor verifica la preparazione del runtime locale senza installare servizi né modificare file locali.

Controlli manuali utili:

php -v
composer --version
nginx -t
mysql --version
redis-cli ping

Nelle installazioni Homebrew su Apple Silicon, i file di servizio e i log si trovano di solito in /opt/homebrew. Nelle installazioni Homebrew su Intel, si trovano di solito in /usr/local.

Configurazione da zero

composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan db:seed
php artisan storage:link

Aprite https://webblocks-cms.test/install per la procedura guidata nel browser quando l'installazione non è ancora completa.

Ambiente

Valori tipici in locale nativo:

APP_ENV=local
APP_URL=https://webblocks-cms.test
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=webblocks_cms
DB_USERNAME=webblocks_cms
DB_PASSWORD=
CACHE_STORE=database
SESSION_DRIVER=database
QUEUE_CONNECTION=sync
CMS_BACKUP_EXECUTION=auto

Utilizzate un database e un utente locali separati per l'installazione del CMS. Se la vostra macchina ha già un'istanza MySQL/MariaDB occupata, utilizzate una porta separata e i valori .env corrispondenti.

Backup e ripristini

I comandi di backup e ripristino utilizzano le CLI locali del database in modalità nativa:

  • I backup MySQL/MariaDB richiedono mysqldump o mariadb-dump.
  • I ripristini MySQL/MariaDB richiedono mysql o mariadb.
  • I backup e i ripristini SQLite utilizzano percorsi PHP/PDO.

CMS_BACKUP_EXECUTION=auto e CMS_BACKUP_EXECUTION=direct si risolvono entrambi in un'esecuzione diretta della CLI locale per MySQL/MariaDB. Il progetto non richiede alcun comando di container per il backup o il ripristino.

Controllo rapido (smoke check)

Dopo riavvii di servizi, ripristini o modifiche dell'ambiente, eseguite:

composer native:smoke

Per test mirati:

php artisan test --filter=PluginCatalogBrowserTest
composer test:release-fast
composer format:changed

Risoluzione dei problemi

Se il browser raggiunge il sito sbagliato, verificate che il server block di Nginx sia proprietario di webblocks-cms.test, che il certificato sia attendibile e che /etc/hosts punti il dominio a 127.0.0.1.

Se i comandi del database falliscono, verificate DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME e DB_PASSWORD in .env, quindi eseguite:

php artisan config:clear
php artisan migrate:status

Se le funzionalità basate su Redis non funzionano, verificate che il servizio Redis locale sia in esecuzione:

redis-cli ping