Instalação no Linux

A instalação do i3GeoSaúde no Linux presume que a distribuição linux tenha o  Advanced Packaging Tool (APT). O apt já está presente em distribuições Debian e suas variantes, como ubuntu e xubuntu.

Este processo de instalação foi testado no Ubuntu 13.04 e no Xubuntu 13.04.

Alguns sistemas, como as versões mais novas do Ubuntu e CentOS, utilizam a pasta /var/www/html ao invés da pasta /var/www como raiz dos documentos HTML. Se for esse o seu caso, após a instalação do Apache você verá que foi criada a pasta /var/www/html. Se isso ocorrer, considere essa pasta no lugar da pasta /var/www indicada no roteiro.

Os códigos mostrados abaixo devem ser digitados em um terminal.

Instale o Apache

sudo apt-get --assume-yes install apache2 apache2-doc apache2-utils

Instale o Mapserver

sudo apt-get --assume-yes install cgi-mapserver mapserver-bin

Instale o PostgreSQL/Postgis

sudo apt-get --assume-yes install postgresql postgis pgadmin3
apt-get install postgresql-9.3-postgis-2.1

Para versão 9.1 do Postgres caso a linha anterior não funcione

sudo apt-get --assume-yes install postgresql-9.1-postgis

Instale o sqlite

sudo apt-get --assume-yes install sqlite 

Instale o R

sudo add-apt-repository "deb http://cran-r.c3sl.ufpr.br/bin/linux/ubuntu saucy/"
sudo apt-get update
sudo apt-get --assume-yes install r-base r-base-core r-cran-maptools r-cran-deldir

Instale o PHP

sudo apt-get --assume-yes install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-mapscript php5-odbc php5-pgsql php5-ps php5-xmlrpc php5-xsl php5-sqlite php5-imagick php5-json 

Para algumas versões Debian:

sudo apt-get install proj-epsg
sudo apt-get --assume-yes install php5-mbstring

Instale o subversion

sudo apt-get --assume-yes install subversion

O software R é utilizado em algumas das funcionalidades de análise espacial, como distribuição de pontos. Para verificar se foi instalado corretamente digite em um terminal

R
install.packages("spatstat", dependencies = TRUE)
library()
q()

Deve aparecer uma lista de bibliotecas entre elas a spatstat. Caso não apareça, faça a instalação do software R-Studio por meio do endereço https://www.rstudio.com/ide/download/desktop. Inicie o Rstudio e no menu principal localize a opção "Tools->Install packages". Escolha as bibliotecas spatstat, deldir

Instalação do i3GeoSaúde

Para este passo, é considerado que você possui uma conta no Portal do Software Público Brasileiro - SPB.

Faça o checkout (baixar o código) do i3GeoSaúde

svn checkout
http://svn.softwarepublico.gov.br/svn/i3geo/subgrupos/i3geosaude/ /var/www

Dê permissão para a pasta i3geo:

sudo chmod -R 777 i3geosaude/i3geo

crie uma pasta ms_tmp dentro de /tmp

sudo mkdir /tmp/ms_tmp

Altere as permissões da pasta ms_tmp

sudo chmod -R 777 /tmp/ms_tmp

Crie um link simbólico dentro da pasta /var/www apontando para /tmp/ms_tmp

sudo ln -s /tmp/ms_tmp /var/www/ms_tmp

Caso você prefira manter um ambiente com maior segurança, experimente:

chown -R www-data:www-data /tmp/ms_tmp
chown -R www-data:www-data /tmp/ms_tmp
chmod -R 755 /tmp/ms_tmp
chmod -R 755 /tmp/ms_tmp
 
chown -R www-data /var/www/i3geo/
 
chgrp -R www-data /var/www/i3geo/
 
chmod -R 755 /var/www/i3geo/

Criando o banco de dados do i3GeoSaúde

Primeiro, é preciso alterar a senha do postgres, para isso;

sudo su postgres
psql
ALTER USER postgres WITH PASSWORD 'postgres'; \q

Crie o banco de dados

createdb -E UTF8 i3geosaude
createlang -d i3geosaude plpgsql
psql -d i3geosaude -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
psql -d i3geosaude -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql

Dependendo da versão do Postgres tente

psql -d i3geosaude -f /usr/share/postgresql/9.3/contrib/postgis-2.1/postgis.sql
psql -d i3geosaude -f /usr/share/postgresql/9.3/contrib/postgis-2.1/spatial_ref_sys.sql
psql -d i3geosaude -c "GRANT ALL ON geometry_columns TO PUBLIC;"
psql -d i3geosaude -c "GRANT ALL ON geography_columns TO PUBLIC;"
psql -d i3geosaude -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;"
/usr/bin/pg_restore --host localhost --port 5432 --username "postgres" --dbname "i3geosaude" "/var/www/databasei3geosaude.backup" 
(Password: postgres)
exit

Se preferir, copie e cole essas linhas:

exit
sudo su postgres -c "psql -c \"ALTER USER postgres WITH PASSWORD 'postgres'\""
sudo su postgres -c "createdb i3geosaude"
sudo su postgres -c "createlang -d i3geosaude plpgsql"
sudo su postgres -c "psql -d i3geosaude -f /usr/share/postgresql/9.3/contrib/postgis-2.1/postgis.sql"
sudo su postgres -c "psql -d i3geosaude -f /usr/share/postgresql/9.3/contrib/postgis-2.1/spatial_ref_sys.sql"
sudo su postgres -c "psql -d i3geosaude -c 'GRANT ALL ON geometry_columns TO PUBLIC;'"
sudo su postgres -c "psql -d i3geosaude -c 'GRANT ALL ON geography_columns TO PUBLIC;'"
sudo su postgres -c "psql -d i3geosaude -c 'GRANT ALL ON spatial_ref_sys TO PUBLIC;'"

/usr/bin/pg_restore --host localhost --port 5432 --username "postgres" --dbname "i3geosaude" --no-password "/var/www/databasei3geosaude.backup"

Para testar o banco de dados execute a seguinte linha de comando:

exit

sudo su postgres -c "psql -d i3geosaude -c '\dt i3geo_metaestat.' "

O resultado devera ser:

List of relations

Schema           |        Name       |  Type |   Owner

-----------------+-------------------+-------+----------
 i3geo_metaestat | bairros           | table | postgres
 i3geo_metaestat | bairros_originais | table | postgres
 i3geo_metaestat | cnes_hospital_geo | table | postgres
 i3geo_metaestat | colegiado_gestao  | table | postgres
 i3geo_metaestat | dados_medidas     | table | postgres
 i3geo_metaestat | dim_tempo         | table | postgres
 i3geo_metaestat | ind_hospital      | table | postgres
 i3geo_metaestat | ind_hospital_mc   | table | postgres
 i3geo_metaestat | municipios        | table | postgres
 i3geo_metaestat | uf                | table | postgres
(10 rows)

Caso o banco de dados não carregue corretamente experimente executar as seguintes linhas:

/usr/bin/pg_restore --host localhost --port 5432 --username "postgres" --dbname "i3geosaude" --no-password --schema-only --list "/var/www/databasei3geosaude.backup" 

/usr/bin/pg_restore --host localhost --port 5432 --username "postgres" --dbname "i3geosaude" --no-password --data-only --list "/var/www/databasei3geosaude.backup"

Se mesmo assim continuarem ocorrendo problemas, utilizer o Pgadmin e faça o restore do banco manualmente no database chamado "i3geosaude"

No seu navegador de preferência digite: http://localhost/ e comece a trabalhar!!!