我有一个大硬盘驱动器,我想存储数据映射服务器(在 Apache 下作为 cgi-bin 运行),但是在尝试访问数据时却出错了。
当我尝试使用 mapserver 访问 /bac/data/gis 中的任何内容时,我得到:
msDrawMap():图像处理错误。未能绘制名为“世界”的图层。msShapefileOpen():无法访问文件。(/var/www/html/gis/world.shp) msShapefileOpen():无法访问文件。(/bac/data/gis/global/world.shp)
从地图服务器日志文件:
[Fri Aug 2 01:12:15 2013].100850 CGI Request 1 on process 28658
[Fri Aug 2 01:12:15 2013].105687 msDrawMap(): rendering using outputformat named png (AGG/PNG).
[Fri Aug 2 01:12:15 2013].105731 msDrawMap(): WMS/WFS set-up and query, 0.000s
[Fri Aug 2 01:12:15 2013].105819 msShapefileOpen(): Unable to access file. (/bac/data/gis/global/world.shp)
[Fri Aug 2 01:12:15 2013].105838 msShapefileOpen(): Unable to access file. (/var/www/html/gis/world.shp)
[Fri Aug 2 01:12:15 2013].105848 msDrawMap(): Image handling error. Failed to draw layer named 'world'.
[Fri Aug 2 01:12:15 2013].106077 mapserv request processing time (msLoadMap not incl.): 0.005s
[Fri Aug 2 01:12:15 2013].106085 msFreeMap(): freeing map at 0x1bdfde0.
我还尝试使用 Apache 直接访问数据,看看它是否可以读取 /bac/data/gis 中的任何内容。这是通过向 httpd.cfg 文件添加 ailes 和目录指令来完成的。这会在 httpd-error 日志中显示流动的错误消息而失败。
[Thu Aug 01 22:52:37 2013] [error] [client 192.168.0.1] (13)Permission denied: access to /gis/ denied (filesystem path '/bac') because search permissions are missing on a component小路
文件系统挂载为“/bac”,数据在 /bac/data/gis 我的 httpd 目录是 /var/www/[html cgi-bin]/
我已确保对 /bac/dat/gis 路径中的所有控制器具有 +x 权限。我都禁用了 seliux,因为这通常是我在面临访问被拒绝情况时尝试的第一件事。
是否可以使用 Apache 和 cgi-bin 脚本(例如 mapserver)访问其他文件系统上的数据?