Commit eea15b2b6ff4986a026aed712ad82e455639c779

Authored by Edmar Moretti
1 parent 2c00028d

Atualização da documentação do SAIKU

ferramentas/saiku/esquemaxml.php
1 <?php 1 <?php
2 -exit; 2 +/*
  3 +Importante:
  4 +
  5 +A integração do SAIKU com o i3GEO é experimental.
  6 +
  7 +O SAIKU utiliza os arquivos de fonte de dados que sao criados de forma dinamica na pasta ms_tmp/saiku-datasources.
  8 +Esses arquivos apontam para o arquivo XML com o esquema utilizado para construir os cubos, que tambem sao criados de forma dinamica.
  9 +Como o SAIKU precisa ler esse arquivo XML, o mesmo deve ter permissoes de leitura de forma que o Apache consiga carregar esse arquivo XML.
  10 +E importante destacar que ao fazer isso o arquivo xml fica exposto, o que pode permitir que um usuario qualquer tenha acesso a esse XML.
  11 +Esse XML contem os SQL utilizados para acessar o banco de dados. Ao usar o SAIKU e necessario avaliar se essa caracteristica pode
  12 +apresentar-se como um problema de seguranc
  13 +*/
3 // 14 //
4 //utilize &output=xml para ver o xml 15 //utilize &output=xml para ver o xml
5 // 16 //
@@ -11,7 +22,10 @@ exit; @@ -11,7 +22,10 @@ exit;
11 http://localhost/i3geo/ferramentas/saiku/esquemaxml.php?output=xml 22 http://localhost/i3geo/ferramentas/saiku/esquemaxml.php?output=xml
12 http://localhost/i3geo/ferramentas/saiku/esquemaxml.php?xmlesquema=&output=xml&regiao=1 23 http://localhost/i3geo/ferramentas/saiku/esquemaxml.php?xmlesquema=&output=xml&regiao=1
13 */ 24 */
14 - 25 +//
  26 +//remova essa linhas para poder usar o SAIKU
  27 +//
  28 +echo "Bloqueado. Consulte o administrador.";exit;
15 // 29 //
16 //quando o saiku e iniciado de fora do i3geo, e necessario inicializar um mapfile para uso como base dos mapas 30 //quando o saiku e iniciado de fora do i3geo, e necessario inicializar um mapfile para uso como base dos mapas
17 // 31 //
@@ -31,13 +45,10 @@ $nomeConexao = criaConexaoEsquema(); @@ -31,13 +45,10 @@ $nomeConexao = criaConexaoEsquema();
31 $map_file = $_SESSION["map_file"]; 45 $map_file = $_SESSION["map_file"];
32 46
33 $arquivoXmlEsquema = dirname($map_file)."/".str_replace(".txt","",$nomeConexao).".xml"; 47 $arquivoXmlEsquema = dirname($map_file)."/".str_replace(".txt","",$nomeConexao).".xml";
34 -  
35 gravaDataSource(); 48 gravaDataSource();
36 -  
37 if(!empty($_GET["xmlesquema"])){ 49 if(!empty($_GET["xmlesquema"])){
38 imprimeEsquema(); 50 imprimeEsquema();
39 } 51 }
40 -  
41 $m = new Metaestat(); 52 $m = new Metaestat();
42 53
43 // 54 //
@@ -207,7 +218,7 @@ function criaConexaoEsquema(){ @@ -207,7 +218,7 @@ function criaConexaoEsquema(){
207 } 218 }
208 else{ 219 else{
209 $urlXmlEsquema = $_GET["xmlesquema"]; 220 $urlXmlEsquema = $_GET["xmlesquema"];
210 - //cria um nome de arquivo reaproveitável 221 + //cria um nome de arquivo reaproveitável
211 $nomeConexao = md5($_GET["xmlesquema"]); 222 $nomeConexao = md5($_GET["xmlesquema"]);
212 } 223 }
213 //$arquivoXmlEsquema = dirname($map_file)."/".$nomeConexao.".xml"; 224 //$arquivoXmlEsquema = dirname($map_file)."/".$nomeConexao.".xml";
ferramentas/saiku/instal.txt
1 -Roteiro para instalação e configuração do SAIKU para uso com o i3Geo (testado no Ubuntu). 1 +Roteiro para instalação e configuração do SAIKU para uso com o i3Geo (testado no Ubuntu).
2 2
3 -Para mais informações veja em: http://docs.analytical-labs.com/ 3 +Para mais informações veja em: http://docs.analytical-labs.com/
4 4
5 Importante: 5 Importante:
6 6
7 - Por questões de segurança, modifique o arquivo de configuração do Apache incluindo as seguintes diretivas: 7 + A integração do SAIKU com o i3GEO é experimental.
  8 +
  9 + Por questões de segurança, modifique o arquivo de configuração do Apache incluindo as seguintes diretivas:
