Java apache上php exec的权限和jar文件位置

Java apache上php exec的权限和jar文件位置,java,apache,lamp,Java,Apache,Lamp,我正在运行MariaDB、Apache、Java和PHP的Linux机器上进行一个小实验。。。在玩了一整天并搜索了这个主题之后,我需要进一步澄清一些权限和位置。但让我先来阐述一下: 在我的web目录:/var/www/html中,我有一个小测试程序:test.php。它基本上是这样做的: <?php exec("java -jar MyApp.jar", $output); print_r($output); ?> 在PHP代码中,我将引用完整路径:即 exec("

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

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

<?php
    exec("java -jar MyApp.jar", $output);
    print_r($output);
?>
在PHP代码中,我将引用完整路径:即

exec("java -jar /usr/share/httpd/MyApp.jar", $output);
为了帮助他人,我还遇到了一个被拒绝许可的问题,我还需要做以下工作:

setsebool -P httpd_can_network_connect_db=1
我对/usr/share/httpd目录中包含jar文件的安全影响的评论/答案感兴趣。有更好的位置吗?我需要确保不能从外部访问这些.jar文件。我还为一些jar库使用了相同的目录。

安装JDK

在本例中,假设您希望在安装JDK的同时开发Java程序。进一步假设JDK的当前版本是v1.7.0,并且您希望对安装程序提出的所有问题自动回答yes。在CentOS命令行中输入以下命令: $sudo yum安装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' $source/etc/profile.d/java.sh

下载ApacheTomcat

下载Tomcat二进制文件。以下命令假定Tomcat的当前版本为v7.0.56: $wget

注意:始终检查以确保下载的是最新版本。在撰写本文时,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的启动脚本。
$sudo$CATALINA_HOME/bin/startup.sh

^^我同意,如果答案格式正确,阅读起来会容易得多
setsebool -P httpd_can_network_connect_db=1