digitaldemocratic/README.md

145 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

[English](https://gitlab.com/digitaldemocratic/digitaldemocratic/-/blob/master/README_en.md) - [Català](https://gitlab.com/digitaldemocratic/digitaldemocratic/-/blob/master/README.md)
### Llicència
AGPLv3 (https://www.gnu.org/licenses/agpl-3.0.en.html)
### Crèdits
Projecte pilot del Pla de Digitalització Democràtica dirigit per Xnet i famílies promotores. Programari creat per IsardVDI i 3iPunt amb la col·laboració de MaadiX.net, Affac, lAjuntament de Barcelona y el Consorci d'Educació de Barcelona
# Què és això
Aquest projecte permet facilitar un proveïdor d'identitat complet i moltes aplicacions per tenir un entorn pensat per a escoles i universitats. El projecte proporcionarà una solució integrada per a gestionar l'entorn comú en l'educació:
- **Aules**: Una instància de Moodle amb tema personalitzat i connectors personalitzats.
- **Fitxers**: Una instància del Nextcloud amb tema personalitzat i connectors personalitzats.
- **Documents**: Una instància d'OnlyOffice integrada amb nextcloud.
- **Pàgines web**: Una instància de pressió de paraules amb el tema personalitzat i connectors personalitzats.
- **Pad**: Una instància etherpad integrada amb nextcloud.
- **Conferències**: Un BigBlueButton integrat amb moodle i nextcloud. Necessita un servidor independent.
- **Formularis**: Els connectors del nextcloud dels formularis.
- ... (algunes aplicacions com jitsi o BigBlueButton no estan totalment integrades ara mateix)
| | |
| ---------------------------- | ------------------------------- |
| ![](docs/img/classrooms.png) | ![](docs/img/cloud_storage.png) |
# Interfície d'administració
Ara hi ha una interfície d'administració que permet gestionar fàcilment usuaris i grups i mantenir-los sincronitzats entre aplicacions. Això es fa executant accions sobre les apis de les diferents aplicacions.
| ![](docs/img/admin_sync.png) | ![](docs/img/admin_user_edit.png) |
| ---------------------------- | --------------------------------- |
Per migrar i introduïr fàcilment usuaris i grups al sistema també hi ha dues importacions::
- Des de la consola d'administració de Google en format JSON
- Des d'un fitxer CSV
Aquesta interfície d'administració està en estat alfa, però ja permet gestionar usuaris sincronitzats entre keycloak, moodle i nextcloud.
# Estat del projecte
Funcional, però hi seguim treballant i tindrà moltes millores en els pròxims mesos. Cal fer algunes automatitzacions, especialment amb la integració de SAML a Moodle i Keycloak.
La vostra col·laboració és benvinguda! Podeu fer un *fork* del projecte per a desenvolupar o bé obrir-nos *incidències* en aquest repositori.
# Documentació DigitalDemocratic
Està escrita en markdown utilitzant [MkDocs+Gitlab](https://gitlab.com/pages/mkdocs).
Mire al directori `docs` els fitxers Markdown o bé a [auto-built site](https://digitaldemocratic.gitlab.io/digitaldemocratic).
## Inici ràpid
```
cp digitaldemocratic.conf.sample digitaldemocratic.conf
```
Canvia les contrasenyes per defecte
```
./securize_conf.sh
```
Editeu les variables de fitxer digitaldemocratic.conf per satisfer les vostres necessitats.
```
cp -R custom.sample custom
```
Edita i substitueix els fitxers per personalitzar el sistema.
```
make all
```
NOTA: L'autenticació SAML actualment es troba automatitzada:
- Moodle: No completament automatitzat.
1. Inicieu la sessió a moodle com a administrador via: https://moodle.\<domain\>/login/index.php?saml=off
2. Aneu a la configuració d'autenticació: https://moodle.\<domain\>/admin/settings.php?section=manageauths
3. Activa SAML2 fent clic a l'ull.
4. Clic a configuració* a SAML2
5. Feu clic al botó Regenera el certificat* dins del formulari. Després d'això, torna a la pàgina de configuració de SAML2.
6. Feu clic al botó Bloqueja el certificat*.
7. Al terminal executeu l'script per autoconfigure: acoblador exec isard-sso-admin python3 moodle_saml.py
8. L'última cosa és purgar la memòria cau de moodle: ]]femida l'script php-fpm7 de l'acoblador Exec, feu-ho a través de moodle ui]]
- Nextcloud: automatitzada. Després d'acabar el *make all* hauria d'estar llest. En cas que falla es refereix a isard-sso/docs.
- Wordpress: Pràcticament automatitzat. Després d'acabar el *make all* hauria d'estar llest i només caldrà activar el plugin. En cas que falla es refereix a isard-sso/docs.
## Instal.lació estesa
Podeu iniciar aquest projecte en qualsevol servidor amb docker & docker-compose (qualsevol sistema operatiu hauria de funcionar). Per a instal·lar aquests paquets a la vostra distribució, consulteu el funcionament de docker-compose a la documentació oficial i a la carpeta sysadm teniu alguns scripts d'automatització
Qualsevol distribució hauria de funcionar però, si voleu utilitzar els nostres scripts sysadm per instal·lar docker & docker-compose , utilitzeu Debian Buster (10).
### Clonar els submòduls
```
git clone https://gitlab.com/digitaldemocratic/digitaldemocratic/
cd digitaldemocratic
git submodule update --init --recursive
```
### docker
Referiu-vos a la documentació oficial (https://docs.docker.com/engine/install/) o utilitzeu l'script a la carpeta sysadm per a Debian Buster (10).
### docker-compose
Referiu-vos a la documentació oficial (https://docs.docker.com/compose/install/) o utilitzeu l'script a la carpeta sysadm per a Debian Buster (10).
### Configuració
Copieu digitaldemocratic.conf.exemple a digitaldemocratic.conf i editeu-lo per satisfer les vostres necessitats. Com a mínim (per a desenvolupament) heu d'adaptar la variable de DOMINI al vostre domini arrel.
- PRODUCCIÓ: Necessiteu un dns multidomini (o redirigeix els subdominis múltiples) a la vostra màquina d'amfitrió.
- Desenvolupament: Editeu el fitxer /etc/hosts i afegiu els subdominis per a propòsits de proves locals.
#### Subdominis
- Keycloak: sso.<yourdomain.org>
- Api: api.<yourdomain.org>
- Moodle: moodle.<yourdomain.org>
- Nextcloud: nextcloud.<yourdomain.org>
- Wordpress: wp.<yourdomain.org>
- Onlyoffice: oof.<yourdomain.org>
- Etherpad: pad.<yourdomain.org>
- (opcional) FreeIPA: ipa.<yourdomain.org>
### Personalització
Copia recursivament la carpeta *custom.sample* a *custom* i edita els fitxers yaml de personalització i menú i substitueix les imatges.
### Iniciar el projecte
```
make all
```
### Integració
Llegiu el fitxer [SAML_README.md](https://gitlab.com/isard/isard-sso/-/blob/master/docs/SAML_README.md) a la carpeta isard-sso/docs per integrar totes les aplicacions. Ara el Nextcloud i el Wordpress s'haurien d'integrar automàticament amb el Keycloak després d'acabar el *make all* excepte Moodle que encara necessita alguns passos manuals i el Wordpress que cal només activar el connector.