696 lines
17 KiB
Markdown
696 lines
17 KiB
Markdown
# Instruccions post-instal·lació DD
|
|
|
|
### Accesos locales login:
|
|
|
|
* MOODLE: https://moodle.DOMINI/login/index.php?saml=off
|
|
|
|
* NEXTCLOUD: https://nextcloud.DOMINI/login?direct=1
|
|
|
|
* WORDPRESS: https://wp.DOMINI/wp-login.php?normal
|
|
|
|
|
|
## -1. Instal·lació de software:
|
|
|
|
Per generar certificats multidomini y del domini principal:
|
|
```
|
|
apt install rsync vim tmux certbot -y
|
|
DOMAIN=digitaldemocratic.net
|
|
certbot certonly --preferred-challenges dns --manual --email digitaldemocratic@$DOMAIN --agree-tos -d *.$DOMAIN,$DOMAIN
|
|
|
|
```
|
|
|
|
Donar d'alta al dns el wildcard o els subdominis:
|
|
- moodle
|
|
- nextcloud
|
|
- wp
|
|
- oof
|
|
- sso
|
|
- pad
|
|
- admin
|
|
|
|
|
|
|
|
## 0. Esborrar dades i/o configs
|
|
|
|
Si volem començar des de cero podem esborrar les dades i el repositori de codi (opcional)
|
|
|
|
Esborrar dades:
|
|
```
|
|
./dd-ctl reset-1714
|
|
|
|
```
|
|
|
|
Esborrar dades, configs, codi i certificats:
|
|
|
|
```
|
|
cd /opt/digitaldemocratic/src
|
|
./dd-ctl reset-1714
|
|
cd ..
|
|
rm -rf /opt/digitaldemocratic/src
|
|
|
|
hostname=test1
|
|
cp /opt/src/digitaldemocratic/digitaldemocratic.conf /opt/src/digitaldemocratic.conf.backup
|
|
|
|
git clone https://gitlab.com/digitaldemocratic/digitaldemocratic /opt/src/digitaldemocratic
|
|
cd /opt/src/digitaldemocratic
|
|
cp digitaldemocratic.conf.sample digitaldemocratic.conf
|
|
cp -r custom.sample custom
|
|
./securize_conf.sh
|
|
# Canvia els noms de domini de la configuració del dd pel hostname de la màquina
|
|
sed -i "s/DOMAIN=mydomain.com/DOMAIN=$hostname.digitaldemocratic.net/g" digitaldemocratic.conf
|
|
sed -i "s/LETSENCRYPT_DNS=/LETSENCRYPT_DNS=$hostname.digitaldemocratic.net/g" digitaldemocratic.conf
|
|
sed -i "s/LETSENCRYPT_EMAIL=/LETSENCRYPT_EMAIL=info@digitaldemocratic.net/g" digitaldemocratic.conf
|
|
|
|
./dd-ctl repo-update
|
|
```
|
|
|
|
|
|
## 1. Instal·lació des de Zero:
|
|
|
|
- Clonar el directori de digital democratic
|
|
```bash
|
|
mkdir /opt/src
|
|
git clone https://gitlab.com/digitaldemocratic/digitaldemocratic /opt/src/digitaldemocratic
|
|
cd /opt/src/digitaldemocratic
|
|
cp digitaldemocratic.conf.sample digitaldemocratic.conf
|
|
|
|
#update del repo i subrepos
|
|
./dd-ctl repo-update
|
|
|
|
#variables aleatories de config
|
|
bash securize_conf.sh
|
|
```
|
|
- Canviem el nom del domini i si omplim les variables de LETSENCRYPT ja genera els certificats
|
|
```bash
|
|
TITLE="Digital Democratic"
|
|
TITLE_SHORT="dd"
|
|
DOMAIN=digitaldemocratic.net
|
|
LETSENCRYPT_DNS=digitaldemocratic.net
|
|
LETSENCRYPT_EMAIL=suport-baixeras@digitaldemocratic.net
|
|
# Generate letsencrypt certificate for root domain
|
|
# Values:
|
|
# - false (default): dont generate certificate for root domain, only for
|
|
# subdomains.
|
|
# - true: generate certificate for root domain and subdomains.
|
|
LETSENCRYPT_DOMAIN_ROOT=true
|
|
|
|
```
|
|
- Copiem el custom.sample i fem un ./dd-ctl all
|
|
```bash
|
|
cp -r custom.sample custom
|
|
./dd-ctl all
|
|
```
|
|
|
|
|
|
## 2. Configuració:
|
|
|
|
### 2.1. Configuració del Keycloak
|
|
|
|
Go to https://sso.DOMINI/auth/admin/master/console
|
|
|
|
**THEMES**:
|
|
- [ ] login theme: liiibrelite
|
|
- [ ] account theme: account-avatar
|
|
- [ ] internazionalization enabled: ON
|
|
- [ ] default locale: ca
|
|
|
|
|
|
|
|
1. Configure -> Realm Settings -> Themes
|
|
|
|
Configurem d'aquest manera:
|
|
|
|

