Installation Newportal


Si presume che, sia in locale che su uno spazio hosting Linux con accesso SSH, siano installati i pacchetti Node.js - Npm - Bower - PHP - Composer.

Installazione Newportal su una macchina locale di sviluppo

# importare il progetto da github repository
# posizionarsi nella document root ex cd /c/www
git clone https://github.com/lscavelli/newportal.git

# in alternativa a "git clone" è possibile scaricare l'app dal seguente indirizzo
# https://github.com/lscavelli/newportal/archive/master.zip

# installare le dipendenze di Back end
cd newportal
composer install

# copiare il file di environment
cp .env.example .env

# generare la chiave del portale
php artisan key:generate

# impostare l'accesso al DB all'interno del file .env
# effettuare la generazione delle tabelle nel DB
# attendere qualche minuto, le tabelle Cities e Countries contengono molti dati
php artisan migrate --seed

# rendere scrivibile le seguenti dir
chmod -R g+w storage
chmod -R g+w bootstrap/cache

# creare un collegamento simbolico allo storage dell'app
php artisan storage:link

# Avvio il server web
php artisan serve // http://127.0.0.1:8000

# modificare il file hosts da /etc/hosts (linux)
# C:\Windows\System32\drivers\etc\hosts (windows), inserendo:
127.0.0.1 newportal.test

# installare le dipendenze di front end
cd public
npm install

# credenziali per login - http://newportal.test:8000/login
username: admin@example.com
password: admin


Installazione Newportal su spazio hosting Linux con accesso SSH

# nomesito.io (Domain name)
# httpdocs (Document root)

# verificare che la dir httpdocs sia vuota, dopodiché eliminarla
rm -rf httpdocs

# se già esiste la dir newportal rimuoverla con rm -rf newportal
# importare il progetto laravel fuori dalla document root
git clone https://github.com/lscavelli/newportal.git

# in alternativa a "git clone" è possibile scaricare l'app dal seguente indirizzo
# https://github.com/lscavelli/newportal/archive/master.zip

# creare un link simbolico alla dir public
# dopo la creazione del link verificare la funzionalità, entrando nella cartella - cd httpdocs
ln -s newportal/public httpdocs

# installare le dipendenze di Back end
cd newportal
composer install

# copiare il file di environment
cp .env.example .env

# generare la chiave del portale
php artisan key:generate

# eliminare la linea APP_ENV dal file .env (questo verrà impostato su production)
# eliminare la linea APP_DEBUG dal file .env (questo verrà impostato su false)
# impostare nel file .env la variabile SESSION_DRIVER su database

# impostare i dati di accesso al DB nel file .env
# effettuare la generazione delle tabelle nel DB
# Attendere qualche minuto. Le tabelle Cities e Countries contengono molti dati
php artisan migrate --seed

# verificare che i permessi per le cartelle e i file siano impostati correttamente
#cd /var/www
#chown -R <utente-ftp>:<apache> newportal
#find newportal -type f -exec chmod 644 {} \;
#find newportal -type d -exec chmod 755 {} \;

# abilitare la scrittura per alcune dir
chmod -R g+w storage
chmod -R g+w bootstrap/cache

# creare un collegamento simbolico allo storage dell'app
php artisan storage:link

# ottimizzare l'autoloader e metto in cache alcuni file
composer dumpautoload -o // oppure con composer dump-autoload --optimize --no-dev
php artisan config:cache
php artisan route:cache

# una volta che si esegue il comando config:cache.
# due nuovi file saranno creati in bootstrap/cache.
# Questi sono config.php e services.php
# Rieseguire il comando se si cambiano i percorsi e le configurazioni
# Con il comando route:cache viene creato nella cache un terzo file, route.php.

# Installo le dipendenze di front end
cd httpdocs
npm install

# credenziali per login - http://<domain-name>/login
username: admin@example.com
password: admin