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).
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
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ó.
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ó.
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
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
Content type
Image
Digest
sha256:5262a0a31…
Size
172.4 MB
Last updated
3 days ago
docker pull jromanuab/guacamole-stats