8 10
9 <Directory /var/www/ms_tmp/saiku-datasources> 11 <Directory /var/www/ms_tmp/saiku-datasources>
10 Order Deny,Allow 12 Order Deny,Allow
11 Deny from All 13 Deny from All
12 </Directory> 14 </Directory>
13 15
14 - No caso o texto "/var/www/ms_tmp" deve ser alterado para refletir as configurações do seu servidor, indicando corretamente a pasta temporária 16 + No caso o texto "/var/www/ms_tmp" deve ser alterado para refletir as configurações do seu servidor, indicando corretamente a pasta temporária
15 17
16 ------------------- 18 -------------------
17 Edite o arquivo 19 Edite o arquivo
18 20
19 saiku-server/tomcat/webapps/saiku/WEB-INF/users.properties 21 saiku-server/tomcat/webapps/saiku/WEB-INF/users.properties
20 - 22 +
21 Para remover o usuario anonimo ou acrescentar novos usuarios 23 Para remover o usuario anonimo ou acrescentar novos usuarios
22 ------------------- 24 -------------------
23 25
24 -Utilize uma das opções abaixo para instalar o servidor saiku-server 26 +Utilize uma das opções abaixo para instalar o servidor saiku-server
25 27
26 1) Download do software diretamente de http://meteorite.bi/saiku/download 28 1) Download do software diretamente de http://meteorite.bi/saiku/download
27 29
28 - - Faça o download do SAIKU Server no endereço: http://meteorite.bi/saiku/download 30 + - Faça o download do SAIKU Server no endereço: http://meteorite.bi/saiku/download
29 31
30 - Descompacte os arquivos em uma pasta em seu servidor (no Linux /var por exemplo) 32 - Descompacte os arquivos em uma pasta em seu servidor (no Linux /var por exemplo)
31 33
@@ -35,14 +37,14 @@ Utilize uma das opções abaixo para instalar o servidor saiku-server @@ -35,14 +37,14 @@ Utilize uma das opções abaixo para instalar o servidor saiku-server
35 37
36 <Connector port="9090" protocol="HTTP/1.1" 38 <Connector port="9090" protocol="HTTP/1.1"
37 39
38 - e modifique o valor da porta se achar necessário 40 + e modifique o valor da porta se achar necessário
39 41
40 - Fontes de dados 42 - Fontes de dados
41 43
42 - O i3Geo cria arquivos de fontes de dados em uma pasta temporária. Essa pasta é criada quando o i3Geo é inicializado.  
43 - (/tmp/ms_tmp/saiku-datasources por padrão) 44 + O i3Geo cria arquivos de fontes de dados em uma pasta temporária. Essa pasta é criada quando o i3Geo é inicializado.
  45 + (/tmp/ms_tmp/saiku-datasources por padrão)
