Skip to content

Instantly share code, notes, and snippets.

@aduartem
Last active August 10, 2018 12:30
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save aduartem/597b5703f633f67205c2 to your computer and use it in GitHub Desktop.
Save aduartem/597b5703f633f67205c2 to your computer and use it in GitHub Desktop.
Laravel

Laravel

Instalar Laravel en Ubuntu

Requisitos previos:

Tener al menos instalado PHP y un motor de base de datos como por ejemplo MySQL. También se recomienda instalar un servidor web como por ejemplo Apache o Nginx.

Paso 1: Instalar CURL

$ sudo apt-get install curl

Paso 2: Instalar composer de forma global

$ curl -sS https://getcomposer.org/installer | php

Este comando descargará en nuestra carpeta home el archivo composer.phar. Este archivo será llamado cada vez que queramos usar composer, así que vamos a instalarlo de forma global para que podamos usar composer desde cualquier directorio.

Para instalar composer de manera global debemos mover el archivo composer.phar a la carpeta /usr/local/bin, ejecutaremos el siguiente comando:

$ sudo mv ~/composer.phar /usr/local/bin/composer

Una vez hecho esto podemos ejecutar en la terminal el comando composer.

Paso 3: Instalar laravel

Tenemos 2 formas de instalar laravel, una es a través del instalador de Laravel y la otra es utilizando Composer Create-Project (Recomendada).

a) Vía el instalador de Laravel

Descargar el instalador de Laravel usando composer:

$ composer global require "laravel/installer"

Ahora debemos modificar el PATH para que el sistema pueda reconocer los comandos de Laravel, esto se hace modificando el archivo .profile ó en .bashrc. Abrimos el archivo .profile:

$ sudo vim ~/.profile

Vamos al final del archivo y agregamos la siguiente línea:

Para Ubuntu 14.04

PATH="$PATH:~/.composer/vendor/bin"

Para Ubuntu 16.04

PATH="$PATH:~/.config/composer/vendor/bin"

Guardamos el archivo.

Ahora ejecutamos el siguiente comando:

$ composer global update

Para que reconozca el comando debemos cerrar la terminal.

De esta forma realizamos una instalación global de Laravel en nuestro equipo.

Para crear un proyecto:

$ laravel new {nombre_proyecto}

Ejemplo:

laravel new blog

b) Via Composer Create-Project

Ir al directorio donde alojas tus proyectos (por ejemplo: /var/www/) y en la terminal ejecuta el siguiente comando:

$ composer create-project laravel/laravel nombre_proyecto

Instalar una versión especifica de Laravel con composer create-project

$ composer create-project laravel/laravel myproject --prefer-dist v5.1.8

Otro ejemplo de uso:

$ composer create-project laravel/laravel myproject --prefer-dist v5.1.*

Nota: Si no instalaste composer de manera global tendrás que ejecutar php composer.phar y necesitaras tener el archivo composer.phar en la misma carpeta desde donde vas a ejecutar el comando.

Nota2: Si quieres usar los comandos de laravel es necesario instalar Laravel de forma global

Verificar la versión instalada del framework

Cambiar de directorio a la raiz del framework y ejecutar el siguiente comando:

$ php artisan --version

Servidor Web

Podemos hacer uso del servidor web de pruebas que trae Laravel. Para hacer esto, desde la terminal nos cambiamos al directorio del proyecto y ejecutamos el siguiente comando:

$ php artisan serve

salida:

Laravel development server started on http://localhost:8000/

Ahora podemos acceder al proyecto desde el navegador ingresando http://localhost:8000/

Pro Tip:

Servidor Web Apache

Debes habilitar el mod_rewrite, para poder activarlo, en la terminal ejecutar:

$ sudo a2enmod rewrite

Para que los cambios hagan efecto, reiniciar el apache:

$ service apache2 restart

Y Crear un virtualhost que apunte a la carpeta public que se encuentra en la raíz del proyecto.

Dar propietario y grupo www-data a las carpetas bootstrap y storage (Esto sólo aplica si utilizamos apache ó nginx):

$ sudo chown -Rvf www-data:www-data bootstrap storage

Artisan

Listar todos los comandos habilitados

$ php artisan list

Ver versión

$ php artisan --version

Crear un controlador

Primero que todo debemos ubicarnos en el directorio del proyecto.

$ php artisan make:controller EjemploController

Salida:

Controller created successfully.

Este comando creará un controlador en el directorio app/Http/Controllers/

Crear componente Seeder

$ php artisan make:seeder UserTableSeeder

Realizar migración y ejecutar los seeders

$ php artisan migrate --seed

Rollback de seeders

Esto va a eliminar las tablas, luego las va a volver a crear y finalmente va a crear el seeder de usuario:

$ php artisan migrate:refresh --seed

Ejecutar seeders

$ php artisan db:seed

Sistema de Autenticación Laravel

Laravel 5.2 tiene dos clases listas para migrar, estas son: CreateUsersTable y CreatePasswordResetsTable y se encuentran en database/migrations/

Definiremos los datos de conexión en el archivo de configuración .env

Ejemplo:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=blog
DB_USERNAME=root
DB_PASSWORD=dev

Ahora reiniciamos el servidor web

ctrl + c
$ php artisan serve

y limpiamos la configuración en cache

$ php artisan config:clear

Para migrar las tablas ejecutaremos el siguiente comando:

$ php artisan migrate

Ahora crearemos las vistas de autenticación que provee laravel

$ php artisan make:auth
Created View: /Users/andres/Sites/blog/resources/views/auth/login.blade.php
Created View: /Users/andres/Sites/blog/resources/views/auth/register.blade.php
Created View: /Users/andres/Sites/blog/resources/views/auth/passwords/email.blade.php
Created View: /Users/andres/Sites/blog/resources/views/auth/passwords/reset.blade.php
Created View: /Users/andres/Sites/blog/resources/views/auth/emails/password.blade.php
Created View: /Users/andres/Sites/blog/resources/views/layouts/app.blade.php
Created View: /Users/andres/Sites/blog/resources/views/home.blade.php
Created View: /Users/andres/Sites/blog/resources/views/welcome.blade.php
Installed HomeController.
Updated Routes File.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment