Commits

Vittore Zen committed b30dd6f

prepare to merge

Comments (0)

Files changed (3)

doc/freeradius.md

-Integrazione con freeradius
--------------------
-
-
-```
-apt-get install freeradius-ldap freeradius-sql libmail-pop3client-perl \
-libio-socket-ssl-perl libnet-ssleay-perl
-
-service freeradius stop
-mv /etc/freeradius /root/freeradius_old
-cp -r /var/www/igroove/freeradius /etc/freeradius
-chown -R freerad:freerad /etc/freeradius
-mysql -u root -p
-CREATE DATABASE radius;
-   GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "radpass";
-   exit
-exit;
-mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql
-```
-
-Verificare il funzionamento con:
-
-```
-freeradius -X
-```
-
-File da modificare
-------------------
-
-* /etc/freeradius/clients -> contiene l'elenco dei client (ad esempio router) che useranno freeradius
-* /etc/users -> file principale per le politiche di autenticazione
-* /etc/radius.conf -> file principale del server freeradius
-
-Tool suggerito per il debug
----------------------------
-
-Per il debug è molto comodo usare in una postazione Microsoft Windows l'applicazione NTradPing. 
-Funziona anche da Linux e OSX usando Wine.
-Con questa applicazione si può interrogare direttamente il server freeradius simulando le autenticazioni.
-
-Link per il download: http://www.mastersoft-group.com/download/
-(applicazione gratuita)

doc/igroove.yml.md

-File igroove.yml
--------------------
-
-Il file contiene tutta la configurazione del sistema. E' l'unico file da modificare.
-
-```
-imag_ldap:                    # Parametri LDAP per la sola autenticazione degli utenti
-  client:                     # cioè la schermata di login in http:://indirizzo_del_server
-    host: 10.10.176.123       # indirizzo ip del server LDAP
-    port: 389                 # porta del server LDAP
-    version: 3                # versione RFC LDAP utilizzata per la comunicazione
-    referrals_enabled: 0      # abilitazione dei referrals LDAP
-    username: ldaproxy        # utente con diritti di lettura degli utenti LDAP
-    password: MY-pass         # password utente (l'utente deve essere creato in LDAP)
-
-  user:
-    base_dn: DC=myDomain,DC=network    # Base DN del distinguished name LDAP per gli utenti
-    name_attribute: samaccountname     # campo di riferimento per il login nello schema LDAP
-  role:
-    base_dn: DC=myDomain,DC=network    # Base DN del distinguished name LDAP per i gruppi 
-    name_attribute: cn                 # Attibuto nello schema
-    user_attribute: member             # Riferimento dell'attributo per gli utenti
-    user_id: dn                        # Riferimento del nome del gruppo nell'attributo dell'utente
-security:                                   # Definizione dei ruoli. Determina l'interfaccia che l'utente avrà a disposizione
-    role_hierarchy:
-        ROLE_DOCENTI:       ROLE_TEACHER    # Mappatura tra i ruolo TEACHER in igroove e il gruppo presente in LDAP
-        ROLE_DOMAIN_ADMINS: ROLE_ADMIN      # Mappatura tra i ruolo ADMIN in igroove e il gruppo presente in LDAP
-        ROLE_PORTINERIA:    ROLE_RECEPTION  # Mappatura tra i ruolo RECEPTION in igroove e il gruppo presente in LDAP
-parameters:                                       
-    ad_ldap:                                      # Parametri LDAP per l'integrazione igroove
-       account_suffix: myDomain                   # Suffisso NETBIOS
-       base_dn: DC=myDomain,DC=network            # Base DN del distinguished name LDAP
-       domain_controllers: 
-          - 10.10.176.123                         # Indirizzo IP domain controller
-       real_primarygroup: true                    # Utilizzo dei gruppi primari se presenti
-       admin_username: ldapAdmin                  # Utente con diritti di scrittura nel LDAP
-       admin_password: MY-super-pass              # Password
-       use_ssl: true                              # Utilizzo di SSL per il colloquio con i DC
-       generated_group_prefix: _                  # Prefisso per tutti i gruppi generati da igroove
-       home_folder: \\srvc.myDomain.network\home\   # Percorso della cartella HOME per gli utenti (deve essere condivisa con i corretti permessi)
-       students_folder: DidatticaStudenti         # Parametro mantenuto per compatibilità con le versioni precedenti
-       students_server:                           # Parametro mantenuto per compatibilità con le versioni precedenti
-           - srvd.myDomain.network                # Parametro mantenuto per compatibilità con le versioni precedenti
-           - srve.myDomain.network                # Parametro mantenuto per compatibilità con le versioni precedenti
-       object_lifetime: 365                       # Parametro mantenuto per compatibilità con le versioni precedenti
-       home_folder_lifetime: 60                   # Parametro mantenuto per compatibilità con le versioni precedenti
-       password_min_char: 6                       # Lunghezza minima della password per gli utenti. Attenzione ad una eventuale collisione con le GPO di dominio se presenti.
-    calendar:                                     # Parametri per integrazione con calendario google per la prenotazione dei laboratori
-       user: 'myExternalDomain.ittertefdsooqhkpk9n5c%40group.calendar.google.com'    # utente proprietario del caledario
-       visibility: 'private-70701fa72f62bsfsdfsc367833db52747e4'                     # link del calendario
-       gmail_username: v.zen@myExternal.it                                           # utente che gestisce il calendario
-       gmail_password: myPassword                                                    # password
-       permit_only_today: true                                                       # permetti la prenotazione del laboratorio solo per la giornata di oggi
-       notification_email: myEmail@myDomain.it                                       # indirizzo email a cui notificare ogni prenotazione (insegnante che gestisce i laboratori)
-    data_provider:                                              # elenco dei provider che forniscono gli elenchi degli studenti
-        - name: Prima formazione                                # Nome provider dei dati
-          uri: http://listautenti.segrematUrl.it/jsonIgroove    # URL che genera un flusso dati JSON
-          json_key: lkhjglkhdsljlkj                             # chiave di sicurezza del flusso
-          auto_create_username: true                            # se true lo username viene generato in base a firstname e lastname altrimenti prende il campo id del flusso JSON
-          force_imported_password: false                        # se true la password viene reimpostata ogni importazione a quella presente nel flusso JSON
-          tutor_email_in_list: true                             # se presente i tutor di classe/corso vengono inseriti nella lista di distribuzione gmail
-          gmail_username: v.zen@myExternal.it                   # utente gmail con permessi per la gestione API google
-          gmail_password: ejrm.d                                # password
-          gmail_domain: ismm.com                                # dominio gmail dove creare gruppi e utenti
-          gcalendar_username: v.zen@myExternal.it               # utente del calendario 
-          gcalendar_password: lkjlmd                            # password
-          internet_teachers_control: true                       # gli utenti con ruolo ROLE_TEACHER possono gestire internet
-          internet:                                             # forzature automatiche dell'accesso ad internet
-            "00:00": force_off                                  # se off internet viene spenta per tutti gli studenti
-            "07:30": force_on
-            "08.10": force_off
-            "10.50": force_off
-            "13.20": force_off
-            "16.40": force_off
-            "23:59": force_off
-        - name: FAD
-          uri: http://sirius.moodleSystem.it/jsonIgroove
-          json_key: lkhjglkdsdskjmw
-          auto_create_username: false
-          force_imported_password: true
-          internet:
-            "00:00": true
-            "13:00": true
-            "16.40": true
-        - name: Formazione continua
-          uri: http://www.mySqlSystem.it/jsonIgroove
-          json_key: kjnwbsijl.ksjs
-          auto_create_username: true
-          force_imported_password: false
-          internet_teachers_control: true
-          radius_suffix: myDomain
-          internet:
-            "00:00": true
-            "13:00": true
-            "16.40": true
-    mikrotik:                                                  # gestione del firewall di nodo mikrotik
-       use: true                                               # se true viene usata la gestione api
-       ip: 10.10.100.201                                       # indirizzo ip del router
-       username: adminUsernameApi                              # username con diritti API amministrativo
-       password: apiPassword                                   # password
-    ibox:
-      apiKey: kjknmefes                                        # chiave per eventuali ibox hardware
-```
-
-
-
-
-
-
-* Altro 
-
-** Dipendenze perl per script pop3
-
-```
-apt-get install  libmail-pop3client-perl libio-socket-ssl-perl libnet-ssleay-perl
-```
-
-
-CREATE DATABASE radius;
-   GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "radpass";
-   exit
-
-mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql
-
-
-5. Licenza
-----------
-Il software è coperto da licenza Apache la quale consente il libero utilizzo del software, la modifica e la distribuzione con o senza modifiche, con qualsiasi licenza, a patto che si rispettino alcuni vincoli:
-
-* una copia della licenza deve essere inclusa nel materiale fornito con il programma;
-* in caso di distribuzione di opere derivate, deve essere evidenziato quali file sono stati modificati;
-* deve essere mantenuto ogni riferimento a copyright, marchi, brevetti e altre attribuzioni indicate nel software originario;
-* deve essere evidenziato nel materiale fornito con l'opera derivata il fatto di aver utilizzato il software coperto dalla licenza.
-
-
-

