从 Apache 下的 CGI 应用程序连接到 Linux 上的 Firebird 会出现权限错误

Connecting to Firebird on Linux from a CGI application under Apache gives permissions error

我正在 Linux 上用 Free Pascal 编写一个小程序并连接到同一台服务器上的 Firebird 数据库。为了进行测试,我最初使用 FP 中的 TIBConnection 组件编写了一个控制台应用程序,并成功连接到 Firebird 数据库并列出了其中一个表中的记录。

现在我想从 Apache 下的 CGI 应用程序做同样的事情。具有各种参数的示例 CGI 应用程序通过 WebBroker "actions" 显示不同的 HTML 结果,如预期。

所以两个初步测试,连接到 Firebird 和获取 CGI 网络应用程序 运行ning,都有效。最后的测试是将它们结合起来,这就是我的问题所在。

每当我 运行 测试 cgi 应用程序并尝试连接到 Firebird 数据库时,我都会收到 "permission denied" 错误。我将用户名、密码和端口都保留为默认值,检查了防火墙,在 "localhost" 和“127.0.0.1”之间切换以及其他几项操作,包括将数据库文件的权限设置为 read/write 全局(当然是为了临时测试)。

我在 Internet 上找到了很多关于在 Linux 上连接到 Firebird 的信息,还有很多关于编写 CGI 应用程序的信息,但是很少有结合这两个主题的信息。我确定存在一个微妙但重要的安全或防火墙问题,但我没有想到。

有人对我可以尝试什么有什么建议吗?

我通过阅读 different problem 的解决方案弄清楚了如何让它工作。不知道为什么禁用防火墙不起作用(我不得不完全卸载它)并且不知道 SELinux 是什么(不得不将它设置为 "permissive"),但我需要研究这两个问题所以实时服务器不会受到攻击。