18 KiB
Instruccions post-instal·lació DD
Accessos locals login:
-
NEXTCLOUD: https://nextcloud.DOMINI/login?direct=1
-
WORDPRESS: https://wp.DOMINI/wp-login.php?normal
-1. Instal·lació de software:
Per generar certificats multidomini i 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
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
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
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
- 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
CLIENT:
- Clients -> Ajustos -> Afegir "https://moodle.DOMINI.net/" a més de la de wp "https://wp.DOMINI.net/"
EVENTS:
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 estan instal·lats i activats.
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:
En aquesta imatge pots afegir el nom del lloc, i altres paràmetres.
2.4. Configuració Nextcloud
- Per configurar el email:
- Cercles:
- Per descarregar els Cercles: Aplicacions -> Aplicacions destacades -> Circles (Descarrega i activa)
- Ara sortirà un menú nou
- 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ó)
<<<<<<< Updated upstream
3.1. Per depurar cachés: (https://moodle.DOMINI/admin/purgecaches.php)
3.2. Per desactivar cron:
3.3. Selecció de tema
O bé clicant l'enllaç: https://moodle.DOMINI/admin/settings.php?section=themesettingcbe
EN ACTUALITZAR ELS PLUGINS DE MOODLE SURT UN MENÚ NOU!!!
3.4. Per configurar els blocs
- Afegir blocs:
Has d'anar a aquesta pàgina perquè apliqui a tots els usuaris
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í:
I clic al botó de restablir a tots els usuaris
Altres configuracions de Moodle:
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.1 Executar la següent ordre (ULL! abans cal emplenar els camps)
Stashed changes
php theme/cbe/postinstall.php --wwwroot=moodle.test1.digitaldemocratic.net --ncadmin=admin --ncpass=1234 --sitename="Digital Democratic" --contactname="Contact Name" --contactemail="contact@test.xxx"
<<<<<<< Updated upstream
3.7. NextCloud Submission
Anar a:
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é.
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 - Això permet al creador de curs veure els fitxers privats. S'eliminarà quan siguin a NextCloud. S'utilitza per importar la carpeta del professor de Google Classroom
- repository/user:view - Això permet al creador de curs veure el repositori de fitxers privats quan afegeix un fitxer a l'activitat o recurs. S'eliminarà quan siguin a NextCloud. S'utilitza per importar la carpeta del professor de Google Classroom
- Allow:
- 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 Repositori NextCloud
======= --wwwroot= www Root. --ncadmin= Name Admin NextCloud. --ncpass= Password Admin NextCloud. --sitename= Moodle Site Name. --contactname= Contact Name. --contactemail= Contact Email.
3.2 Repositori NextCloud
Stashed changes
- Dins de NextCloud cal crear un client
- Name: moodle
- URI: https://moodle.test1.digitaldemocratic.net/admin/oauth2callback.php
Es crea un Id Client i un Secret que cal afegir en el oAuth2 de Moodle.
- Crear servici oAuth2
https://moodle.test1.digitaldemocratic.net/admin/tool/oauth2/issuers.php
Crear nou servici NextCloud
Configurar amb aquestes dades:
- Name: NextCloud
- Client Id: Id Client
- Client Secret: Secret
- [OK] Autenticar solicituts de token a través de encapçalats HTTP
- URL base de servici: https://nextcloud.test1.digitaldemocratic.net
Per provar que funciona donem a la següent icona
I seguim els passos d´autenticació que ens marca NextCloud. Si apareix el Tic verd, estaria ben configurat.
- Cal anar a 'Manage repositories' https://moodle.test1.digitaldemocratic.net/admin/repository.php
Activar i posar visible
Anar a Settings del Repositori NextCloud
Activar les dues opcions i salvar
Crear una instància del Repositori
- Name: NextCloud
- Issuer: Seleccionem l'oAuth2 que hem creat anteriorment
- Folder: ''
- Supported files: Internal y External
- Return typ: Internal
[DESAR CANVIS]
<<<<<<< Updated upstream
3.12 Exportar i importar traduccions
-
Des d'un entorn amb les traduccions completades cal anar-hi https://moodle.demo.digitaldemocratic.net/admin/tool/customlang/index.php
-
Escollir l'idioma i exportar
-
Anar a la plataforma on volem importar https://moodle.test1.digitaldemocratic.net/admin/tool/customlang/index.php
-
Important!! cal 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
=======
Stashed changes
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
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:
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 l'idioma