Commit 33794dbbbca324a7ddfa9a43b755e80ec4c83e66

Authored by Edmar Moretti
1 parent ead4d937
Exists in master

Atualização da documentação de instalaçã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 seguranca
  13 +*/
  14 +//
  15 +//remova essa linhas para poder usar o SAIKU
  16 +//
  17 +echo "Bloqueado. Consulte o administrador.";exit;
3 // 18 //
4 //utilize &output=xml para ver o xml 19 //utilize &output=xml para ver o xml
5 // 20 //
@@ -11,7 +26,14 @@ exit; @@ -11,7 +26,14 @@ exit;
11 http://localhost/i3geo/ferramentas/saiku/esquemaxml.php?output=xml 26 http://localhost/i3geo/ferramentas/saiku/esquemaxml.php?output=xml
12 http://localhost/i3geo/ferramentas/saiku/esquemaxml.php?xmlesquema=&output=xml&regiao=1 27 http://localhost/i3geo/ferramentas/saiku/esquemaxml.php?xmlesquema=&output=xml&regiao=1
13 */ 28 */
14 - 29 +
  30 +//
  31 +//remova essa condicao para debug
  32 +//em producao, recoloque essa condicao para evitar a exposicao do xml
  33 +//
  34 +if($_GET["output"] == "xml"){
  35 + exit;
  36 +}
15 // 37 //
16 //quando o saiku e iniciado de fora do i3geo, e necessario inicializar um mapfile para uso como base dos mapas 38 //quando o saiku e iniciado de fora do i3geo, e necessario inicializar um mapfile para uso como base dos mapas
17 // 39 //
@@ -178,6 +200,7 @@ function imprimeEsquema(){ @@ -178,6 +200,7 @@ function imprimeEsquema(){
178 } 200 }
179 } 201 }
180 function imprimeXml($xml){ 202 function imprimeXml($xml){
  203 + exit;
181 echo header("Content-type: application/xml"); 204 echo header("Content-type: application/xml");
182 echo $xml; 205 echo $xml;
183 } 206 }
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
@@ -21,11 +23,11 @@ Importante: @@ -21,11 +23,11 @@ Importante:
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,18 @@ Utilize uma das opções abaixo para instalar o servidor saiku-server @@ -56,19 +58,18 @@ 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)
61 63
62 -2) Download via Git do saiku-server com as alterações já realizadas 64 +2) Download via Git do saiku-server com as alterações já realizadas
63 65
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: 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:
65 67
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 +Após a obtenção dos arquivos, inicialize o servidor
72 73
73 Procure na pasta saiku-server o programa start-saiku.bat (para Windows) ou start-saiku.sh para Linux. 74 Procure na pasta saiku-server o programa start-saiku.bat (para Windows) ou start-saiku.sh para Linux.
74 75
@@ -80,42 +81,53 @@ Após a obtenção dos arquivos, inicialize o servidor @@ -80,42 +81,53 @@ Após a obtenção dos arquivos, inicialize o servidor
80 81
81 http://localhost:9090/ 82 http://localhost:9090/
82 83
83 - (Se aparecer a tela de login. Utilize admin como usuário e admin como senha) 84 + (Se aparecer a tela de login. Utilize admin como usuário e admin como senha)
84 85
85 -Ajustes nas variáveis de inicialização do i3geo/ms_configura.php 86 +Ajustes nas variáveis de inicialização do i3geo/ms_configura.php
86 87
87 - No arquivo i3geo/ms_configura.php existem duas variáveis que são utilizadas na integração com o SAIKU. 88 + No arquivo i3geo/ms_configura.php existem duas variáveis que são utilizadas na integração com o SAIKU.
88 89
89 - Edite esse arquivo caso seja necessário adaptar os parâmetros conforme suas necessidades. 90 + Edite esse arquivo caso seja necessário adaptar os parâmetros conforme suas necessidades.
90 91
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 92 + 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 93
93 Banco de dados 94 Banco de dados
94 95
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. 96 + O banco de dados PostgreSQL a ser utilizado pode ser qualquer um já existente e que esteja cadastrado como uma conexão no
  97 + sistema de metadados estatísticos.
97 98
98 - Esse banco deve ter as funções Postgis e deve também conter a tabela com a dimensão tempo. 99 + Esse banco deve ter as funções Postgis e deve também conter a tabela com a dimensão tempo.
99 100
100 Essa tabela pode ser obtida fazendo-se o RESTORE do banco de dados default. Para obter o arquivo de backup utilize: 101 Essa tabela pode ser obtida fazendo-se o RESTORE do banco de dados default. Para obter o arquivo de backup utilize:
101 102
102 https://softwarepublico.gov.br/gitlab/i3geo/i3geosaude/blob/master/databasei3geosaude.backup 103 https://softwarepublico.gov.br/gitlab/i3geo/i3geosaude/blob/master/databasei3geosaude.backup
103 104
104 - Por padrão, esse banco de ve ser restaurado em um DATABASE chamado "i3geosaude" com usuário "postgres" e senha "postgres" 105 + Por padrão, esse banco de ve ser restaurado em um DATABASE chamado "i3geosaude" com usuário "postgres" e senha "postgres"
105 106
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 107 + Se o banco de dados "i3geosaude" não for utilizado, apenas copie a tabela i3geo_metaestat.dim_tempo
  108 + para dentro do banco de dados que será utilizado
108 109
109 110
110 111
111 -Observação: 112 +Observação:
112 113
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 114 +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. 115 e utilize o database i3geosaude.
115 116
116 -Após se assegurar que está tudo funcionando, faça os ajustes necessários. 117 +Após se assegurar que está tudo funcionando, faça os ajustes necessários.
117 118
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 119 +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. 120 o banco de dados i3geosaude, permitindo o teste do funcionamento do SAIKU.
120 121
121 -Para acionar o SAIKU utilize o menu suspenso do i3Geo (item Análise). 122 +Para acionar o SAIKU utilize o menu suspenso do i3Geo (item Análise).
  123 +
  124 +Importante:
  125 +
  126 +Altere as permissões da pasta saiku-server de forma a impedir a escrita.
  127 +
  128 +O SAIKU utiliza os arquivos de fonte de dados que são criados de forma dinâmica na pasta ms_tmp/saiku-datasources.
  129 +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.
  130 +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.
  131 +É 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.
  132 +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
  133 +apresentar-se como um problema de segurança.