Instalar Composer 2.2
https://getcomposer.org/download/
Instalar PHP 8.2
https://www.php.net/downloads.php
Instalar Laravel 10
https://laravel.com/docs/10.x/installation
Clonar el repositorio
git clone git@github.com:eduayme/RescueApp.git
Crear un nuevo archivo .env dentro de la carpeta del proyecto con el mismo contenido que .env.example
cp .env.example .env
Instalar dependencias del proyecto
composer install
Generar la key de la aplicación
php artisan key:generate
Instalar MySQL 8.0
https://dev.mysql.com/doc/mysql-installation-excerpt/8.0/en/
Crear la base de datos aplicatiu_bombers en MySQL
CREATE DATABASE aplicatiu_bombers;
Cambiar credenciales de MySQL en .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=aplicatiu_bombers
DB_USERNAME=mysql_username
DB_PASSWORD=mysql_password
Instalar PostgreSQL 15
https://www.postgresql.org/download/
Crear la base de datos aplicatiu_bombers en PostgreSQL
CREATE DATABASE aplicatiu_bombers;
Cambiar credenciales de PostgreSQL en .env
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=aplicatiu_bombers
DB_USERNAME=postgresql_username
DB_PASSWORD=postgresql_password
Crear cuenta de Gmail
Ir a opciones de seguridad de la cuenta
https://myaccount.google.com/security?pli=1#connectedapps
Configurar una contraseña de aplicación (recomendado) o método SMTP equivalente, y actualizar credenciales en .env
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=gmail_username
MAIL_PASSWORD=gmail_app_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="noreply@example.com"
MAIL_FROM_NAME="RescueApp"
Ejecutar migraciones
php artisan migrate
(Opcional) Ejecutar seeders si el proyecto los tiene
php artisan db:seed
Levantar la aplicación
php artisan serve
Abrir un navegador y entrar a http://127.0.0.1:8000 o http://localhost:8000
RescueApp funcionando!
Ejemplo de instalación en el subdominio RescueApp.mysite.com
Instalar Apache2
https://help.ubuntu.com/lts/serverguide/httpd.html#Installation
Configurar registros tipo "A" en el DNS para tu subdominio según lo requiera tu proveedor
Configurar /etc/apache2/sites-enabled/RescueApp.conf adaptando el código a tus necesidades: ServerName, DocumentRoot, parámetros SSL, etc. Ejemplo:
<VirtualHost *:80>
ServerName RescueApp.mysite.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/Rescue-app/public
<Directory /var/www/html/Rescue-app>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName RescueApp.mysite.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/Rescue-app/public
<Directory /var/www/html/Rescue-app>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/mysite.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mysite.com/privkey.pem
</VirtualHost>
</IfModule>