44 46
45 - Para que o SAIKU veja essa pasta é necessário editar o arquivo 47 + Para que o SAIKU veja essa pasta é necessário editar o arquivo
46 48
47 saiku-server/tomcat/webapps/saiku/WEB-INF/saiku-beans.xml 49 saiku-server/tomcat/webapps/saiku/WEB-INF/saiku-beans.xml
48 50
@@ -56,19 +58,19 @@ Utilize uma das opções abaixo para instalar o servidor saiku-server @@ -56,19 +58,19 @@ Utilize uma das opções abaixo para instalar o servidor saiku-server
56 58
57 - Arquivos alterados 59 - Arquivos alterados
58 60
59 - Alguns dos códigos do SAIKU originais foram alterados. As alterações estão na pasta i3geo/ferramentas/saiku/saiku-server  
60 - O conteúdo dessa pasta deve ser copiado para a pasta onde o saiku for instalado (saiku-server) 61 + Alguns dos códigos do SAIKU originais foram alterados. As alterações estão na pasta i3geo/ferramentas/saiku/saiku-server
  62 + O conteúdo dessa pasta deve ser copiado para a pasta onde o saiku for instalado (saiku-server)
  63 +
  64 +2) Download via Git do saiku-server com as alterações já realizadas
61 65
62 -2) Download via Git do saiku-server com as alterações já realizadas 66 + Veja as orientações sobre uso do Git e sobre como obter o código do i3geo. A obtenção do código do saiku-server segue a mesma lógica, no entanto você deve usar como exemplo os comandos abaixo:
63 67
64 - Veja as orientações sobre uso do Git e sobre como obter o código do i3geo. A obtenção do código do saiku-server segue a mesma lógica, no entanto você deve usar como exemplo os comandos abaixo:  
65 -  
66 mkdir /var/saiku-server 68 mkdir /var/saiku-server
67 cd /var/saiku-server 69 cd /var/saiku-server
68 git -c http.sslVerify=false clone http://softwarepublico.gov.br/gitlab/i3geo/saiku-server.git . 70 git -c http.sslVerify=false clone http://softwarepublico.gov.br/gitlab/i3geo/saiku-server.git .
69 - chmod -R 766 /var/www/saiku-server  
70 71
71 -Após a obtenção dos arquivos, inicialize o servidor 72 +
  73 +Após a obtenção dos arquivos, inicialize o servidor
72 74
73 Procure na pasta saiku-server o programa start-saiku.bat (para Windows) ou start-saiku.sh para Linux. 75 Procure na pasta saiku-server o programa start-saiku.bat (para Windows) ou start-saiku.sh para Linux.
74 76
@@ -80,42 +82,54 @@ Após a obtenção dos arquivos, inicialize o servidor @@ -80,42 +82,54 @@ Após a obtenção dos arquivos, inicialize o servidor
80 82
81 http://localhost:9090/ 83 http://localhost:9090/
82 84
83 - (Se aparecer a tela de login. Utilize admin como usuário e admin como senha) 85 + (Se aparecer a tela de login. Utilize admin como usuário e admin como senha)
84 86
85 -Ajustes nas variáveis de inicialização do i3geo/ms_configura.php 87 +Ajustes nas variáveis de inicialização do i3geo/ms_configura.php
86 88
87 - No arquivo i3geo/ms_configura.php existem duas variáveis que são utilizadas na integração com o SAIKU. 89 + No arquivo i3geo/ms_configura.php existem duas variáveis que são utilizadas na integração com o SAIKU.
88 90
89 - Edite esse arquivo caso seja necessário adaptar os parâmetros conforme suas necessidades. 91 + Edite esse arquivo caso seja necessário adaptar os parâmetros conforme suas necessidades.
90 92
91 - Observe principalmente o endereço de acesso ao SAIKU e os parâmetros de conexão com o banco de dados e tabela com a dimensão temporal 93 + Observe principalmente o endereço de acesso ao SAIKU e os parâmetros de conexão com o banco de dados e tabela com a dimensão temporal
92 94
93 Banco de dados 95 Banco de dados
94 96
95 - O banco de dados PostgreSQL a ser utilizado pode ser qualquer um já existente e que esteja cadastrado como uma conexão no  
96 - sistema de metadados estatísticos. 97 + O banco de dados PostgreSQL a ser utilizado pode ser qualquer um já existente e que esteja cadastrado como uma conexão no
  98 + sistema de metadados estatísticos.
