Laravel, instala este framework para PHP en Ubuntu

About laravel

En el siguiente artículo vamos a echar un vistazo a Laravel y su instalación en Ubuntu. Se trata de un framework para PHP de código abierto muy popular. Está destinado a facilitar el desarrollo de aplicaciones. Si estás buscando un nuevo marco de PHP para desarrollar tus proyectos, debes probar Laravel.

Laravel es un framework de aplicaciones web con una sintaxis expresiva y elegante que hará del del desarrollo una experiencia agradable y creativa. Laravel intenta facilitar el desarrollo de las tareas comunes utilizadas en la mayoría de los proyectos web, como la autenticación, el enrutamiento, las sesiones y el almacenamiento en caché.

Este framework tiene como objetivo hacer que el proceso de desarrollo sea agradable para el desarrollador sin sacrificar la funcionalidad de la aplicación. Laravel es accesible y proporciona potentes herramientas necesarias para aplicaciones grandes y robustas. Nos va a proporcionar contenedores de control, un sistema de migración expresivo y un soporte de prueba de unidades estrechamente integrado que nos brindarán las herramientas que cualquiera necesitará para construir la aplicación que se le haya encomendado.

Antes de empezar, siempre es una buena idea asegurarse de que las fuentes y el software existentes en nuestro equipo estén actualizados. En la terminal (Ctrl+Alt+T) escribiremos:

sudo apt-get update && sudo apt-get upgrade

He de decir que con lo que aquí voy a escribir, he instalado este framework en Ubuntu 16.04, 17.10 y 18.04. Antes de empezar con la instalación de Laravel, necesitaremos instalar otros componentes que son esenciales.

Instalar PHP 7.1

El siguiente paso es instalar PHP junto con varios paquetes adicionales que resultan útiles si vas a trabajar con Laravel. En la terminal (Ctrl+Alt+T) escribiremos:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update && sudo apt-get install php7.1 php7.1-mcrypt php7.1-xml php7.1-gd php7.1-opcache php7.1-mbstring

Aunque el propio repositorio de Ubuntu tiene disponible PHP, me parece mejor idea agregar un repositorio de terceros aquí porque se actualiza con más frecuencia. Se puede omitir ese paso y utilizar la versión de Ubuntu, si eso es lo que prefieres.

Instalar Apache

Es hora de instalar el servidor Apache. También necesitaríamos instalar el paquete libapache2-mod-php7.1 para conectar Apache con PHP.

sudo apt-get install apache2 libapache2-mod-php7.1

Instalar Laravel

Antes de profundizar en la instalación, será necesario que se instale el control de versiones de Git.

Para instalar Laravel, primero tenemos que instalar Composer. Esta una herramienta para la administración de dependencias en PHP que permitirá empaquetar todas las bibliotecas requeridas asociadas. Para instalar Laravel y todas sus dependencias, se requiere Composer. Para instalar esta herramienta, en la terminal (Ctrl+Alt+T) tendremos que escribir los siguiente comandos (Ctrl+Alt+T):

cd /tmp
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

El comando curl descarga el paquete composer.phar a nuestro directorio /tmp. Pero como nos interesaría más que composer se ejecutase globalmente, debemos moverlo al directorio /usr/local/bin. Terminado todo esto, ahora podemos ejecutar composer desde cualquier lugar de nuestro sistema operativo.

Para instalar Laravel, nos dirigiremos al directorio público html de tu sistema. Como estamos en Ubuntu y usando Apache, lo instalaremos en el directorio /var/www/html.

cd /var/www/html
sudo composer create-project laravel/laravel tu-proyecto - -prefer-dist

El comando anterior creará el directorio «tu-proyecto» con la instalación de Laravel. Composer usa git para descargar e instalar todos los paquetes y módulos que Laravel requiere para funcionar.

Configurando Apache

Ahora que hemos instalado Laravel, pasamos a configurar el servidor web Apache.

El siguiente paso es otorgar los permisos adecuados al directorio del proyecto. Para esto, necesitamos habilitar el acceso al grupo www-data y otorgarle permisos de escritura al directorio de almacenamiento. En la terminal (Ctrl+Alt+T) escribiremos:

sudo chgrp -R www-data /var/www/html/tu-proyecto
sudo chmod -R 775 /var/www/html/tu-proyecto/storage

Ahora nos dirigiremos al directorio /etc/apache2/sites-available y utilizaremos el siguiente comando para crear un archivo de configuración para nuestra instalación de Laravel:

