我正在为我的Jira / Confluence应用程序运行带有apache服务器的Ubuntu 12.04 LTS。 现在我需要另外安装Plone(生产)的实例。 但是Jira已经使用了端口8080,直到现在我找不到工作指令来改变它。
我按照这些说明安装了plone: http://developer.plone.org/getstarted/ubuntu_production.html 在这些说明中我是否必须照顾好港口?
我找到了这个网站(2.5。创建新实例):http://plone.org/documentation/manual/installing-plone/referencemanual-all-pages它说你必须更改buildout.cfg中的一些设置。但即使是sudoer我也无法运行这些指令。我明白了:
buildout.sanitycheck:
***********************************************************
Buildout should not be run while superuser. Doing so allows
untrusted code to be run as root.
Instead, you probably wish to do something like:
sudu -u plone_buildout bin/buildout
If you have a good reason to bypass this restriction,
remove the buildout.sanitycheck extension from your buildout.
***********************************************************
While:
Installing.
Loading extensions.
Error: User attempt to give system ownership to Internet
*************** PICKED VERSIONS ****************
[versions]
*************** /PICKED VERSIONS ***************
但我怎样才能删除理智检查?我在这个文件中找不到它。
答案 0 :(得分:4)
我们在这里遇到了多个问题。
更改端口
要更改Plone附加的端口,请编辑buildout.cfg并查找以下行:
[instance]
<= instance_base
recipe = plone.recipe.zope2instance
http-address = 8080
将'8080'更改为所需的端口。如果这是ZEO配置,请查找“client#”部分并更改其端口号。选择端口&gt; 1024.编辑完成后,运行buildout。
运行Buildout
如果您使用sudo
运行统一安装程序,则会导致它创建plone_buildout和plone_daemon系统用户。 “plone_buildout”用户意味着用于运行buildout,并拥有代码文件。 “plone_daemon”用户用于运行连接到Internet的长期进程,并拥有数据。
这个方案经过精心设计,因此您不必以root身份运行buildout,因此长期守护进程将具有(接近)最小权限。在此方案下,您将buildout作为plone_buildout用户运行,通常使用以下命令:
sudo -u plone_buildout bin / buildout
命令“sudo -u username”导致命令行的其余部分在指定用户的有效所有权下执行。
以root身份运行buildout通常是一个非常非常糟糕的主意。这就是理智检查存在的原因。以root身份运行buildout意味着您将系统的控制权交给buildout下载的每个模块中每个setup.py文件的作者。 不要这样做。
关于常见误解的说明:统一安装程序,当通过sudo以root身份运行时,不以root身份运行buildout(至少在最近的版本中没有) )。它使用root权限创建plone_buildout用户,然后以该用户身份运行buildout。
答案 1 :(得分:3)
只需删除buildout.sanitycheck
的{{1}}。
由于文档在root安装后也会指示sudo,因此警告仅在非root用户安装中有意义。