Alibaba linux 3安装mapserver

在 Alibaba Cloud Linux 3(与 RHEL/CentOS 8 兼容)上安装 MapServer,可以通过源码编译安装。由于 Alibaba Linux 3 默认不包含 MapServer 的官方包,通过EPEL仓库安装失败的概率也很高。

  1. 安装依赖

sudo dnf install -y gcc gcc-c++ make cmake git \ gd-devel gdal-devel proj-devel libxml2-devel \ freetype-devel cairo-devel pango-devel \ libpng-devel libjpeg-turbo-devel sqlite-devel \ postgresql-devel mysql-devel curl-devel \ swig python3-devel php-devel

  1. 下载源码

cd /tmp git clone https://github.com/MapServer/MapServer.git

cd MapServer

git checkout tags/rel-8-0-1 -b rel-8-0-1

  1. 编译安装

mkdir build

cd build

cmake .. \

-DCMAKE_INSTALL_PREFIX=/usr/local \

-DWITH_PROJ=ON \

-DWITH_GDAL=ON \

-DWITH_CAIRO=ON \

-DWITH_FRIBIDI=OFF \

-DWITH_HARFBUZZ=OFF \

-DWITH_PHP=ON \

-DWITH_PYTHON=ON

注意有些非必需项,如CAIRO等,可设成OFF,并留心空格等字符,否则cmake不能正确识别。

make -j$(nproc)

sudo make install

  1. 设置环境变量

echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc source ~/.bashrc

  1. 验证

/usr/local/bin/mapserv -v

系统在运行 mapserv 时可能找不到 MapServer 的共享库 libmapserver.so.2。因为从源码编译安装 MapServer 到 /usr/local(默认位置),但系统的动态链接器(ld.so)不知道去哪里找这个库。

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH mapserv -v

创建一个 .conf 文件让系统永久识别该路径

echo '/usr/local/lib' | sudo tee /etc/ld.so.conf.d/mapserver.conf

sudo ldconfig

  1. 复制 mapserv 到 CGI 目录

sudo cp /usr/local/bin/mapserv /var/www/cgi-bin/

重启动 Apache

sudo systemctl enable --now httpd

相关推荐
码农学院18 分钟前
基于运维监控体系的网络品牌推广方案:从架构设计到技术实现
运维·网络
爱写代码的森7 小时前
鸿蒙三方库 | harmony-utils之ImageUtil图片保存到本地详解
服务器·华为·harmonyos·鸿蒙·huawei
大耳朵-小飞象9 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
极客侃科技9 小时前
制造企业 MES/APS 选型:SAP PP/DS 集成、ERP-MES 边界划分与一体化架构要点
运维·架构·制造
HLC++10 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室11 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
白露与泡影12 小时前
Arthas 实战指南:从方法耗时定位到 JVM 变量热修改
服务器·jvm·c#
神奇霸王龙13 小时前
Claude Code屠榜:MiMo与Grok紧追Codex
服务器·网络·人工智能·gpt·ai·ai编程
Web极客码13 小时前
WordPress SEO优化:提升网站排名的13个关键步骤
服务器·seo·wordpress
生活爱好者!13 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器