01. Pre requisiti necessari:
- Aver già installato il Pentaho-Server V.9 link del post dell'installazione di pentaho server
- Aver già preparato tutto il necessario per effettuare l'integrazione di PostgreSQL con Pentaho-Server V.9 link del post di preparazione di PostgreSQL
- Aver già configurato l'integrazione di Pentaho-server con PostgreSQL link del post integrazione di Pentaho-server con PostgreSQL
- Accesso internet per poter fare il download dei pacchetti di CentOS.
- Accesso al server con utente "root" o "sudo su"
02. Verificare che il Pentaho server 9 sia attivo o no.
Nel caso in cui il Pentaho non fosse attivo avremmo bisogno di lanciarlo perchè avremmo bisogno di fare alcune configurazioni negli utenti.
/srv/pentaho-server/start-pentaho.sh
03. Configurazione degli utenti e gruppi del Pentaho server 9 per l'integrazione con l'LDAP:
A partire dall'interfaccia grafica del Pentaho-server effettuare il "login" con l'utente "Admin" e password "password".
- Cliccare nel menu "Home" -> "Administration" -> "Users and Roles".
- Creare l'utente "anonymousUser" e la password "password".
- Cliccare nella linguetta "System Roles".
- Selezionare nella colonna "Roles" il grupo "Anonymous".
- Aggiungere i permessi di "Execute" e "Read Content".
04. Eventuali problematiche dovute al cambio di permissi
Nel caso si avranno problemi con il cambio dei permessi, sarà necessario cancellare la directory "anonymousUser" e ricrearla nuovamente.
05. Verificare i permessi per "anonymousUser".
Nel menu "Home" aprire "Browser Files" cliccando nella directory "anonymousUser" e vedere le proprietà cliccando su "Properties...".
06. Attribuire i gruppi necessari alla directory "anonymousUser".
Disattivare l'opzione "Inherits folder permission" e con il bottone "Add", aggiungere il gruppo "Anonymous" in modo da avere la lista di "Users and Roles:" contenendo:
- anonymousUser
- Anonymous
- Administrator
- Authenticated
07. Modificare i permessi della directory "anonymousUser".
Dare tutte i permessi, "Manage Permissions (Full Control)", ai gruppi "Anonymous" "anonymousUser"
08. Fermare il Pentaho-server per realizzare l'integrazione con l'LDAP:
/srv/pentaho-server/stop-pentaho.sh
09. Configurazione del Pentaho-server per l'accesso al sistema di autenticazione con l'LDAP.
Modificare il file "applicationContext-security-ldap.properties":
vim /srv/pentaho-server/pentaho-solutions/system/applicationContext-security-ldap.properties
usando i parametri di configurazione inerenti al vostro LDAP oppure fare riferimento alla documentazione ufficiale del Pentaho Server:
https://help.pentaho.com/Documentation/9.0/Setup/LDAP_security#Manual_configuration
10. Aggiungere il parametro "follow" nella configurazione di accesso del LDAP:
vim /srv/pentaho-server/pentaho-solutions/system/applicationContext-spring-security-ldap.xml
<bean id="contextSource" class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
<constructor-arg value="${ldap.contextSource.providerUrl}"></constructor>
<property name="userDn" value="${ldap.contextSource.userDn}"></property>
<property name="password" value="${ldap.contextSource.password}"></property>
<property name="referral" value="follow" ></property>
</bean>
11. Configurare l'autenticazione con il server LDAP.
Modificare il file "security.properties"
vim /srv/pentaho-server/pentaho-solutions/system/security.properties
Cambiare il valore di "provider" che di default conterrà "jackrabbit" sostituendolo con "ldap".
#provider=jackrabbit
provider=ldap
successivamente cambiare anche il valore di "requestParameterAuthenticationEnabled" da "false" a "true" lasciando il file simile alla configurazione in basso:
#provider=jackrabbit
provider=ldap
requestParameterAuthenticationEnabled=true
# This flag indicates whether or not UserDetailsService is called during creation of user's principal.
# If the service is external (e.g. LDAP or JDBC-based auth is used) then such calls can be expensive.
# On the other hand, if user has been removed within external service, then it becomes impossible to
# prevent principal creation when the verification is muted
skipUserVerificationOnPrincipalCreation=true
12. Verificare se il Pentaho server 9 riconosce l'utente che è stato definito come "amministratore" nella configurazione del server LDAP:
vim /srv/pentaho-server/pentaho-solutions/system/repository.spring.properties
#Tue Mar 26 17:50:44 EDT 2013
#singleTenantAdminDefaultUserName=admin
singleTenantAdminDefaultUserName=NOME_UTENTE_AMMINISTRATORE_DEFINITO_DENTRO_LDAP
#singleTenantAdminUserName=admin
singleTenantAdminUserName=NOME_UTENTE_AMMINISTRATORE_DEFINITO_DENTRO_LDAP
singleTenantAdminDefaultAuthorityName=Administrator
singleTenantAdminAuthorityName=Administrator
repositoryAdminUsername=pentahoRepoAdmin
singleTenantAuthenticatedAuthorityName=Authenticated
singleTenantAnonymousAuthorityName=Anonymous
superAdminAuthorityName=SysAdmin
superAdminUserName=super
systemTenantAdminUserName=system
systemTenantAdminPassword=cGFzc3dvcmQ=
cache-size=100
cache-ttl=300
versioningEnabled=false
versionCommentsEnabled=false
# This is the property to enable/disable multi byte encoding in the repository
# This property can only be changed to "true" if you are installing it fresh. For upgrades,
# this must be set to false.
useMultiByteEncoding=false
13. Aggiornare i permessi della directory "/srv/pentaho-server"
chown -R tomcat.tomcat /srv/pentaho-server
14. Lanciare nuovamente il Pentaho server 9:
/srv/pentaho-server/start-pentaho.sh
15. Autenticazione usando il server LDAP.
Una volta che il servizio del pentaho server sta di nuovo on-line sarà posibile fare un test. Per vedere se la configurazione è corretta sarà possibile effettuare il "login" con l'utente di rete presente nel server LDAP.
Dal nostro browser web digitare l'indirizzo di pentaho-server:
http://localhost:8080/pentaho/