97 99
98 - Esse banco deve ter as funções Postgis e deve também conter a tabela com a dimensão tempo. 100 + Esse banco deve ter as funções Postgis e deve também conter a tabela com a dimensão tempo.
99 101
100 Essa tabela pode ser obtida fazendo-se o RESTORE do banco de dados default. Para obter o arquivo de backup utilize: 102 Essa tabela pode ser obtida fazendo-se o RESTORE do banco de dados default. Para obter o arquivo de backup utilize:
101 103
102 https://softwarepublico.gov.br/gitlab/i3geo/i3geosaude/blob/master/databasei3geosaude.backup 104 https://softwarepublico.gov.br/gitlab/i3geo/i3geosaude/blob/master/databasei3geosaude.backup
103 105
104 - Por padrão, esse banco de ve ser restaurado em um DATABASE chamado "i3geosaude" com usuário "postgres" e senha "postgres" 106 + Por padrão, esse banco de ve ser restaurado em um DATABASE chamado "i3geosaude" com usuário "postgres" e senha "postgres"
105 107
106 - Se o banco de dados "i3geosaude" não for utilizado, apenas copie a tabela i3geo_metaestat.dim_tempo  
107 - para dentro do banco de dados que será utilizado 108 + Se o banco de dados "i3geosaude" não for utilizado, apenas copie a tabela i3geo_metaestat.dim_tempo
  109 + para dentro do banco de dados que será utilizado
108 110
109 111
110 112
111 -Observação: 113 +Observação:
112 114
113 -Para testar o uso do SAIKU e aprender mais sobre sua instalação, dê preferência ao uso do arquivo de instalação do SVN 115 +Para testar o uso do SAIKU e aprender mais sobre sua instalação, dê preferência ao uso do arquivo de instalação do SVN
114 e utilize o database i3geosaude. 116 e utilize o database i3geosaude.
115 117
116 -Após se assegurar que está tudo funcionando, faça os ajustes necessários. 118 +Após se assegurar que está tudo funcionando, faça os ajustes necessários.
117 119
118 -O banco de dados de administração do i3Geo, localizado em i3geo/admin/admin.db, contém as definições de variáveis que são compatíveis com 120 +O banco de dados de administração do i3Geo, localizado em i3geo/admin/admin.db, contém as definições de variáveis que são compatíveis com
119 o banco de dados i3geosaude, permitindo o teste do funcionamento do SAIKU. 121 o banco de dados i3geosaude, permitindo o teste do funcionamento do SAIKU.
120 122
121 -Para acionar o SAIKU utilize o menu suspenso do i3Geo (item Análise). 123 +Para acionar o SAIKU utilize o menu suspenso do i3Geo (item Análise).
  124 +
  125 +Importante:
  126 +
  127 +Altere as permissões da pasta saiku-server de forma a impedir a escrita.
  128 +
  129 +O SAIKU utiliza os arquivos de fonte de dados que são criados de forma dinâmica na pasta ms_tmp/saiku-datasources.
  130 +Esses arquivos apontam para o arquivo XML com o esquema utilizado para construir os cubos, que também são criados de forma dinâmica.
  131 +Como o SAIKU precisa ler esse arquivo XML, o mesmo deve ter permissões de leitura de forma que o Apache consiga carregar esse arquivo XML.
  132 +É importante destacar que ao fazer isso o arquivo xml fica exposto, o que pode permitir que um usuário qualquer tenha acesso a esse XML.
  133 +Esse XML contém os SQL utilizados para acessar o banco de dados. Ao usar o SAIKU é necessário avaliar se essa característica pode
  134 +apresentar-se como um problema de segurança
  135 +