データ mapserver (Apache で cgi-bin として実行) を保存したい大容量のハード ドライブがありますが、データにアクセスしようとするとエラーが発生します。
mapserver を使用して /bac/data/gis 内のものにアクセスしようとすると、次のようになります。
msDrawMap(): 画像処理エラー。'world' という名前のレイヤーを描画できませんでした。msShapefileOpen(): ファイルにアクセスできません。(/var/www/html/gis/world.shp) msShapefileOpen(): ファイルにアクセスできません。(/bac/data/gis/global/world.shp)
mapserver ログ ファイルから:
[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 内のデータを読み取れるかどうかを確認しました。これは、ailes および directory ディレクティブを httpd.cfg ファイルに追加することによって行われました。これは失敗し、httpd-error ログに流れるエラー メッセージが表示されます。
[Thu Aug 01 22:52:37 2013] [エラー] [クライアント 192.168.0.1] (13) 許可が拒否されました: /gis/ へのアクセスが拒否されました (ファイルシステム パス '/bac')。道
ファイル システムは「/bac」としてマウントされ、データは /bac/data/gis にあります。私の httpd ディレクトリは /var/www/[html cgi-bin]/ です。
/bac/dat/gis パス内のすべてのディレクタで +x パーミッションを確認しました。これは、アクセスが拒否された状況に直面したときに最初に試みる一般的なことであるため、私はすべてseliuxを無効にしました。
Apache や mapserver などの cgi-bin スクリプトを使用して、他のファイル システムのデータにアクセスすることはできますか?