我为扩展OS X中的Apache服务器的产品制作了.pkg安装程序。
通过.pkg中的postinstall脚本,当前我可以通过在/etc/apache2/other
文件夹中添加product.conf文件来配置Yosemite和El Capitan的默认设置。
要加载新配置,我只需在安装后脚本中执行以下操作:
launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist #if not loaded
apachectl stop #if already started
apachectl start
安装OS X Server会更改Apache的配置方式,因此上述方法将失败。因此,如何从安装后脚本中配置OS X Server以执行相同操作?
什么版本的Server.app和什么版本的OS X?您的脚本可能会基于SIP派生,并且还取决于实践中“扩展”的含义?
—
bmike
通常,在我为OS X进行部署时,我希望该脚本能够在可在El Capitan和Yosemite上运行的所有版本的Server.app中运行。“扩展Apache”除了加载cgi,mime和别名apache模块并在
—
约阿希姆·布拉特利
product.conf
文件中创建别名和Scriptaliases之外,没有其他含义。您能否解释“基于SIP的叉子”的含义?
@bmike SIP =系统完整性保护?前叉=失败?
—
Joachim Bratteli,2015年
SIP-正是您所猜测的。没有人喜欢被“分叉”-也需要对操作系统检查进行编码以查看要采取的“分叉”。如果是10.10,则执行此操作;如果是10.11,则执行其他操作-类型的“叉子”。
—
bmike
嗯,在那种情况下,我希望苹果提供一种以用户友好的方式处理SIP的方法。我的做法似乎为纯埃尔卡皮坦工作,因为我能够做
—
约阿希姆·布拉特利
launchctl unload
的,随后launchctl load
没有问题。