Supponendo di aver già installato e configurato Postgresql e Java JDK potremmo proseguire con il nostro tutorial per installare BIServer-ce.6.1.0.1-916.
Installazione
-------------------------
1) Descompattare BISERVER
unzip biserver-ce-6.1.0.1-196.zip -d /srv/biserver-ce
2) Cambiare proprietario alla directory /srv/biserver-c
chown -R tomcat.tomcat /srv/biserver-ce
3) Cambiare utente per poter eseguire biserver-ce
su tomcat
4) Cambiare directory per poter eseguire biserver-ce
cd /srv/biserver-ce
5) eseguire biserver-ce
./start-pentaho.sh
6) aprire il browser e inserire l'indirizzo:
IP_Server:8080/pentaho/Login
7) fare il login con l'utente "Admin" e password "password"
## Postgresql e BISERVER-CE
1) Uscire dall'utente tomcat
exit
2) creare i database di BISERVER-CE in Postgresql
sudo -u postgres psql -f /srv/biserver-ce/data/postgresql/create_jcr_postgresql.sql sudo -u postgres psql -f /srv/biserver-ce/data/postgresql/create_repository_postgresql.sql
N.B.: prima di creare il database quartz accedere a postgres
su postgres psql
ed eseguire i comandi di basso, possono essere eseguiti tutti in una volta:
drop database if exists quartz; drop user if exists pentaho_user; CREATE USER pentaho_user PASSWORD 'password'; CREATE DATABASE quartz WITH OWNER = pentaho_user ENCODING = 'UTF8' TABLESPACE = pg_default; GRANT ALL ON DATABASE quartz to pentaho_user;
4) per uscire da postgresql
\q
5) uscire da utente postgres con
exit
dopo di questo passo editare il file:
vim /srv/biserver-ce/data/postgresql/create_quartz_postgresql.sql
commentando il gruppo di linee che sono state eseguite sopra e anche la linea \connect.
e eseguire di nuovo il comando:
su postgres psql -d quartz -U pentaho_user -h localhost -W -f /srv/biserver-ce/data/postgresql/create_quartz_postgresql.sql
oppure
psql -d quartz -f /srv/biserver-ce/data/postgresql/create_quartz_postgresql.sql
N.B. occorre creare anche la tabella QRTZ
psql -U pentaho_user -d quartz -W -h localhost
12) digitare la password che è: "password"
digitare la sequenza in basso:
CREATE TABLE "QRTZ" ( NAME VARCHAR(200) NOT NULL, PRIMARY KEY (NAME) ); ALTER TABLE "QRTZ" OWNER TO pentaho_user;
13) per uscire da postgresql
\q
14) per uscire dall'utente postgres
exit
15) creare uno script con il nome di pentaho dentro la directory /etc/init.d/
sudo vim /etc/init.d/pentaho
e inserire le righe in basso
#!/bin/bash # chkconfig: 3 98 99 # description: Pentaho Service #export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::") #export JRE_HOME=$JAVA_HOME/jre #export PATH=$JAVA_HOME/bin:$PATH # Pentaho7 # PENTAHO_HOME=/srv/pentaho-server> # Pentaho 6 PENTAHO_HOME=/srv/biserver-ce PENTAHO_SOLUTION_HOME=$PENTAHO_HOME/pentaho-solutions function stop_pentaho { su tomcat -c "$PENTAHO_HOME/stop-pentaho.sh" #rm -fr $PENTAHO_HOME/tomcat/work/* $PENTAHO_HOME/tomcat/temp/* $PENTAHO_SOLUTION_HOME/system/jackrabbit/repository/workspaces/default $PENTAHO_SOLUTION_HOME/system/karaf/caches/* $HOME/.pentaho; rm -fr $PENTAHO_HOME/tomcat/work/* $PENTAHO_HOME/tomcat/temp/* $PENTAHO_SOLUTION_HOME/system/jackrabbit/repository/* $PENTAHO_SOLUTION_HOME/system/karaf/caches/* $HOME/.pentaho $PENTAHO_SOLUTION_HOME/system/tmp/*; sleep 10; } function start_pentaho { su tomcat -c "$PENTAHO_HOME/start-pentaho.sh" sleep 10; } case "$1" in start) start_pentaho ;; stop) stop_pentaho ;; restart) stop_pentaho sleep 10; start_pentaho ;; *) echo "Usage: /etc/init.d/pentaho {start|stop|restart}" exit 1 esac exit 0
alla fine rendere il file exeguibile con il comando
sudo chmod +x /etc/init.d/pentaho
questo servirà a avviare il pentaho-server ogni volta che la macchina verrà fatta ripartire.
16) cambiare utente con
su tomcat
17) modificare il file
vim /srv/biserver-ce/pentaho-solutions/system/applicationContext-spring-security-hibernate.properties
sostituendo tutto il contenuto con le linee in basso:
jdbc.driver=org.postgresql.Driver jdbc.url=jdbc:postgresql://localhost:5432/hibernate jdbc.username=hibuser jdbc.password=password hibernate.dialect=org.hibernate.dialect.HSQLDialect
18) modificare il file
vim /srv/biserver-ce/pentaho-solutions/system/jackrabbit/repository.xml
##Filesystem
--Decommentare--
--Commentare--<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem"> <param name="driver" value="org.postgresql.Driver"/> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="postgresql"/> <param name="schemaObjectPrefix" value="fs_repos_"/> </FileSystem>
<!-- <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> <param name="path" value="${rep.home}/repository"/> </FileSystem>-->
##Datastore
--Decommentare--
<DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore"> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="driver" value="org.postgresql.Driver"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="databaseType" value="postgresql"/> <param name="minRecordLength" value="1024"/> <param name="maxConnections" value="3"/> <param name="copyWhenReading" value="true"/> <param name="tablePrefix" value=""/> <param name="schemaObjectPrefix" value="ds_repos_"/> </DataStore>
--Commentare--
<!-- <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"/> -->
##FileSystem WorkSpace:
--Decommentare--
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem"> <param name="driver" value="org.postgresql.Driver"/> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="postgresql"/> <param name="schemaObjectPrefix" value="fs_ws_"/> </FileSystem>
--Commentare--
<!-- <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> <param name="path" value="${wsp.home}"/> </FileSystem> -->
## PersistenceManager:
--Decommentare--
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager"> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="driver" value="org.postgresql.Driver"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="postgresql"/> <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/> </PersistenceManager>
--Commentare--
<!-- <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager"> <param name="url" value="jdbc:h2:${wsp.home}/db"/> <param name="schemaObjectPrefix" value="${wsp.name}_"/> </PersistenceManager> -->
##FileSystem Version:
--Decommentare--
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem"> <param name="driver" value="org.postgresql.Driver"/> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="postgresql"/> <param name="schemaObjectPrefix" value="fs_ver_"/> </FileSystem>
--Commentare--
<!-- <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> <param name="path" value="${rep.home}/version" /> </FileSystem> -->
##PersistenceManager Version:
--Decommentare--
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager"> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="driver" value="org.postgresql.Driver"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="postgresql"/> <param name="schemaObjectPrefix" value="pm_ver_"/> </PersistenceManager>
--Commentare--
<!-- <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager"> <param name="url" value="jdbc:h2:${rep.home}/version/db"/> <param name="schemaObjectPrefix" value="version_"/> </PersistenceManager> -->
19) modificare il file
vim /srv/biserver-ce/pentaho-solutions/system/hibernate/hibernate-settings.xml
e verificare che il file di configurazione appunti al file corretto come nella linea in basso
<config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>
20) modificare il file
vim /srv/biserver-ce/pentaho-solutions/system/hibernate/postgresql.hibernate.cfg.xml
verificando che sia presente il seguente blocco inerente a Postgresql
<!-- Postgres 8 Configuration --> <property name="connection.driver_class">org.postgresql.Driver</property> <property name="connection.url">jdbc:postgresql://localhost:5432/hibernate</property> <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property> <property name="connection.username">hibuser</property> <property name="connection.password">password</property> <property name="connection.pool_size">10</property> <property name="show_sql">false</property> <property name="hibernate.jdbc.use_streams_for_binary">true</property>
21) modificare il file
vim /srv/biserver-ce/pentaho-solutions/system/simple-jndi/jdbc.properties
sostituendo il contenuto con le righe sotto:
Hibernate/type=javax.sql.DataSource Hibernate/driver=org.postgresql.Driver Hibernate/url=jdbc:postgresql://localhost:5432/hibernate Hibernate/user=hibuser Hibernate/password=password Quartz/type=javax.sql.DataSource Quartz/driver=org.postgresql.Driver Quartz/url=jdbc:postgresql://localhost:5432/quartz Quartz/user=pentaho_user Quartz/password=password
22) modificare il file
vim /srv/biserver-ce/tomcat/webapps/pentaho/META-INF/context.xml
<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxTotal="20" maxIdle="5" maxWaitMillis="10000" username="hibuser" password="password" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/hibernate" validationQuery="select 1" />
<Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxTotal="20" maxIdle="5" maxWaitMillis="10000" username="pentaho_user" password="password" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/quartz" validationQuery="select 1"/>
23) modificare il file commentando le sezioni in basso
vim /srv/biserver-ce/tomcat/webapps/pentaho/WEB-INF/web.xml
<!-- [BEGIN HSQLDB DATABASES] <context-param> <param-name>hsqldb-databases</param-name> <param-value>sampledata@../../data/hsqldb/sampledata,hibernate@../../data/hsqldb/hibernate,quartz@../../data/hsqldb/quartz</param-value> </context-param> [END HSQLDB DATABASES] -->
<!-- <filter> <filter-name>SystemStatusFilter</filter-name> <filter-class>org.pentaho.platform.web.http.filters.SystemStatusFilter</filter-class> <init-param> <param-name>initFailurePage</param-name> <param-value>InitFailure</param-value> <description>This page is displayed if the PentahoSystem fails to properly initialize.</description> </init-param> </filter> -->
<!-- <filter-mapping> <filter-name>SystemStatusFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> -->
<!-- [BEGIN HSQLDB STARTER] <listener> <listener-class>org.pentaho.platform.web.http.context.HsqldbStartupListener</listener-class> </listener> [END HSQLDB STARTER] -->
24) Avviare Biserver-ce
/etc/init.d/pentaho start
25) fare il login con l'utente Admin e la password: password
26) cliccare sul menu "Administration" -> "Users and Roles"
27) creare un utente con il nome "anonymousUser" e la password "password"
28) dopo andare nella scheda "System Roles"
29) selezionare nella finestra Roles il gruppo Anonymous
30) attribuire i permessi di esecuzione e lettura
31) "Browser Files" cliccare sulla directory anonymousUser e vedere le proprietà
32) con il bottone "Add" aggiungere il gruppo "Anonymous"
33) e dare tutti i permessi al gruppo "Anonymous" "anonymousUser"
##Inserire il BIserver-ce nell'LDAP
34) Fermare Biserver-ce
/etc/init.d/pentaho stop
35) passiamo alla configurazione di accesso al sistema di autenticazione LDAP
editiamo il file "applicationContext-security-ldap.properties"
vim /srv/biserver-ce/pentaho-solutions/system/applicationContext-security-ldap.properties
Questo è il contenuto originale che verrà modificato in accordo con le esigenze proprie.
contextSource.providerUrl=ldap\://localhost\:10389/ou\=system contextSource.userDn=uid\=admin,ou\=system contextSource.password=secret userSearch.searchBase=ou\=users userSearch.searchFilter=(cn\={0}) populator.convertToUpperCase=false populator.groupRoleAttribute=cn populator.groupSearchBase=ou\=roles populator.groupSearchFilter=(roleOccupant\={0}) populator.rolePrefix= populator.searchSubtree=false allAuthoritiesSearch.roleAttribute=cn allAuthoritiesSearch.searchBase=ou\=roles allAuthoritiesSearch.searchFilter=(objectClass\=organizationalRole) allUsernamesSearch.usernameAttribute=uid allUsernamesSearch.searchBase=ou\=users allUsernamesSearch.searchFilter=objectClass\=Person adminRole=cn\=Administrator,ou\=roles adminUser=uid\=admin,ou\=users
36) adesso andiamo a cambiare l'accesso per il server LDAP editando il file "security.properties"
vim /srv/pbiserver-ce/pentaho-solutions/system/security.properties
e sostituiamo il valore di provider che, come default, ha "jackrabbit" con "ldap"
Esempio:
#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
37) verificare il file
vim /srv/biserver-ce/pentaho-solutions/system/repository.spring.properties
se il nome dell'amministratore è corretto
#nelle due linee in basso sarà inserito l'utente che deve essere l'amministratore di BIServer-ce e che sarà definito nell'LDAP
singleTenantAdminDefaultUserName=admin #<--Modificare l'utente singleTenantAdminUserName=admin #<--Modificare l'utente 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
38) Rieseguire di nuovo il Biserver-ce
/etc/init.d/pentaho start
39) verificare se già è stato possibile fare il login con l'utente di rete presente nell'LDAP.
Buon Lavoro a tutti.
Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 4.0 Internazionale.