Difference between revisions of "Sobre a preparação desta formação"

From Geomaster, Lda
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
Line 49: Line 49:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Verificar que o servidor está a correr e que ainda só tem a base de dados postgres e nenhum utilizador:
+
Verificar que o servidor está a correr (e que ainda só tem as bases de dados postgres, template0 e template1) e que ainda só tem o utilizador postgres:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 61: Line 61:
 
== Criar contas e bases de dados para todos os formandos ==
 
== Criar contas e bases de dados para todos os formandos ==
  
Criar contas, base de dados e acrescentar a extensão Postgis:
+
Criar contas, base de dados e acrescentar a extensão Postgis, com uma script cria.sh (correr na conta postgres):
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
postgres@dusseldorf:~$ cat cria.sh
 
 
#!/bin/bash
 
#!/bin/bash
  
 
for value in {1..30}
 
for value in {1..30}
 
do
 
do
echo $value
+
        echo "A criar utilizador madeira$value e a base de dados madeira$value..."
echo psql -p 5433 postgres -c "CREATE ROLE madeira$value WITH PASSWORD 'ilovepostgres' LOGIN SUPERUSER CREATEROLE CREATEDB;"
+
        psql -p 5433 postgres -c "CREATE ROLE madeira$value WITH PASSWORD 'ilovepostgres' LOGIN SUPERUSER CREATEROLE CREATEDB;"
echo psql -p 5433 postgres -c "CREATE DATABASE madeira$value WITH OWNER madeira$value;"
+
        psql -p 5433 postgres -c "CREATE DATABASE madeira$value WITH OWNER madeira$value;"
echo psql -p 5433 madeira$value -c "CREATE EXTENSION postgis;"
+
        psql -p 5433 madeira$value -c "CREATE EXTENSION postgis;"
 
done
 
done
 +
</syntaxhighlight>
 +
 +
=== Testar ===
 +
 +
<syntaxhighlight lang="bash">
 +
psql -h localhost -p 5433 -U madeira25 madeira25 -c "SELECT postgis_version();"
 +
Password for user madeira25:
 +
            postgis_version           
 +
---------------------------------------
 +
2.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
 +
(1 row)
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 82: Line 92:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
sudo pg_dropcluster --stop 9.5 madeira
 
sudo pg_dropcluster --stop 9.5 madeira
 +
</syntaxhighlight>
 +
 +
 +
== Configurações do QGIS ==
 +
 +
No Linux, o QGIS 2.x guarda as configurações em:
 +
<syntaxhighlight lang="bash">
 +
~/.qgis2
 +
~/.config/QGIS/QGIS2.config
 +
</syntaxhighlight>
 +
 +
Antes do curso:
 +
 +
<syntaxhighlight lang="bash">
 +
mv .qgis2 .qgis2.before-madeira
 +
mv .config/QGIS/QGIS2.conf  .config/QGIS/QGIS2.conf.before-madeira
 +
</syntaxhighlight>
 +
 +
Depois do curso:
 +
 +
<syntaxhighlight lang="bash">
 +
mv .qgis2.before-madeira .qgis2
 +
mv .config/QGIS/QGIS2.conf.before-madeira .config/QGIS/QGIS2.conf
 
</syntaxhighlight>
 
</syntaxhighlight>

Latest revision as of 01:15, 20 February 2018

Criar um outro servidor na mesma máquina

Criar um novo servidor Postgresql só para a formação:

sudo pg_createcluster --locale pt_PT.UTF-8 -p 5433 9.5 madeira

Alterar as regras de acesso ao servidor, para ficar disponível na rede (por razões de segurança um novo servidor não está acessível através da rede):

Alterar os ficheiros de configuração pg_hba.conf e postgresql.conf

pg_hba.conf

sudo vi /etc/postgresql/9.5/madeira/pg_hba.conf

Onde está:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5

Acrescestar uma nova linha para ficar:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             0.0.0.0/0               md5

postgresql.conf

sudo vi /etc/postgresql/9.5/madeira/postgresql.conf
#listen_addresses = 'localhost'         # what IP address(es) to listen on;
listen_addresses = '*'                  # what IP address(es) to listen on;

Arrancar com o servidor:

sudo pg_ctlcluster 9.5 madeira start

Verificar que o servidor está a correr (e que ainda só tem as bases de dados postgres, template0 e template1) e que ainda só tem o utilizador postgres:

sudo su postgres
psql -p 5433
\l
\du
\quit

Criar contas e bases de dados para todos os formandos

Criar contas, base de dados e acrescentar a extensão Postgis, com uma script cria.sh (correr na conta postgres):

#!/bin/bash

for value in {1..30}
do
        echo "A criar utilizador madeira$value e a base de dados madeira$value..."
        psql -p 5433 postgres -c "CREATE ROLE madeira$value WITH PASSWORD 'ilovepostgres' LOGIN SUPERUSER CREATEROLE CREATEDB;"
        psql -p 5433 postgres -c "CREATE DATABASE madeira$value WITH OWNER madeira$value;"
        psql -p 5433 madeira$value -c "CREATE EXTENSION postgis;"
done

Testar

psql -h localhost -p 5433 -U madeira25 madeira25 -c "SELECT postgis_version();"
Password for user madeira25: 
            postgis_version            
---------------------------------------
 2.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)

Após a formação

Remover o servidor (e tudo o que foi criado entretanto)

sudo pg_dropcluster --stop 9.5 madeira


Configurações do QGIS

No Linux, o QGIS 2.x guarda as configurações em:

~/.qgis2
~/.config/QGIS/QGIS2.config

Antes do curso:

mv .qgis2 .qgis2.before-madeira
mv .config/QGIS/QGIS2.conf  .config/QGIS/QGIS2.conf.before-madeira

Depois do curso:

mv .qgis2.before-madeira .qgis2 
mv .config/QGIS/QGIS2.conf.before-madeira .config/QGIS/QGIS2.conf