|
|
|
|
**SECURITY DEFENSES**:
|
|
- [ ] Canviar segona línia de Content-Security-Policy per:
|
|
`frame-src 'self'; frame-ancestors 'self' *.DOMAIN localhost; object-src 'none';`
|
|
|
|
- [ ] La última per:
|
|
`max-age=31536000; includeSubDomains`
|
|
|
|
- [ ] Save
|
|
|
|

|
|
|
|
**CLIENT SCOPES**:
|
|
|
|
- [ ] client scopes => mappers => role_list => Single Role Attribute: ON
|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 2.2. Configuració Wordpress
|
|
|
|

|
|
|
|

|
|
|
|
Configurar el nickname de Wordpress:
|
|

|
|
|
|
Script:
|
|
```
|
|
var Output = user.getFirstName()+" "+user.getLastName();
|
|
Output;
|
|
```
|
|
|
|
**Per a que et permeti tancar sessió de SAML des de Wordpress:**
|
|
|
|

|
|
|
|
Afegim aquests paràmetres:
|
|
|
|
`/realms/master/account/*`
|
|
`https://wp.DOMAIN/*`
|
|
|
|

|
|
|
|
Guardem la configuració.
|
|
|
|
Verificar que el plugin GenerateBlock i el tema GeneratePress están instalados y activados
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 2.3. Configuració Moodle
|
|
|
|
Fer login com a admin de Moodle a: https://moodle.DOMINI/login/index.php?saml=off
|
|
|
|
* Quan entres per primer cop al moodle et surt això:
|
|
|
|

|
|
|
|
Li donas a 'Continua' i et surt això:
|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|
*En aquesta imatge pots afegir el nom del lloc, i altres paràmetres.*
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
### 2.4. Configuració Nextcloud
|
|
|
|
- Per configurar el email:
|
|
|
|

|
|

|
|
|
|
|
|
**- Cercles:**
|
|
|
|
1. Per descarregar els Cercles: Aplicacions -> Aplicacions destacades -> Circles (Descarrega i activa)
|
|
|
|

|
|
|
|
2. Ara sortirà un menú nou
|
|
|
|

|
|
|
|
3. Tornem a la pantalla de paràmetres i anem a la secció de Administració -> "Treball en grup" o "Groupware":
|
|
|
|

