【问题标题】:Permissions and jar file locations for php exec on apacheapache 上 php exec 的权限和 jar 文件位置
【发布时间】:2014-12-22 06:12:17
【问题描述】:

我正在运行 MariaDB、Apache、Java 和 PHP 的 Linux 机器上设置一个小型实验......在玩了一整天并搜索了这个主题之后 - 我需要进一步澄清一些权限和位置.但让我先把这个框起来:

在我的网络目录:/var/www/html 我有一个小测试程序:test.php。它基本上是这样做的:

<?php
    exec("java -jar MyApp.jar", $output);
    print_r($output);
?>

MyApp.jar 是一个简单的 java 应用程序,它连接到本地 MariaDB 并返回从数据库中检索到的一些有用信息。

我的主要问题是:我的 .jar 文件应该在哪里以及如何确保从 php 执行正确的 jar(如何引用它?完整路径?)以及我需要修改的方式/位置/其他什么....

编辑: 现在我要把文件放进去:

/usr/share/httpd/

在 PHP 代码中,我将引用完整路径:即

exec("java -jar /usr/share/httpd/MyApp.jar", $output);

为了帮助他人 - 我还偶然发现了权限被拒绝的问题,并且还需要执行以下操作:

setsebool -P httpd_can_network_connect_db=1

我对 cme​​ts/answers 感兴趣,了解在 /usr/share/httpd 目录中包含 jar 文件的安全隐患。有更好的位置吗?我需要确保无法从外部访问这些 .jar 文件。我也在为一些 jar 库使用相同的目录。

【问题讨论】:

    标签: java apache lamp


    【解决方案1】:

    安装JDK

    假设您希望在安装 JDK 的同时开发 Java 程序。进一步假设当前的 JDK 版本是 v1.7.0,并且您想对安装程序提出的所有问题自动回答“是”。在 CentOS 命令行中输入以下命令: $ sudo yum install java-1.7.0-openjdk-devel -y

    设置 JAVA_HOME 环境变量

    将JAVA_HOME设置为JDK的位置,默认为/usr/lib/jvm/java-1.7.0-openjdk。 $ sudo sh -c 'echo export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk > /etc/profile.d/java.sh' $源/etc/profile.d/java.sh

    下载 Apache Tomcat

    下载 Tomcat 二进制文件。以下命令假设 Tomcat 的当前版本是 v7.0.56: $ wget http://apache.mirrors.tds.net/tomcat/tomcat-7/v7.0.56/bin/apache-tomcat-7.0.56.tar.gz

    注意:请务必检查以确保您下载的是最新版本。 7.0.56 版在撰写本文时是最新版本。

    解压并配置

    使用 tar 命令解压二进制文件: $ sudo tar xvzf apache-tomcat-7.0.56.tar.gz -C /opt

    将解压后的文件设为只读; $ sudo chmod +r /opt/apache-tomcat-7.0.56/conf/*

    将 CATALINA_HOME 设置为 Tomcat 文件的目录 $ sudo sh -c 'echo export CATALINA_HOME=/opt/apache-tomcat-7.0.56 > /etc/profile.d/tomcat.sh' $ source /etc/profile.d/tomcat.sh

    启动Tomcat

    运行 Tomcat 的启动脚本。 $ sudo $CATALINA_HOME/bin/startup.sh

    【讨论】:

    • ^^ 我同意如果你的答案格式正确,阅读你的答案会更容易
    猜你喜欢
    • 2019-02-23
    • 2015-10-15
    • 2015-04-03
    • 2010-11-28
    • 2015-12-11
    • 2011-09-25
    • 2015-07-18
    • 1970-01-01
    • 2011-05-26
    相关资源
    最近更新 更多