Linux 安装开源GIS环境
1、安装JAVA环境 查找java相关的列表
yum -y list java*

或者
yum search jdk

2、安装jdk
yum install java-1.8.0-openjdk.x86_64
3、完成安装后验证
java -version

4、通过yum安装的默认路径为:/usr/lib/jvm

5、将jdk的安装路径加入到JAVA_HOME
vi /etc/profile
在文件最后加入:
#set java environment
JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH
修改/etc/profile之后让其生效
. /etc/profile (注意 . 之后应有一个空格)
2. 安装Geoserver (采用源码二进制包解压方式)
Geoserver官网寻找对应的二进制源码包(bin) http://geoserver.org/download/
如 2.10.1 版本 下载
wget https://sourceforge.net/projects/geoserver/files/GeoServer/2.10.1/geoserver-2.10.1-bin.zip/download
解压
unzip /home/gis/geoserver-2.10.1-bin.zip
修改端口为并启动程序
cd geoserver-2.10.1
vi start.ini
jetty.port=8097
cd bin
./startup.sh
增加GEOSERVER_HOME
vi /etc/profile
export GEOSERVER_HOME=/home/gis/geoserver-2.10.1
. /etc/profile
3. 安装postgreSQL
3.1 安装rpm
[root@psql_master ~]# yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
*****可以在https://www.postgresql.org/download/linux/redhat/网址上找对应版本

3.2 安装客户端
[root@psql_master ~]# yum install postgresql94
3.3 安装服务端
#yum安装postgresql,默认会建一个名为”postgres”的系统账号,用于执行PostgreSQL;
#同时数据库中也会生成一个名为”postgres”的数据库用户,且密码已自动生成,需要进入数据库后修改;
#PostgreSQL在数据库用户同名的系统账号下登录免密。
[root@psql_master ~]# yum install postgresql94-server
3.4 初始化
[root@psql_master ~]# /usr/pgsql-9.4/bin/postgresql94-setup initdb
3.5 设置开机启动
[root@psql_master ~]# systemctl enable postgresql-9.4
3.6 启动
[root@psql_master ~]# systemctl start postgresql-9.4
3.7 修改用户密码
#yum安装postgresql,默认会建一个名为”postgres”的系统账号,用于执行PostgreSQL;
[root@psql_master ~]# su – postgres
#切换用户后,提示符变更为“-bash-4.2$”;
#同时数据库中也会生成一个名为”postgres”的数据库用户,且密码已自动生成;
#PostgreSQL在数据库用户同名的系统账号下登录免密;
-bash-4.2$ psql -U postgres
#进入数据库后修改密码;
postgres=# alter user postgres with password ‘123456’;
3.8 允许远程访问
#配置文件中,默认只能本机访问postgresql;
#修改listen_addresses = ‘localhost’为listen_addresses = ‘*’,允许所有远程访问;
#修改配置文件需要重启服务。
[root@psql_master ~]# sed -i “s|#listen_addresses = ‘localhost’|listen_addresses = ‘*’|g” /var/lib/pgsql/9.4/data/postgresql.conf
3.9 主机认证
#在第82行之后,”IPv4 local connections”下新增允许的客户端;
#“host” 代表主机类型,第一个“all”代表db ,第二个“all”代表user ,“172.29.3.67/32” 代表client ip(0.0.0.0/0表示不限制),“trust”代表认证方式;
#认证方式除“trust”外,还有“peer”, “ident”, “md5”, “password”等,具体可参考pg-hba文件: https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html
#修改pg.hba文件需要重启服务。
[root@psql_master ~]# vim /var/lib/pgsql/9.4/data/pg_hba.conf host all all 0.0.0.0/0 trust

##vim操作:i进入编辑状态,esc退出编辑状态,:wq保存并退出
##这里在后面操作过程中,可能会出现认证失败的报错。如下:

##可以在这pg_hba.conf,将peer处改为trust(这里测试环境,如果正式环境不建议改为trust,可改为md5)

3.10 设置环境变量
[root@psql_master ~]# vim /etc/profile
##添加export PATH=$PATH:/usr/pgsql-9.4/bin

[root@psql_master ~]# source /etc/profile
3.11 重启服务
[root@psql_master ~]# systemctl restart postgresql-9.4
4.安装postGIS
4.1. 安装epel
#网上资料说,由于2.0中引入了GDAL和JSON等依赖关系,PostGIS有很多依赖关系,因此安装之前需要先安装依赖项。
[root@psql_master ~]# yum -y install epel-release
4.2. 安装PostGIS
#版本号格式为:_前为postgis版本,后面为postgresql版本(这里是网上的说法,暂时还没验证,本想装postgis2.2,可是这个命令下装的是2.4,具体什么原因待研究)
[root@psql_master ~]# sudo yum install postgis2_94
#实验证明如果要装postgis2.2版本,可以命令改为
[root@psql_master ~]# sudo yum install postgis22_94


4.3. 新建扩展
#安装完postgis后,并不表示可以使用空间数据库功能了,需要先激活数据库上的PostGIS功能,然后才能存储空间数据
1)先切换到用户
[root@psql_master ~]# sudo -i -u postgres
2)创建测试用户/数据库
-bash-4.2$ createuser test_user
-bash-4.2$ createdb test_db -O test_user
#上面创建test_db命令 -o是英文字母o,不是零
3)连接到测试数据库
-bash-4.2$ psql -d test_db
4)在数据库上启用PostGIS扩展
test_db=# CREATE EXTENSION postgis;
5)验证
test_db=# SELECT PostGIS_version();