doc/risoluzioneProblemi.md

-# Risoluzione problemi comuni
-
-
-## Debug della configurazione
-
-Per procedere al debug della configurazione e verificare eventuali errori puntare il proprio browser 
-all' indirizzo http://indirizzo_del_server/app_dev.php questo visualizzerà eventuali errori del sistema 
-in tempo reale.
-
-* Modalità sola lettura del server LDAP
-
-I sistemi Microsoft Windows > 2000 richiedono una connessione ssl per poter scrivere nel server di dominio.
-Se non si è in possesso di un certificato digitale del server procedere per passi in modo da identificare 
-la soluzione adeguata.
-
-* Lunghezza dei nomi   
-
-Nei sistemi Microsoft lo username non può avere una lunghezza maggiore di 20 caratteri
-
-
-3.1 Passo 1: AD in sola lettura
--------------------------------
-Verificare che la configurazione sia corretta almeno in sola lettura modificando il file app/igroove.yml 
-indicando di non usare il certificato ssl:
-
-```
-    active_directory:
-       use_ssl: false
-```
-
-Quando modifico questo parametro DEVO assolutamente visualizzare l'interfaccia di igroove http://indirizzo_del_server/app_dev.php. 
-Se questo non si verifica controllare i parametri di configurazione. Gli utenti e gli indirizzi ip 
-dei server coinvolti. E' inutile procedere finchè questa verifica non da esito positivo.
-
-3.2 Passo 2: creazione certificato AD
--------------------------------------
-Di seguito la procedura da usare per creare il certificato su windows server 2008
-
-- Da server manager – Ruoli aggiungere il ruolo "servizi certificati Active Directory" e "registrazione web autorità di certificazione"
-- Aprire la pagina https://localhost/certsrv
-- Scegliere "Scarica un certificato CA, la catena di certificati o l'elenco di revoche di certificati"
-- Scegliere "Esegui download certificato CA" 
-Attenzione: esportareil certificato in formato Base64
-
-Il certificato così ottenuto va messo nella cartella /etc/ldap/certs/ del server dove è in esecuzione igroove.
-Il file deve chiamarsi con il nome completo del server. Ad esempio srva.issm.network.cer
-
-Modificare il file /etc/ldap/ldap.conf come segue:
-
-```
-host    srva.issm.network
-base    dc=ISSM,dc=network
-
-TLS_CACERT  /etc/ldap/certs/srva.issm.network.cer
-TLS_REQCERT never
-```
-
-A questo punto cambiando il file igroove.yml mettendo ssl a true si deve riuscire a fare il login in igroove. 
-Se questo avviene allora tutto funziona correttamente. 
-A questo punto il comando: php app/console cron crea tutti gli account.
-Per questo ecco come modifichiamo noi il file crontab -e per la creazione periodica degli account:
-
-```
-3  3-5 * * * /usr/bin/php /var/www/igroove/app/console cron
-*/10 * * * * /usr/bin/php /var/www/igroove/app/console internet
-*/3 * * * * /usr/bin/php /var/www/igroove/app/console ros
-*/3 * * * * /usr/bin/php /var/www/igroove/app/console getEmail
-```
-
-
-## Nota per le installazioni su domini Windows 2003
-
-Se lanciando il comando:
-
-```
-/usr/bin/php /var/www/igroove/app/console cron
-```
-
-non vengono creati i gruppi di primo livello, cioè i gruppi che corrispondono ai nomi dei data provider bisogna creare i gruppi corrispondenti manualmente
-ricordadosi che i gruppi di primo livello devono essere Domain LOCAL group e non Global group.
-