|
|
|
|
O bé per linies de comandes:
|
|
|
|
```
|
|
docker exec -u www-data isard-apps-nextcloud-app php occ --no-warnings config:app:set circles members_limit --value="150"
|
|
docker exec -u www-data isard-apps-nextcloud-app php occ --no-warnings config:app:set circles allow_linked_groups --value="1"
|
|
docker exec -u www-data isard-apps-nextcloud-app php occ --no-warnings config:app:set circles skip_invitation_to_closed_circles --value="1
|
|
```
|
|
|
|
### Neteja de caché del keycloak
|
|
|
|
Fer les comandes **una a una**:
|
|
|
|
`docker exec -ti isard-sso-keycloak /opt/jboss/keycloak/bin/jboss-cli.sh --connect --command='/subsystem=keycloak-server/theme=defaults/:write-attribute(name=cacheThemes,value=false)'`
|
|
|
|
`docker exec -ti isard-sso-keycloak /opt/jboss/keycloak/bin/jboss-cli.sh --connect --command='/subsystem=keycloak-server/theme=defaults/:write-attribute(name=cacheTemplates,value=false)'`
|
|
|
|
`docker exec -ti isard-sso-keycloak /opt/jboss/keycloak/bin/jboss-cli.sh --connect --command='/subsystem=keycloak-server/theme=defaults/:write-attribute(name=staticMaxAge,value=-1)'`
|
|
|
|
`docker exec -ti isard-sso-keycloak /opt/jboss/keycloak/bin/jboss-cli.sh --connect --command='reload'`
|
|
|
|
`docker exec -ti isard-sso-keycloak /opt/jboss/keycloak/bin/jboss-cli.sh --connect --command='/subsystem=keycloak-server/theme=defaults/:write-attribute(name=cacheThemes,value=true)'`
|
|
|
|
`docker exec -ti isard-sso-keycloak /opt/jboss/keycloak/bin/jboss-cli.sh --connect --command='/subsystem=keycloak-server/theme=defaults/:write-attribute(name=cacheTemplates,value=true)' `
|
|
|
|
` docker exec -ti isard-sso-keycloak /opt/jboss/keycloak/bin/jboss-cli.sh --connect --command='/subsystem=keycloak-server/theme=defaults/:write-attribute(name=staticMaxAge,value=2592000)'`
|
|
|
|
` docker exec -ti isard-sso-keycloak /opt/jboss/keycloak/bin/jboss-cli.sh --connect --command='reload' `
|
|
|
|
## 3. Moodle Post-Install (Personalització)
|
|
|
|
### 3.1. Per depurar cachés: (https://moodle.DOMINI/admin/purgecaches.php)
|
|
|
|

|
|
|
|
### 3.2. Per desactivar cron:
|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|
|
|
### 3.3. Selecció de tema
|
|

|
|

|
|
|
|
Configurar a gust:
|
|

|
|
|
|
O bé clicant l'enllaç: https://moodle.DOMINI/admin/settings.php?section=themesettingcbe
|
|

|
|
|
|
**A L'ACTUALITZAR ELS PLUGINS DE MOODLE SURT UN MENÚ NOU!!!**
|
|
|
|

|
|
|
|
|
|
### 3.4. Per configurar els blocs
|
|
|
|
* Afegir blocs:
|
|
|
|

|
|

|
|
|
|
|
|
### OJO no liarla, que hay que ir a esta página para que aplique a todos los usuarios
|
|
https://moodle.DOMINI/my/indexsys.php
|
|

|
|

|
|
|
|
* Eliminar els blocs:
|
|
* Plans d'aprendizatge: DESACTIVAR
|
|
* Cursos visitats recentment: DESACTIVAR
|
|
* Fitxers privats: DESACTIVAR
|
|
* Usuaris en línia: DESACTIVAR
|
|
* Esdeveniments propers: DESACTIVAR
|
|
* Insígnies recents: DESACTIVAR
|
|
* 3iP Mods pending: AFEGEIX
|
|
|
|
Ens hauria de quedar així:
|
|
|
|

|
|
|
|
Y clic al botón de restablecer a todos los usuarios
|
|
|
|

|
|
|
|
|
|
Altres configuracions de Moodle:
|
|
|
|
```bash
|
|
docker exec isard-apps-moodle php7 /var/www/html/admin/cli/cfg.php --name=guestloginbutton --set=0
|
|
docker exec isard-apps-moodle php7 /var/www/html/admin/cli/cfg.php --name=enrol_plugins_enabled --set=manual
|
|
docker exec isard-apps-moodle php7 /var/www/html/admin/cli/cfg.php --name=enablemobilewebservice --set=0
|
|
docker exec isard-apps-moodle php7 /var/www/html/admin/cli/cfg.php --name=enablebadges --set=0
|
|
```
|
|
|
|
|
|
### 3.5. Permisos de rol dels usuaris
|
|
|
|

