我目前正在为我的web服务器编写一个管理页面,以便更轻松地从浏览器创建新的apache域。除了一件事,一切都按我的意愿进行。
详细说明:我的服务器上有一个cron作业以根用户身份运行bash脚本,该脚本检查包含要创建的域名列表的文件。如果文件包含域名,它会自动为此域创建新的虚拟主机,编辑“我的主机”文件,然后重新启动服务器。这一切工作得很好,不管我希望脚本做什么,都是在重新启动服务器之前激活它自动创建的域。我尝试使用apache 2的a2ensite命令执行此操作,但是脚本返回一个错误,说找不到该命令。
有没有一种方法可以从bash脚本调用此命令,或者有没有其他方法可以调用此命令?
任何帮助都将不胜感激。

最佳答案

$ which a2ensite
/usr/sbin/a2ensite

通常,cron有一个非常严格的$path,不包括/usr/sbin/sbin,它们是系统二进制文件(供根用户使用)。最好使用完全限定的路径名。因此,要么在脚本中调用/usr/bin/a2ensite,要么定义一个变量:
A2ENSITE=/usr/sbin/a2ensite
...
${A2ENSITE} new-domain.com

关于linux - Apache 2:在Linux中从bash脚本调用“a2ensite”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14390764/

10-10 07:17