cd /etc/apache2/sites-available
sudo nano laravel.conf

virtual host laravel

Cuando se abra nano agregaremos el siguiente contenido al archivo. Habrá que reemplazar tudominio.tld con el nombre de dominio de tu sitio web dentro del archivo. También habrá que cambiar el nombre del proyecto por el que hemos creado anteriormente. En caso de usarlo en local, escribe localhost.tld.

<VirtualHost *:80>
    ServerName tudominio.tld
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/tu-proyecto/public
    <Directory /var/www/html/tu-proyecto>
        AllowOverride All
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Ahora tenemos que habilitar este archivo .conf recién creado. También tendremos que deshabilitar el archivo .conf predeterminado que se instala con la instalación de Apache. Además, debemos habilitar mod_rewrite para que los enlaces permanentes puedan funcionar correctamente.

sudo a2dissite 000-default.conf && sudo a2ensite laravel.conf && sudo a2enmod rewrite

Y terminamos reiniciando apache con:

sudo service apache2 restart

laravel mozilla

Con esto, tu instalación de Laravel ahora está completa. Visita la dirección IP o el nombre de dominio de tu servidor con un navegador web (en mi caso, http://localhost). Si todo ha ido bien, verás la página predeterminada de Laravel, desde la que podrás acceder a la documentación de este framework y demás opciones.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Armando Ballesteros dijo

    Muy bien hasta aquí;
    cd /tmp
    curl -sS https://getcomposer.org/installer | php
    sudo mv composer.phar /usr/local/bin/composer

    Donde ya no sirvió

    1.    Damián Amoedo dijo

      ¿Por qué ya no sirvió a partir de ahí? ¿Qué error te muestra?

      1.    Juan dijo

        Todo iba bien hasta este punto
        sudo composer create-project laravel/laravel tu-proyecto – -prefer-dist
        En el cual sale el siguiente error:

        Do not run Composer as root/super user! See https://getcomposer.org/root for details

        [Symfony\Component\Console\Exception\RuntimeException]
        The «-p» option does not exist.

        1.    Damián Amoedo dijo

          Ejecútalo sin sudo.

        2.    Enrique dijo

          El problema es que hay una falla en el comando. Hay que juntar los 2 «-» ya que si no lo agarra como un «-p». Espero que sirva el comentario, así conseguí que funcionara.

  2.   Jorge dijo

    Yo tengo una duda, todo me sirvio, todo, me abre Laravel, pero quiero crear otro proyecto, lo unico que hice fue hacer todo desde crear el proyecto con composer y lo nombre LARAVEL_2 (el primero proyecto que cree fue LARAVEL), este proyecto en la misma ruta /var/www/html que en el primer proyecto creado, todo va bien hasta que llego a la parte que creo es donde me da problemas, que es en el archivo de configuracion del virtual host
    Para el primer proyecto lo tengo asi:

    ServerName localhost.tld
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/LARAVEL/public

    AllowOverride All

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Y todo salio perfectamente, pero cuando hago para el segundo proyecto, lo tengo asi:

    ServerName homestead.test
    ServerAdmin micorreo@hotmail.com
    DocumentRoot /var/www/html/LARAVEL_2/public

    AllowOverride All

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Ejecuto los siguientes comandos, sin tener ningun problema hasta finalizar con reiniciar apache, el problema esta es que ahora no puedo entrar al primer proyecto poniendo localhost en mi laptop, ni mucho menos a homestead.test que es donde segun con ese nombre es como yo puedo acceder a mi proyecto, entonces ¿como puedo resolver esto?

    Este articulo fue de mucha ayuda, solo que quise hacer algo mas, y me salio un poco mal

    1.    Deyvi Rosado Diaz dijo

      Edita el archivo /etc/hosts y en una nueva linea agrega:

      127.0.0.1 homestead.test

      reinicia apache y escribe en el navegador:
      http://homestead.test

  3.   Christiam dijo

    hola quiero saber si funciona en ubuntu 20.04lts pues instale y me pide que falta algunas dependencias como: Your requirements could not be resolved to an installable set of packages.
    laravel/framework v7.9.2 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    por favor ayuda

  4.   Ernie- dijo

    A pesar de que este tutorial parece ser de hace varios años, me ha funcionado en pleno 2022 en Ubuntu Jammy Jellyfish.

    Muy buen trabajo Damián 🙂