Sign inSign up

jromanuab/guacamole-stats

By jromanuab

•Updated 3 days ago

Image
0

1.8K

jromanuab/guacamole-stats repository overview

⁠Aplicació d'estadístiques del servei guacamole del SID

⁠Entorn de desenvolupament

Com l'aplicació combina Bootstrap amb pagines PHP i BBDD a mySQL. Per l'entorn de desenvolupament
recomanem:

    - Instal·lació de LAMP/WAMP. 
    - Instal·lació de nodejs
    - Export de la BBDD de producció i Import a la BBDD de desenvolupament.
    - Executar:

            `npm install`
            
      per instal·lar les llibreries necessàries (Bootstrap, Jquery, HighCharts,...).                 
    - Configuració aplicació (veure "Instal·lació aplicació" pasos 3 i 4).
⁠Personalització de la web
Es pot modificar l'estil CSS general de la web al fitxer css/main.css
Es pot modificar el *footer* de la web al fitxer includes/peu.php
El *logo* es troba al fitxer imatges/logo.png
    
⁠Build de producció
Per construir l'aplicació de producció s'ha utilitzat gulp.
Està configurat per compilar l'aplicació a la carpeta `dist`.
Per fer el build executar:

    `gulp build`
    
esborrarà el contingut de la carpeta dist i construirà la nova versió per posar a producció.

⁠Instal·lació aplicació

1. Descarregar el respositori git.

2. Executar:

        `npm install`

   per instalar les llibreries necessàries (Bootstrap, Jquery, HighCharts,...). 

3. Crear l'usuari de connexió i donar el privilegi de SELECT a la BBDD del
   servidor de guacamole. A phpmyadmin o consola BBDD executeu:
   
        CREATE USER `USUARI_BD`@`IP_SERVIDOR_WEB` IDENTIFIED BY 'PASSWORD_BD';   
        GRANT SELECT ON `guacamole`.* TO `USUARI_BD`@`IP_SERVIDOR_WEB`;
   
   subtituint USUARI_BD per l'usuari i PASSWORD_BD per la contrasenya amb que 
   fareu la connexió i definireu a variables.php, i IP_SERVIDOR_WEB la ip del
   servidor que connectarà a la BBDD.

   NOTA: Si la versió de PHP del servidor web és anterior a 7.1.16 (a 7.1) o
         anterior a 7.2.4 (a 7.2) i el servidor BBDD és MySQL 8, s'haurà de
         configurar el plugin de password de la BBDD perquè treballi com
         mysql_native_password (per defecte està a caching_sha2_password).
         El canvi s'ha de fer el fitxer cnf de configuració i cal canviar:
         
         default_authentication_plugin=mysql_native_password 
                   
4. Modificar el fitxer variables/variables.php amb les dades de la vostra
   instal·lació:

        - A 'usuaris_sid' afegiu separades per comes els NIUs d'usuaris del
        SID que volgueu treure de les estadístiques. P.e:
            'guacadmin','NIU1','NIU2'

        - Modifiqueu els valors per la connexió a la BBDD: "SERVIDOR_BD",
        "BASEDADES_BD","USUARI_BD" i "PASSWORD_BD"

        - Modifiqueu l'informació del servei que apareix al footer de la
        pagina.
         
5. Per modificar l'estil CSS general de la web ho podeu fer al fitxer css/main.css.

6. Per modificar el *logo* es troba al fitxer imatges/logo.png.

7. Per modificar el footer podeu anar al fitxer includes/peu.php i fer les
modificacions necessaries.

8. Per construir l'aplicació de producció s'ha utilitzat gulp. 
Està configurat per compilar l'aplicació a la carpeta `dist`.
Per fer el build executar:

    `gulp build`
    
esborrarà el contingut de la carpeta dist i construirà la nova versió per posar a producció.

9. Agafar el contingut de la carpeta dist i posar-lo al directori de publicació
al servidor de producció.

⁠Generació d' imatge per a Docker

Per generar una imatge de docker s'ha d' executar la seguent comanda al directori
arrel del codi (on es troba el fitxer Dockerfile) :

    `docker build . -t guacamole-stats:test`

Aquesta comanda generarà dues imatges:
    - La primera imatge no tindrà TAG associat i només serveix per generar
    el codi. La podrem descartar
    - La segona imatge es un imatge generada a partir de la versió oficial
    de la imatge de php (php:7.4-apache-buster) amb les extensions de mysql
    i el codi generat a la imatge builder.
Per exemple :

    user@host:~/guacamole-stats$ docker images
    REPOSITORY                   TAG                  IMAGE ID            CREATED              SIZE
    guacamole-stats              test                 2688176f5665        About a minute ago   416MB
    <none>                       <none>               957d8f0790e0        2 minutes ago       1.09GB
    <none>                       <none>               e3ee2492dca6        17 hours ago        1.09GB
    ...
    user@host:~/guacamole-stats$ docker image prune
    WARNING! This will remove all dangling images.
    Are you sure you want to continue? [y/N] y
    Deleted Images:
    deleted: sha256:5b453b594cf268210984aed8caf9310c3e7b9f6fa1163a705597b77df05593e9
    deleted: sha256:04e38527ee44d639609b2dc5d408b3842e41033d038159dae9b85a7e3f49f44e
    ...
    
    Total reclaimed space: 566.1MB
    
    user@host:~/guacamole-stats$ docker images
    REPOSITORY                   TAG                  IMAGE ID            CREATED              SIZE
    guacamole-stats              test                 2688176f5665        About a minute ago   416MB
⁠Com executar el contenidor

Aquesta imatge fa servir les seguents variables d'entorn : SERVIDOR_BD Servidor de BBDD BASEDADES_BD Nom de la BBDD USUARI_BD Usuari d'access a la BBDD PASSWORD_BD Password

    SERVEI	         	Nom del servei
    CORREU_SERVEI		Mail del servei
    TELF_SERVEI 		Telèfon del servei
    FACEBOOK_SERVEI		Adreça de Facebook del servei
    TWITTER_SERVEI		Adreça de Twitter del servei
    WEB_SERVEI  		URL del servei
    
    USUARIS_SID	        Llista d'usuaris que s'han d'excloure de la
                        estadística
    N_MESOS_HISTORIC	Nombre de mesos de la estadistica
    
El contenidor exposa el port 80 per defecte, igual que la imatge php original.

Totes son necesaries, per tant es recomana fer un fitxer de variables d'entorn (o 2 un pels secrets).
El fitxer de variables té aquest format:
cat guacamole-stats
# BBDD
# -------------
    SERVIDOR_BD=servidor-bbdd.uab.cat
    BASEDADES_BD=bbdd-guacamole
    USUARI_BD=NomUsuari
    PASSWORD_BD=PasswordUsuari 

# Footer.php
# ----------                                    
    SERVEI=Nom del servei
    [email protected]
    TELF_SERVEI=TelèfonDelServei
FACEBOOK_SERVEI=
    TWITTER_SERVEI=
    WEB_SERVEI=
    
# STATS
# ------
    USUARIS_SID='guacadmin','UsuariDeProva'
    N_MESOS_HISTORIC=3
    
Podem executarlo amb
	
	`docker run --env-file fitxer-entorn -p 80:80 --name guacamole-stats guacamole-stats:test`

Per més informació sobre el contenidor de php https://hub.docker.com/_/php

Tag summary

Content type

Image

Digest

sha256:5262a0a31…

Size

172.4 MB

Last updated

3 days ago

docker pull jromanuab/guacamole-stats