Primero necesitas montar el entorno de desarrollo con Apache, Mysql, etc puede que te interese leer esto. Seguidamente para crear un proyecto en laravel 8 seguiremos estos pasos:
Lo primero que hay que hacer es instalar composer:
sudo apt install composer
O tambien puedes descargarlo e instalarlo desde aquí, si quieres (hay versión Windows)
https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx
sudo apt install curl php-cli unzip php-zip cd /tmp curl -sS https://getcomposer.org/installer -o composer-setup.php sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer sudo nano ~/.bashrc
y añadir al final de .bachrc
export PATH="$HOME/.config/composer/vendor/bin:$PATH"
para luego recargar los cambios
source ~/.bashrc
Si ya lo tienes instalado puedes asegurarte que este actualizado con:
composer self-update
Instalamos el instalador de Laravel propiamente dicho:
composer global require «laravel/installer»
Luego creamos nuestro proyecto, debemos tener instalado php 7.4 al menos para no tener errores:
composer create-project laravel/laravel="8.*" proyecto --prefer-dist
Yo tuve que instalar las extensiones php7.4-xml y php7.4-mbstring
sudo apt install php7.4-mbstring sudo apt install php7.4-xml
Tienes aquí varias opcionmes, la primera que te expongo es con breeze (tailwind):
composer require laravel/breeze --dev php artisan breeze:install npm install && npm run dev
La segunda es con bootstrap:
composer require laravel/ui php artisan ui --auth php artisan ui bootstrap --auth npm install && npm run dev
Como no podemos escoger en que directorio apunta nuestro dominio, no podemos apuntar al directorio «public» crearemos un fichero .htaccess con este contenido en la raiz de nuestro sitio:
<IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} !^public RewriteRule ^(.*)$ public/$1 [L] </IfModule>
Para que esto funcione hay que habilitar los ficheros .htaccess en la configuración del Apache (AllowOverride All)
Y damos permiso de escritura a los directorios necesarios:
#añadir usuario al grupo de apache sudo usermod -aG www-data mi_usuario //los directorios pertenecen al grupo y usuario apache sudo chown -R www-data:www-data storage sudo chown -R www-data:www-data bootstrap/cache //darles permiso de escritura sudo chmod -R 770 storage/ sudo chmod -R 770 bootstrap/cache/ #o bien sudo chmod -R 775 storage sudo chmod -R 775 bootstrap/cache sudo chown -R nuestroUsuario:www-data storage sudo chown -R nuestroUsuario:www-data bootstrap/cache
Una vez editado el fichero «.env» con los datos de la base de datos (usuario, contraseña…) podemos crear la estructura inicial de autentificación
php artisan migrate
Podemos instalar las traducciones de los mensajes de validación y demás en castellano, català y demás con el siguiente paquete:
https://github.com/Laravel-Lang/lang
que depende la versión de PHP instalaríamos de una u otra forma, por ejemplo:
composer require laravel-lang/lang
Por último, podemos eliminar las dependencias no necesarias de Node listadas en package.json,
npm uninstall nombre_dependencia --save-dev
Si queréis ahorrar tiempo podéis hacer uso de BrowserSync
npm install browser-sync browser-sync-webpack-plugin@^2.3.0 --save-dev --legacy-peer-deps
Hay que modificar también webpack.mix.js
.browserSync({ open: 'external', host: 'prueba.com', proxy: 'prueba.com', files: ['resources/views/**/*.php', 'app/**/*.php', 'routes/**/*.php', 'public/js/*.js', 'public/css/*.css'] })