Debian 10 GIS Server: Unterschied zwischen den Versionen
Aus Geoportal
Armin (Diskussion | Beiträge) |
Armin (Diskussion | Beiträge) |
||
Zeile 72: | Zeile 72: | ||
== Grant all rights to special dbuser == |
== Grant all rights to special dbuser == |
||
<pre> |
<pre> |
||
+ | su postgres |
||
psql -p 5433 -d db1 -c 'GRANT SELECT, INSERT, USAGE, UPDATE , DELETE ON ALL TABLES IN SCHEMA {schemaname} TO {dbusername};' |
psql -p 5433 -d db1 -c 'GRANT SELECT, INSERT, USAGE, UPDATE , DELETE ON ALL TABLES IN SCHEMA {schemaname} TO {dbusername};' |
||
psql -p 5433 -d db1 -c 'GRANT SELECT, INSERT, UPDATE , DELETE ON ALL TABLES IN SCHEMA {schemaname} TO {dbusername};' |
psql -p 5433 -d db1 -c 'GRANT SELECT, INSERT, UPDATE , DELETE ON ALL TABLES IN SCHEMA {schemaname} TO {dbusername};' |
Version vom 24. Juli 2020, 09:27 Uhr
Installation
Howto turn a Debian 10 box (netinstall) into a OWS Server - with apache2 & PostgreSQL
Update System
apt-get update apt-get -y upgrade apt-get clean
Install Admin Tools
apt-get -y install curl dos2unix htop mlocate p7zip unzip vim mc apt-get clean
Install further helpful things
apt-get -y install apache2 libapache2-mod-php cgi-mapserver postgresql-11-postgis-2.5 gdal-bin postgresql-11-ogr-fdw php-xml libproj13 apt-get clean
Activate mapserver
a2enmod cgi systemctl restart apache2
Adopt epsg file to support beta2007 transformation
cd /usr/share/proj cp epsg epsg_old sed -i "s/<31466> +proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +datum=potsdam +units=m +no_defs <>/<31466> +proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +datum=potsdam +ellps=bessel +nadgrids=@BETA2007.gsb,null +units=m +no_defs <>/g" epsg sed -i "s/<31467> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +datum=potsdam +units=m +no_defs <>/<31467> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +datum=potsdam +ellps=bessel +nadgrids=@BETA2007.gsb,null +units=m +no_defs <>/g" epsg sed -i "s/<31468> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +datum=potsdam +units=m +no_defs <>/<31468> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +datum=potsdam +ellps=bessel +nadgrids=@BETA2007.gsb,null +units=m +no_defs <>/g" epsg sed -i "s/<31469> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +datum=potsdam +units=m +no_defs <>/<31469> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +datum=potsdam +ellps=bessel +nadgrids=@BETA2007.gsb,null +units=m +no_defs <>/g" epsg
Create postgres cluster and start it
pg_createcluster 11 {clustername} pg_ctlcluster 11 {clustername} start
Path for conf files: /etc/postgresql/11/{clustername}
The port of the first cluster will be 5433, it will increment with the number of clusters.
Edit conf files
vi /etc/postgresql/11/{clustername}/postgresql.conf
- Uncomment listen_addresses ...
- exchange localhost with *
Restart cluster
pg_ctlcluster 11 {clustername} restart
Install first db on cluster
su postgres createuser -S -D -R -P -p 5433 {dbusername} createdb -p 5433 -O {dbusername} db1 -E utf-8 psql -p 5433 -d db1 -c 'CREATE EXTENSION postgis' psql -p 5433 -d db1 -c 'CREATE EXTENSION postgis_topology' psql -p 5433 -d db1 -f /usr/share/postgresql/11/contrib/postgis-2.5/legacy.sql psql -p 5433 -d db1 -c 'CREATE SCHEMA {schemaname}' psql -p 5433 -d db1 -c 'ALTER DATABASE db1 SET search_path TO {schemaname},public'
Update PostGIS to use beta2007 transformation
psql -p 5433 -d db1 -c "update spatial_ref_sys set proj4text = '+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +datum=potsdam +units=m +no_defs' where srid = 31466" psql -p 5433 -d db1 -c "update spatial_ref_sys set proj4text = '+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +datum=potsdam +units=m +no_defs' where srid = 31467" psql -p 5433 -d db1 -c "update spatial_ref_sys set proj4text = '+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +datum=potsdam +units=m +no_defs' where srid = 31468" psql -p 5433 -d db1 -c "update spatial_ref_sys set proj4text = '+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +datum=potsdam +units=m +no_defs' where srid = 31469"
Allow access from remote
su echo "#add for postgis user" >> /etc/postgresql/11/{clustername}/pg_hba.conf echo "local db1 postgres trust" >> /etc/postgresql/11/{clustername}/pg_hba.conf echo "local db1 {dbusername} md5" >> /etc/postgresql/11/{clustername}/pg_hba.conf pg_ctlcluster 11 {clustername} restart
Grant all rights to special dbuser
su postgres psql -p 5433 -d db1 -c 'GRANT SELECT, INSERT, USAGE, UPDATE , DELETE ON ALL TABLES IN SCHEMA {schemaname} TO {dbusername};' psql -p 5433 -d db1 -c 'GRANT SELECT, INSERT, UPDATE , DELETE ON ALL TABLES IN SCHEMA {schemaname} TO {dbusername};' psql -p 5433 -d db1 -c 'GRANT USAGE , EXECUTE ON ALL FUNCTIONS IN SCHEMA {schemaname} TO {dbusername};' psql -p 5433 -d db1 -c 'GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA {schemaname} TO {dbusername};' psql -p 5433 -d db1 -c 'GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO {dbusername};' psql -p 5433 -d db1 -c 'GRANT USAGE ON SCHEMA public TO {dbusername};' psql -p 5433 -d db1 -c 'GRANT USAGE ON SCHEMA {schemaname} TO {dbusername};' psql -p 5433 -d db1 -c 'GRANT ALL ON SCHEMA {schemaname} TO {dbusername}; psql -p 5433 -d db1 -c 'GRANT SELECT,INSERT,UPDATE,DELETE ON ALL TABLES IN SCHEMA {schemaname} TO {dbusername};'