https://github.com/raupulus/skeleton-laravel-project
Estructura básica para mis proyectos en laravel. Esto es un mirror de: https://gitlab.com/raupulus/skeleton-laravel-project
https://github.com/raupulus/skeleton-laravel-project
laravel php skeleton
Last synced: about 2 months ago
JSON representation
Estructura básica para mis proyectos en laravel. Esto es un mirror de: https://gitlab.com/raupulus/skeleton-laravel-project
- Host: GitHub
- URL: https://github.com/raupulus/skeleton-laravel-project
- Owner: raupulus
- License: gpl-3.0
- Created: 2019-08-05T11:33:56.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2023-03-19T05:15:59.000Z (over 3 years ago)
- Last Synced: 2025-09-07T05:44:06.646Z (10 months ago)
- Topics: laravel, php, skeleton
- Language: PHP
- Homepage: https://raupulus.dev
- Size: 18.1 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Plantilla de Aplicación para Laravel
Creado por Raúl Caro Pastorino
## Información sobre la plantilla
Esta plantilla la estoy creando para tomarla como referencia al comenzar mis
proyectos y utilizarla como base para además actualizarlos.
Las características son o pretende llegar a serlo en un futuro:
- Uso del front mediante componentes, principalmente Vue.js
- Panel backend para gestionar parámetros de API y datos para el front.
- Front modular, separado del backend.
- Assets en Typescript y Saas.
- Módulos independientes, extraibles o intercambiables.
- Extraer cada funcionalidad que pueda ser interesante a paquete laravel de
forma que pueda ser desarrollado de forma externa y actualizado en todas
las aplicaciones cómodamente.
- Base de datos PostgreSQL.
## Obtener aplicación
```bash
git clone https://gitlab.com/fryntiz/laravel-skeleton.git laravel-skeleton
cd /var/www/public/nombredominio
```
- Editar .env
- Crear Base de datos (postgresql)
## Crear usuario postgresql
En caso de no tener usuario postgresql crear así con tu usuaio:
```bash
sudo -u postgres createuser -P user_name
sudo -u postgres createdb fryntiz -O user_name
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE db_name to user_name"
```
## Crear Base de datos
Ahora crea la base de datos para este proyecto
```bash
sudo -u postgres createdb -O user_name -T template1 db_name
```
## Añadir variables de entorno
```bash
cp .env.example.production .env
nano .env
```
## Instalar dependencias nodejs
```bash
npm install --production
```
## Instalar dependencias php composer
```bash
composer install --no-dev
```
## Ejecutar migraciones
```bash
php artisan migrate
```
## Ejecutar Seeders
```bash
php artisan db:seed
```
## Generar claves para acceso por API
```bash
php artisan key:generate
```
## Crear enlace simbólico para el storage
```bash
#ln -s $PWD/storage/app/public $PWD/public/storage
php artisan storage:link
```
## Generar assets transpilados con npm
```bash
npm run prod
```
## Preparar apache
```bash
sudo chown -R www-data:www-data /var/www/public/nombredominio
sudo find /var/www/public/nombredominio/ -type f -exec chmod 644 {} \;
sudo find /var/www/public/nombredominio/ -type d -exec chmod 775 {} \;
sudo mkdir /var/log/apache2/nombredominio
sudo cp /var/www/public/api-fryntiz/nombredominio.conf /etc/apache2/sites-available/
sudo a2ensite nombredominio.conf
echo '127.0.0.1 nombredominio' | sudo tee -a /etc/hosts
echo '127.0.0.1 www.nombredominio' | sudo tee -a /etc/hosts
sudo systemctl reload apache2
```
## Instalar certificado
```bash
sudo certbot --authenticator webroot --installer apache \
-w /var/www/public/nombredominio/public \
-d www.nombredominio -d nombredominio
sudo certbot certonly --webroot -w /var/www/public/nombredominio/public \
-d www.nombredominio -d nombredominio
```
### Instalar certificado de forma interactiva forzando dominios
```bash
sudo certbot certonly --authenticator standalone --pre-hook "apachectl -k stop" --post-hook "apachectl -k start"
```
## Añadir crontab para renovar certificados
#15 2,14 * * * /usr/bin/certbot renew --quiet --post-hook "service apache2 reload"
43 5 * * * certbot renew --post-hook "systemctl reload apache2"
## Renovar certificados manualmente
```bash
sudo certbot renew --post-hook "service apache2 reload"
```
## Eliminar certificado cerbot
```bash
sudo certbot delete domain
```