Apr 27

Creiamo un’applicazione con Laravel

Spread the love

Con questo articolo creiamo da zero una applicazione PHP+Laravel.

PHP

Ci posizioniamo nella cartella htdocs della installazione del nostro web server (Apache, Ngnix, LiteSpeed,…)

$ composer create-project laravel/laravel middleware 5.2.*

MySQL

mysql > create database middleware;
mysql > grant all privileges on middleware.* to 'middleware' identified by 'secret';

Modifichiamo il file .env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=middleware
DB_USERNAME=middleware
DB_PASSWORD=secret

Modifica di /etc/hosts

Occorre definire l’host che andremo ad invocare in modo tale che tcp/ip si connetta a localhost:

$ sudo nano /etc/hosts
127.0.0.1       localhost
127.0.0.1       cms.dev
127.0.1.1       jsbach js
127.0.0.1       api.trackye.com
127.0.0.1       smazing.dev
127.0.0.1       login.dev
127.0.0.1       middleware.dev

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Ho aggiunto la riga in grassetto.

Diritti sulle cartelle

$ sudo chown -R www-data middleware/
$ sudo chmod o+x storage/
$ sudo chmod g+w laravel.log
$ sudo chgrp marcob laravel.log #altrimenti non posso lanciare comandi da bash

Fino a qui riesco a fare funzionare l’url http://localhost/middleware/public ma non http://middleware.dev. Per fare questo occorre

Creare un virtualhost

# middleware
<VirtualHost *:80>
        DocumentRoot /var/www/html/middleware/public
        ServerName middleware.dev
        <Directory /var/www/html/middleware/public>
                Options Indexes FollowSymLinks
                AllowOverride All
                Require all granted
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error_middleware.log
        CustomLog ${APACHE_LOG_DIR}/access_middleware.log combined
</VirtualHost>

Riavviare Apache

$ sudo service apache2 restart

Creare il controller Auth per gestire la protezione degli accessi

$ php artisan make:auth
...
Authentication scaffolding generated successfully!

Queste istruzioni creano l’infrastruttura PHP per gestire la login. Però non viene creato nulla sul database, questo va fatto a mano tramite le migrazioni. Facendo riferimento alle due migrazioni che vengono create per default (la tabella users e la tabella password_resets) con artisan possiamo creare le tabelle nel database:

$ php artisan migrate
Migration table created successfully.
Migrated: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_100000_create_password_resets_table

Nel database vengono create e due tabelle:

 

 

 

 

 

 

 

 

In realtà esiste una terza che è migrations che è i log delle migrazioni che facciamo (nel linguaggio di Laravel una migrazione è uno script PHP che ha come effetto una modifica del database).

Alla fine ecco creata l’applicazione, alla quale accediamo con http://middleware.dev

Lascia un commento

Your email address will not be published.