|
|
|
|
Treure aquests permisos a l'usuari autenticat:
|
|

|
|
|
|
|
|
|
|
- moodle/my:manageblocks : DESACTIVAR
|
|
|
|
- moodle/user:manageownfiles: DESACTIVAR
|
|
|
|
- moodle/user:editownmessageprofile: DESACTIVAR
|
|
|
|
- moodle/user:editownprofile: ACTIVAR - (OJO! Esto se ha vuelto a ACTIVAR, por defecto está ACTIVADO, y hay que dejarlo así)
|
|
|
|
- report/usersessions:manageownsessions: DESACTIVAR
|
|
|
|
- moodle/user:manageownblocks: DESACTIVAR
|
|
|
|
Per editar els rols d'aquesta manera:
|
|

|
|
|
|
Cliquem l'icona i anem a la part de baix de la pàgina per assignar els permisos. Ens trobarem amb aixó:
|
|
|
|

|
|
A baix podem veure els permisos amb la nomenclatura esmentada. Seleccionem els checkboxes corresponents.
|
|
|
|
Guardem la configuració:
|
|
|
|

|
|
|
|
|
|
|
|
- Forçar als usuaris a identificar-se en politiques de seguretat (https://moodle.DOMINI/admin/settings.php?section=sitepolicies): ACTIVAR
|
|

|
|
|
|
|
|
### 3.6. Paràmetres de configuració
|
|
|
|
- Desactivar competències (https://moodle.DOMINI/admin/settings.php?section=competencysettings):
|
|

|
|
|
|
|
|
- Seguiment de compleció (https://moodle.DOMINI/admin/settings.php?section=coursesettings):
|
|

|
|
|
|
- Private sessions Jitsi (https://moodle.DOMINI/admin/settings.php?section=modsettingjitsi):
|
|

|
|
|
|
|
|
|
|
### 3.7. NextCloud Submission
|
|
|
|
Anar a:
|
|
|
|

|
|
|
|
Omplir el formulari:
|
|

|
|
|
|
Host NextCloud:
|
|
https://nextcloud.DOMINI.cat
|
|
|
|
User NextCloud:
|
|
admin
|
|
|
|
Nom de la plantilla:
|
|
template.docx
|
|
|
|
(a test1 ja està)
|
|
|
|
---
|
|
|
|
Desar els canvis i purgar [la caché](https://hackmd.io/Pqia-LNAScyGfI27oB8ScQ?both#Neteja-de-cach%C3%A9).
|
|
|
|
### 3.8 Capabilities
|
|
|
|
- Course Creator
|
|
- Allow:
|
|
- moodle/course:manageactivities
|
|
- mod/bigbluebuttonbn:addinstance
|
|
- moodle/course:delete
|
|
- mod/tresipuntshare:addinstance
|
|
- mod/tresipuntshare:view
|
|
- mod/assign:viewownsubmissionsummary
|
|
- moodle/user:manageownfiles - Esto permite al creador de curso ver sus archivos privados. Se eliminará cuando estén en NextCloud. Se utiliza para la importación de la carpeta del profesor de Google Classroom
|
|
- repository/user:view - Esto permite al creador de curso ver el repositorio del archivos privados cuando añade un archivo a la actividad o recurso. Se eliminará cuando estén en NextCloud. Se utiliza para la importación de la carpeta del profesor de Google Classroom
|
|

|
|
|
|
- Teacher
|
|
- Allow:
|
|
- Que un professor pugui matricular a altres professors.
|
|
Anem a la pàgina https://moodle.test1.digitaldemocratic.net/admin/roles/allow.php?mode=assign
|
|
|
|
I anem a la pestanya "Permetre asignar rols"
|
|
|
|
|
|

|
|
|
|
|
|
- Asignar el rol de 'Profesor' al Creador de Curs
|
|
|
|
### 3.9 Core
|
|
|
|
### 3.10 Plugins
|
|
|
|
- Theme CBE
|
|
|
|
- Host (theme_cbe | host): test1.digitaldemocratic.net
|
|
- Logo URL (theme_cbe | logourl): https://api.test1.digitaldemocratic.net/img/logo.png
|
|
- API de cabecera y colores (theme_cbe | header_api): SÍ
|
|
- Avatar API (theme_cbe | avatar_api): SÍ
|
|
- URL Avatar API (theme_cbe | avatar_api_url): https://sso.test1.digitaldemocratic.net/auth/realms/master/avatar-provider
|
|
- URL Avatar Otros Usuarios API (theme_cbe | avatar_other_users): https://api.test1.digitaldemocratic.net/avatar/
|
|
- URL Perfil API (theme_cbe | avatar_profile_url): https://sso.test1.digitaldemocratic.net/auth/realms/master/account
|
|
- Enlace Digital Democratic (theme_cbe | has_dd_link): SÍ
|
|
- URL Digital Democratic (theme_cbe | ddlink_url): https://xnet-x.net/ca/digital-democratic/
|
|
|
|
- Importar Cursos de Google Classroom (theme_cbe | importgc): SÍ
|
|
- Direct virtual class (theme_cbe | vclasses_direct): SÍ
|
|
- Utilizar Nombre único (theme_cbe | uniquenamecourse): SÍ
|
|
- Internal APPs another tab (theme_cbe | apssallexternals): SÍ
|
|
- URL de creación de archivo de NextCloud (theme_cbe | hostnccreate): https://nextcloud.test1.digitaldemocratic.net/apps/files
|
|
|
|
- URL Privacy Policies (theme_cbe | policies): PENDIENTE
|
|
- URL Center Legal Notice (theme_cbe | aviso_legal): PENDIENTE
|
|
|
|
### 3.11 Repositorio NextCloud
|
|
|
|
1. Dentro de NextCloud hay que crear un cliente
|
|
|
|

|
|
|
|
- Name: moodle
|
|
- URI: https://moodle.test1.digitaldemocratic.net/admin/oauth2callback.php
|
|
|
|
Se crea un **Id Cliente** y un **Secret** que hay que añadir en el oAuth2 de Moodle.
|
|
|
|
|
|
2. Crear servicio oAuth2
|
|
|
|
https://moodle.test1.digitaldemocratic.net/admin/tool/oauth2/issuers.php
|
|
|
|
Crear nuevo servicio NextCloud
|
|
|
|

|
|
|
|
Configurar con estos datos:
|
|
|
|
- Name: NextCloud
|
|
- Client Id: **Id Cliente**
|
|
- Client Secret: **Secret**
|
|
- [OK] Autenticar solicitudes de token a través de encabezados HTTP
|
|
- URL base de servicio: https://nextcloud.test1.digitaldemocratic.net
|
|
|
|

|
|
|
|
Para probar que funciona damos al siguiente icono
|
|

|
|
|
|
Y seguimos los pasos de autenticación que nos marca NextCloud. Si aparece el Tic verde, estaría bien configurado.
|
|
|
|
|
|
3. Hay que ir a 'Manage repositories' https://moodle.test1.digitaldemocratic.net/admin/repository.php
|
|
|
|
Activar y poner visible
|
|
|
|
Ir al Settings del Repositorio NextCloud
|
|
|
|

|
|
|
|
Activar ambas opciones y salvar
|
|
|
|

|
|
|
|
Crear una instancia del Repositorio
|
|
|
|
- Name: NextCloud
|
|
- Issuer: Seleccionamos el oAuth2 que hemos creado anteriormente
|
|
- Folder: ''
|
|
- Supported files: Internal y External
|
|
- Return typ: Internal
|
|
|
|
[SALVAR CAMBIOS]
|
|
|
|
|
|
|
|
### 3.12 Exportar e importar traduciones
|
|
|
|
1. Desde un entorno con las traducciones completadas hay que ir https://moodle.demo.digitaldemocratic.net/admin/tool/customlang/index.php
|
|
|
|
2. Escoger el idioma y exportar
|
|
|
|

|
|
|
|
3. Ir a la plataforma donde queremos importar https://moodle.test1.digitaldemocratic.net/admin/tool/customlang/index.php
|
|
4. Seleccionamos el idioma y subir el archivo
|
|

|
|
|
|
5. Importante!! hay que guardar
|
|
|
|

|
|
|
|
### 3.13 Mostrar solament activitats i recursos determinats
|
|
|
|
https://moodle.test1.digitaldemocratic.net/admin/modules.php
|
|
|
|
Activitats visibles:
|
|
|
|
- Tarea
|
|
- BigBlueButton
|
|
- Encuesta
|
|
- Carpeta
|
|
- Foro
|
|
- Glosario
|
|
- H5P
|
|
- Etiqueta
|
|
- Página
|
|
- Cuestionario
|
|
- Archivo
|
|
- Audio
|
|
- Compartir publicación
|
|
- Video
|
|
- URL
|
|
|
|

|
|
|
|
### 3.14 Activitats recomenades
|
|
|
|
https://moodle.test1.digitaldemocratic.net/course/recommendations.php
|
|
|
|
S'activen:
|
|
- Assignment
|
|
- File
|
|
- Folder
|
|
- URL
|
|
|
|

|
|
|
|
### 3.15. Configuració BigBlueButton
|
|
|
|
Administració de lloc -> Connectors -> Mòduls d'activitat -> BigBlueButtonBN
|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
## 4. SAML PLUGINS ACTIVATION
|
|
|
|
### 4.1. Plugin de SAML2 Moodle
|
|
|
|
**1. Login a moodle com admin via: https://moodle.\DOMINI/login/index.php?saml=off**
|
|
|
|
Username i password:
|
|
`cat /opt/src/digitaldemocratic/digitaldemocratic.conf | grep -i moodle_admin`
|
|
|
|

|
|
|
|
|
|
**2. Entrar a "Administració del lloc" -> Connectors -> Autenticació (SAML2)**
|
|
|
|

|
|
|
|

|
|
|
|

|
|
|
|
|
|
**3. Clic en el botó "Regenerate certificate", acceptar la configuració tal qual i tornar a la pàgina de configuració de SAML2**
|
|
|
|

|
|
Fem clic a regenerate
|
|
|
|
**4. Clic en el botó "Lock certificate"**
|
|
|
|

|
|
|
|
**5. Al terminal, executar el script per autoconfigurar:**
|
|
|
|
```
|
|
docker exec isard-sso-admin python3 /admin/saml_scripts/moodle_saml.py
|
|
```
|
|
|
|
**6. Cal fer uns últims retocs:**
|
|
|
|
A la mateixa pàgina on ens trobem:
|
|
|
|
- Per a que ja no et demani entrar com a Moodle i vagi automàticament al SSO:
|
|

|
|
|
|
|
|
- Auto create users = Sí
|
|

|
|
|
|
|
|
|
|
|
|
### 4.2. Plugin de Wordpress SAML2
|
|
|
|
|
|
**1. Entrar com admin al WordPress (has d'estar amb la sessió tancada als altres entorns.): https://wp.\<domain\>/wp-login.php?normal**
|
|
|
|
**2. Activar el plugin "OneLogin SAML SSO" i aplicar els canvis**
|
|
|
|
|
|
|
|
|
|
|
|
### 4.3. Configuració de WordPress
|
|
|
|
- Per configurar la hora i el idioma
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 5.0 Otros
|
|
|
|
|
|
### 5.1 extra moodle
|
|
|
|
|
|
### 5.2 altres extra
|
|
|
|
Redirect URIs para logout de wordpress
|
|
|
|
En keycloack -> clients -> account:
|
|
|
|

|
|
|
|
Anar a "Valid Redirect URIs" i afegir la url de wordpres amb https y * al final: **https://wp.test1.digitaldemocratic.net/***
|
|
|
|

|
|
|
|
|
|
|
|
habrá que documentar como crear en nextcloud el pass
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|