linux下编译mapser支持库,包括proj、gdal

6 篇文章 0 订阅

linux部署服务:
1,下载proj6-1,geos 3.7.3,gdal-3.2

编译proj6-1:

1,cd proj,运行./configure,查看是否确实依赖库,
若提示缺少sqlite3,执行sudo apt install sqlite3
2,mkdir build
3,cd build
4,cmake ..
5, cmake --build .
6,执行sudo make install,安装

编译geos3.7.3:

1,cd geos 3.7.3,运行./configure,查看是否确实依赖库,
2,mkdir build
3,cd build
4,sudo cmake ..
5, sudo make -j4
6,执行sudo make install,安装

编译gdal-3-2:

1,cd gdal3.2,执行./configure,
出现错误:checking for internal_proj_create_from_wkt in -lproj... no
执行:
1.1 export PATH=/usr/local/bin:$PATH,设置proj安装目录执行路径
1.2 sudo ./configure --with-proj=/usr/local 执行检查
2,若要支持geos,执行
sudo ./configure --with-proj=/usr/local --with-geos=yes
输出中查看是否有:GEOS support:              yes
有代表成功。
3,执行sudo make -j4进行编译

编译mapserv7-6-1:

1 mkdir build
2 cd build
3 cmake ..
编译可能不通过,提示缺少库fribidi,
执行sudo apt-get install libfribidi-dev安装,
提示 Could NOT find ProtobufC (missing:  PROTOBUFC_COMPILER) ,
执行 sudo apt-get install protobuf-c-compiler
之后执行cmake ..,提示makefile通过
4  执行 cmake \
    -DWITH_CLIENT_WFS=ON \
    -DWITH_CLIENT_WMS=ON \
    -DWITH_CURL=ON \
    -DWITH_PYTHON=ON \
    -DWITH_THREAD_SAFETY=ON \
    -DWITH_APACHE_MODULE=ON \
    -DWITH_XMLMAPFILE=ON \
    -DCMAKE_C_FLAGS="-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H -DPROJ_RENAME_SYMBOLS" -DCMAKE_CXX_FLAGS="-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H -DPROJ_RENAME_SYMBOLS" \
    ../ 
    开启对应功能支持,缺少支持库,自行安装即可:
    安装sudo apt-get install apache2-dev,
    sudo apt-get install libxslt-dev
5 执行make -j5开始编译

部署Apache2:

1,执行命令安装
$ apt-get install -y apache2 apache2-mpm-worker libapache2-mod-fastcgi
$ a2enmod actions fastcgi alias
$ apt-get install libapache2-mod-php5 php5-common php5-cli php5-fpm php5

2,cd /etc/apache2/sites-available,打开000-default.conf
找到DocumentRoot /var/www/html,修改/var/www/html为自己cgi程序目录,如/home/mapserv/bin

解决跨域问题:
 2.1sudo  a2enmod headers
 2.2 sudo gedit  /etc/apache2/sites-available/000-default.conf打开文件,添加
	LoadModule headers_module modules/mod_headers.so
	Header set Access-Control-Allow-Origin *
2.3重启服务 sudo service apache2 restart

3,cd /etc/apache2,打开apache2.conf,
3.1找到
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted

修改/var/www/为步骤2中设置的cig目录
3.2 设置虚拟目录映射,映射到cgi程序所在目录
ScriptAlias /mapserv/ /home/mapserv/bin
3.3 添加
LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so
4,测试
4.1sudo /etc/init.d/apache2 start启动服务

4.2浏览器中输入http://127.0.0.1/mapserv/mapserv,则调用对应的mapserv程序
	http://127.0.0.1/mapserv/mapserv?map=WMS.map&SERVICE=WMS&VERSION=2.0.1&REQUEST=GetCapabilities
若无法访问map文件,则需要添加权限
chmod 666 WMS.map

支持https,依赖openssl生成的秘钥

$ openssl genrsa -out server.key 1024

$ openssl req -new -key server.key -out server.csr

$ openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

$ openssl dhparam -out dh768.pem 768
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值