Icono del sitio Un lugar en el mundo…

Instalando Laravel en Debian 9

Repasando el «histórico» del blog que a menudo me sirve como memoria veo que he recurrido en los últimos 12 años a dos frameworks para php: cake y codeigniter. Ahora que me toca volver a decidirme por alguno y teniendo en cuenta que tengo totalmente olvidado a ambos he preguntado por ahí y todo el mundo parece estar de acuerdo en que lo mejor del momento es Laravel. La versión actual de Laravel es la 5.6. Vamos, pues, a por el tercero.

La instalación de Laravel es bien sencilla. En esta entrada tocaremos un entorno «clásico» en este blog: una Debian sin entorno gráfico. En una entrada posterior tocaremos la instalación en un windows 7 con Xampp que en este caso me resulta también imprescindible. Vamos a ello.

Partimos de una Debian 9.3.0 (la versión estable en el momento de escribir esto) recién instalada y sin ningún tipo de personalización. Lo primero que necesitamos instalar son ciertos paquetes de utilidades y el entorno web necesario para trabajar con laravel: apache2, php y mysql-server:

apt install curl unzip git
apt install apache2 libapache2-mod-php
apt install mysql-server
apt install php-mysql php-xml php-mbstring

En segundo lugar tenemos que instalar composer, un gestor de paquetes php que nos servirá para instalar el entorno necesario para trabajar con Laravel. Así:

cd /usr/local/bin
curl -sS https://getcomposer.org/installer | php

Esto bajará un archivo llamado composer.phar y lo depositará en el directorio /usr/local/bin. Y ya hemos acabado. ¿Y he leído por ahí que alguien decía que era difícil? ¡Tendrían que haber instalado alguna red Novell en su vida! 😀

Como decía, ya tenemos todo lo que necesitamos para crear nuestra primera aplicación con Laravel. Empezamos. Nuestro primer proyecto se llamará prueba y estará en el directorio /var/www/html/prueba. Lo primero que tenemos que hacer es hacer que composer nos cree toda la estructura necesaria:

cd /var/www/html
composer.phar create-project laravel/laravel prueba --prefer-dist

Asignamos los permisos adecuados en la estructura que se ha creado:

chgrp -R www-data /var/www/html/your-project
chmod -R 775 /var/www/html/your-project/storage

Creamos un virtual host adecuado en el directorio /etc/apache2/sites-availables. En mi caso le he puesto laravel.conf y el contenido creado es este:

<VirtualHost *:80>
    DocumentRoot /var/www/html/prueba/public
    DirectoryIndex index.php
    <Directory /var/www/html/prueba>
        AllowOverride All
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Por último, deshabilitamos el virtual host que apache crea por defecto, habilitamos el nuestro, habilitamos el modulo rewrite de apache y reiniciamos el servidor web:

a2dissite 000-default.conf
a2ensite laravel.conf
a2enmod rewrite
systemctl restart apache2

Si ahora apuntamos con un navegador a la ip de nuestra máquina debian veremos la página de inicio de Laravel:

Salir de la versión móvil