OSM kaardiserver Mandriva 2010 Spring baasil
Riistvaralised nõuded
Riistvara serveri jaoks sõltub sellest, kui suurt osa kaardist tahetakse serveerima hakata. Ainult Eesti kaardi näitamiseks piisab 4G rammi ja 200G ketta pinda ja üks kõik milline tänapäevane protsessor.
Euroopa kaardi näitamiseks on 4G mälu kindel miinimum ja väga tugev soovitus on kasutada 8G ketta pinda peaks olema 300-400G ja protsessoril vähemalt 4 tuuma.
Maailma kaardi puhul 16G miinimum 24G soovituslik
Mandriva paigaldus
Soovitav paigaldada mandriva Free versioon mandriva-linux-one-2010-spring-KDE4-europe2-cdrom-i586.iso
Täpsemat kirjeldust Mandriva paigaldamise kohta saab siit Installing_Mandriva_Linux
Postgre piagaldus ja seadistamine
Kui puhas install on tehtud tuleb paigaldada postgresql andmebaas ja postgre postgis -i laiendus.
urpmi postgresql8.4, postgresql8.4-contrib, postgis
Peale postgre paigaldamist tuleks see ka käivitada, mille jooksul luuakse default andmebaasid ja configuratsiooni fail. Mandriva 2010.1 postgre install miskipärast teeb default template andmebaasid ASCII vormingus, mille tulemusena ei saa nende pealt luua UTF8 vormingus baase.
[postgres@xxx ~]$ psql psql (8.4.4) Type "help" for help. postgres=# \l List of databases Name | Owner | Encoding | Collation | Ctype | Access privileges -----------+----------+-----------+-----------+-------+----------------------- postgres | postgres | SQL_ASCII | C | C | template0 | postgres | SQL_ASCII | C | C | =c/postgres : postgres=CTc/postgres template1 | postgres | SQL_ASCII | C | C | =c/postgres : postgres=CTc/postgres (3 rows) postgres=#
Et seda probleemi parandada, tuleb olemasolevad template0 ja template1 baasi ära kustutada
[postgres@andres ~]$ rm -rf /var/lib/pgsql/data
... ja uued genereerida UTF8 vormingus
[postgres@andres ~]$ initdb -E=UTF8 The files belonging to this database system will be owned by user "postgres". This user must also own the server process. ... WARNING: enabling "trust" authentication for local connections You can change this by editing pg_hba.conf or using the -A option the next time you run initdb. Success. You can now start the database server using: postgres -D /var/lib/pgsql/data or pg_ctl -D /var/lib/pgsql/data -l logfile start [postgres@andres ~]$psql psql (8.4.4) Type "help" for help. postgres=# \l List of databases Name | Owner | Encoding | Collation | Ctype | Access privileges -----------+----------+----------+-----------+-------+----------------------- postgres | postgres | UTF8 | C | C | template0 | postgres | UTF8 | C | C | =c/postgres : postgres=CTc/postgres template1 | postgres | UTF8 | C | C | =c/postgres : postgres=CTc/postgres (3 rows) postgres=#
Kui postgres on paigaldatud siis tuleks natukene postgre ja kerneli näitajaid muuta, et andmebaas paremini töötaks.
Muuda /var/lib/pgsql/data/postgresql.conf faili
shared_buffers = 256MB checkpoint_segments = 20 maintenance_work_mem = 256MB autovacuum = off
Muuda /etc/sysctl.conf
kernel.shmmax = 268435456
Nüüd tuleks postgre -le restart teha
/etc/init.d/postgresql restart
ja kerneli parameetrid uuesti sisse lugeda
sysctl -p
Järgmiseks loome baasi, kasutaja ja plpgsql keele
- createuser mapnik
- createdb -E UTF8 -O mapnik gis
- createlang plpgsql gis
[root@xxx]# su - postgres [postgres@xxx ~]$ createuser mapnik Shall the new role be a superuser? (y/n) y [postgres@xxx ~]$ createdb -E UTF8 -O mapnik gis [postgres@xxx ~]$ createlang plpgsql gis [postgres@xxx ~]$
Seadistame ära postgis -i. Lisame postgre -le postgisi laiendused:
- psql -d gis -f /usr/share/postgresql/contrib/postgis-1.5/postgis.sql
[postgres@andres ~]$ psql -d gis -f /usr/share/postgresql/contrib/postgis-1.5/postgis.sql SET BEGIN CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION CREATE TYPE CREATE FUNCTION CREATE FUNCTION CREATE FUNCTION ... DROP FUNCTION DROP FUNCTION DROP FUNCTION [postgres@andres ~]$
Anname teatud tabelitele kasutaja mapnik õigused:
- ALTER TABLE geometry_columns OWNER TO mapnik;
- ALTER TABLE spatial_ref_sys OWNER TO mapnik;
[postgres@andres ~]$ psql -d gis psql (8.4.4) Type "help" for help. gis=# ALTER TABLE geometry_columns OWNER TO mapnik; ALTER TABLE gis=# ALTER TABLE spatial_ref_sys OWNER TO mapnik; ALTER TABLE gis=# \q [postgres@andres ~]$