digitaldemocratic/README.md

144 lines
6.5 KiB
Markdown

[English](https://gitlab.com/digitaldemocratic/digitaldemocratic/-/blob/master/README_en.md) - [Català](https://gitlab.com/digitaldemocratic/digitaldemocratic/-/blob/master/README.md)
# 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).
### Settings
Copy digitaldemocratic.conf.example to digitaldemocratic.conf and edit to suit your needs. At least (for development) you need to adapt the DOMAIN variable to your root domain.
- PRODUCTION: You need a multidomain dns (or redirect the multiple subdomains) to your host machine.
- DEVELOPMENT: You can just edit your /etc/hosts and add all of them there just for testing purposes.
#### Subdomains
- Keycloak: sso.<yourdomain.org>
- FreeIPA: ipa.<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>
### Personalization
Copy recursively the *custom.sample* folder to *custom* and edit the custom/menu yaml files and replace images.
### Bring the project up
```
make all
```
### Integration
Please read the [SAML_README.md](https://gitlab.com/isard/isard-sso/-/blob/master/docs/SAML_README.md) in isard-sso/docs folder to integrate all apps. Now nextcloud and wordpress should be automatically integrated with keycloak after finishing the make all but moodle needs some manual steps yet.
### License
AGPLv3 (https://www.gnu.org/licenses/agpl-3.0.en.html)
### Credits
Pilot project of the Democratic Digitalization Plan led by Xnet and promoting families. Software created by IsardVDI and 3iPunt in collaboration with MaadiX.net, Affac, Barcelona City Council and the Barcelona Education Consortium