Instalación sistema «asistencia.siua.ac.cr» ubuntu 20.04 server

Guía de instalación del sistema de asistencia.siua.ac.cr sobre ubuntu 20.04 server.
apt update
apt upgrade
  • Instalamos
apt install apache2 git composer npm
  • Clonamos el repositorio en una carpeta de nombre «asistencia.siua.ac.cr» dentro de /var/www/html
git clone https://github.com/JeffersonHF06/SISCOA.git asistencia.siua.ac.cr
  • Ingresamos al directorio
cd asistencia.siua.ac.cr/
  • Dependencias
sudo apt install php php-xml php-mbstring php-mysql libapache2-mod-php7.4 php7.4
  • Habillitamos el módulo rewrite
a2enmod rewrite
systemctl restart apache2
  • Ejecutamos
composer update dompdf/dompdf
composer install
npm install
cp .env.example .env
php artisan key:generate
  • Creamos una base de datos «bd_sis_asistencia_siua»
  • Abrimos el archivo
nano .env
  • Modificamos los datos
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

X
DB_CONNECTION=mysql
DB_HOST=mysqlp.siua.ac.cr
DB_PORT=3306
DB_DATABASE=bd_sis_asistencia_siua
DB_USERNAME=rm
DB_PASSWORD=RB0

  • Modificamos el archivo (como dio error al crear BD)
nano /var/www/html/asistencia.siua.ac.cr/config/database.php
  • Modificamos en mysql
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'engine' => null,

X
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
'engine' => 'InnoDB',
  • Ejecutamos
php artisan migrate
php artisan migrate --seed

Publicar con apache

  • Verificamos que tenemos apache corriendo
service apache2 status
  • Dentro de la carpeta del proyecto
  • Verificamos que tenemos una aplicación laravel
php artisan --version

RESULTADO
Laravel Framework 7.30.4
chmod 777 -R storage/
  • Ahora no da un nuevo error por que no encuentra las rutas de nuestro proyecto
  • Pero esto lo corregimos con los host virtuales
  • Seguimos la guia normal de letsencrypt /?p=1831
  • Y la de configuración de apache /?p=1784
  • Y dentro de los host virtuales de MV de asistencia tenemos que agregar el siguiente código para que nos reconozca las rutas
<Directory /var/www/html/asistencia.siua.ac.cr/public/>
           AllowOverride All
    </Directory>
  • Quedando así el asistencia.siua.ac.cr.conf
<VirtualHost *:80>

    #************************************************************************
    #******************* DATOS DEL SITIO WEB ********************************
    #************************************************************************
    ServerName asistencia.siua.ac.cr
    ServerAlias www.asistencia.siua.ac.cr
    ErrorLog /var/log/apache2/asistencia_80.siua.ac.cr-error.log
    CustomLog /var/log/apache2/asistencia_80.siua.ac.cr-access.log common

    #************************************************************************
    #********************** DATOS DEL WEBMASTER *****************************
    #************************************************************************
    ServerAdmin interuniversitariadealajuela@gmail.com
    Header add Author "Unidad de Gestion e Innovacion Tecnologica"

    #************************************************************************
    #********************* DATOS DEL REDIRECIONAMIENTO **********************
    #************************************************************************
    RedirectMatch permanent ^/(.*) https://asistencia.siua.ac.cr/$1


    #************************************************************************
    #************************* DATOS DEL SITIO WEB **************************
    #************************************************************************
    DocumentRoot /var/www/html/asistencia.siua.ac.cr/public/
    <Directory /var/www/html/asistencia.siua.ac.cr/public/>
           AllowOverride All
    </Directory>

</VirtualHost>
  • Y así asistencia.siua.ac.cr-le-ssl.conf
<IfModule mod_ssl.c>

   #************************************************************************
   #HTTPS://www.asistencia.siua.ac.cr
   #************************************************************************
   <VirtualHost *:443>
        ServerName www.asistencia.siua.ac.cr
        RedirectMatch permanent ^/(.*) https://asistencia.siua.ac.cr/$1
        #************************************************************************
        #*************************** DATOS DEL CERTIFICADO **********************
        #************************************************************************
        SSLEngine on
        SSLCertificateFile /etc/apache2/certificados/asistencia.siua.ac.cr/fullchain.pem
        SSLCertificateKeyFile /etc/apache2/certificados/asistencia.siua.ac.cr/privkey.pem

        <Directory /var/www/html/asistencia.siua.ac.cr/public/>
                AllowOverride All
        </Directory>

   </VirtualHost>

   #************************************************************************
   #HTTPS://asistencia.siua.ac.cr
   #************************************************************************
   <VirtualHost *:443>

        #************************************************************************
        #******************* DATOS DEL SITIO WEB ********************************
        #************************************************************************
        ServerName asistencia.siua.ac.cr
        ErrorLog /var/log/apache2/asistencia_443.siua.ac.cr-error.log
        CustomLog /var/log/apache2/asistencia_443.siua.ac.cr-access.log common

        #************************************************************************
        #********************** DATOS DEL WEBMASTER *****************************
        #************************************************************************
        ServerAdmin interuniversitariadealajuela@gmail.com
        Header add Author "Unidad de Gestion e Innovacion Tecnologica"


        #************************************************************************
        #************************** DATOS DEL CERTIFICADO ***********************
        #************************************************************************
        SSLEngine on
        SSLCertificateFile /etc/apache2/certificados/asistencia.siua.ac.cr/fullchain.pem
        SSLCertificateKeyFile /etc/apache2/certificados/asistencia.siua.ac.cr/privkey.pem

        #************************************************************************
        #************************** DATOS DEL SITIO WEB *************************
        #************************************************************************
        DocumentRoot /var/www/html/asistencia.siua.ac.cr/public/
        <Directory /var/www/html/asistencia.siua.ac.cr/public/>
                AllowOverride All
        </Directory>

  </VirtualHost>
</IfModule>