Instalación


Instalación de dependencias

  1. Instalar Composer 2.2
    https://getcomposer.org/download/

  2. Instalar PHP 8.2
    https://www.php.net/downloads.php

  3. Instalar Laravel 10
    https://laravel.com/docs/10.x/installation


Instalación del proyecto

  1. Clonar el repositorio

    git clone git@github.com:eduayme/RescueApp.git
  2. Crear un nuevo archivo .env dentro de la carpeta del proyecto con el mismo contenido que .env.example

    cp .env.example .env
  3. Instalar dependencias del proyecto

    composer install
  4. Generar la key de la aplicación

    php artisan key:generate

Instalación de la base de datos

Opción 1) MySQL

  1. Instalar MySQL 8.0
    https://dev.mysql.com/doc/mysql-installation-excerpt/8.0/en/

  2. Crear la base de datos aplicatiu_bombers en MySQL

    CREATE DATABASE aplicatiu_bombers;
  3. 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

Opción 2) PostgreSQL

  1. Instalar PostgreSQL 15
    https://www.postgresql.org/download/

  2. Crear la base de datos aplicatiu_bombers en PostgreSQL

    CREATE DATABASE aplicatiu_bombers;
  3. 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

Instalación de la configuración de emails

Opción 1) Gmail vía SMTP

  1. Crear cuenta de Gmail

  2. Ir a opciones de seguridad de la cuenta
    https://myaccount.google.com/security?pli=1#connectedapps

  3. 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"

Arrancar la aplicación

  1. Ejecutar migraciones

    php artisan migrate
  2. (Opcional) Ejecutar seeders si el proyecto los tiene

    php artisan db:seed
  3. Levantar la aplicación

    php artisan serve
  4. Abrir un navegador y entrar a http://127.0.0.1:8000 o http://localhost:8000

  5. RescueApp funcionando!


Configuración del servidor

Ejemplo de instalación en el subdominio RescueApp.mysite.com

Opción 1) Apache2

  1. Instalar Apache2
    https://help.ubuntu.com/lts/serverguide/httpd.html#Installation

  2. Configurar registros tipo "A" en el DNS para tu subdominio según lo requiera tu proveedor

  3. 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>