如何在Apache服务Plone中正确设置Documentroot

如何在Apache服务Plone中正确设置Documentroot,apache,plone,vhosts,Apache,Plone,Vhosts,我想我有一个名为example.com的Plone网站,位于/var/www/Plone。我对位于VHOST摘录可用站点中的站点具有以下设置: <VirtualHost 10.0.1.4:8082> ServerAdmin webmaster@localhost ServerName wiedhas.noip.me DocumentRoot /var/www/Plone 当我试图访问我的站点wiedhas.noip.me时,apache加载的是Plo

我想我有一个名为example.com的Plone网站,位于/var/www/Plone。我对位于VHOST摘录可用站点中的站点具有以下设置:

<VirtualHost 10.0.1.4:8082>
    ServerAdmin webmaster@localhost
        ServerName wiedhas.noip.me
    DocumentRoot /var/www/Plone

当我试图访问我的站点wiedhas.noip.me时,apache加载的是Plone目录树,而不是我的Plone站点。我可以浏览/var/www/Plone的文件系统,但它没有加载站点。我一定没有将documentroot设置为站点的正确目录?非常感谢您的帮助。

这是一篇关于在apache和其他平台上运行plone的优秀文档。

ssl的一个简单示例,vhost的外观如下:

<VirtualHost $IP:80>

        ServerName my.domain.com

        Redirect / https://my.domain.com

</VirtualHost>

<VirtualHost $IP:443>

        ServerName my.domain.com

        ErrorLog logs/my.domain.com-http-error.log
        CustomLog logs/my.domain.com-http-access.log combined

        Include vhosts.d/....ssl.inc

        RewriteEngine On

        RewriteRule ^/(.*) http://127.0.0.1:$PORT_OF_PLONE/VirtualHostBase/https/%{SERVER_NAME}:%{SERVER_PORT}/zodb/path/top/plone/VirtualHostRoot/$1 [P,L]

</VirtualHost>
$PORT\u OF\u PLONE=正在运行的PLONE实例的端口


/zodb/path/top/plone=这就是您在zope中添加plone站点的地方。

这是一篇关于在apache后面运行plone以及更多内容的优秀文档。

ssl的一个简单示例,vhost的外观如下:

<VirtualHost $IP:80>

        ServerName my.domain.com

        Redirect / https://my.domain.com

</VirtualHost>

<VirtualHost $IP:443>

        ServerName my.domain.com

        ErrorLog logs/my.domain.com-http-error.log
        CustomLog logs/my.domain.com-http-access.log combined

        Include vhosts.d/....ssl.inc

        RewriteEngine On

        RewriteRule ^/(.*) http://127.0.0.1:$PORT_OF_PLONE/VirtualHostBase/https/%{SERVER_NAME}:%{SERVER_PORT}/zodb/path/top/plone/VirtualHostRoot/$1 [P,L]

</VirtualHost>
$PORT\u OF\u PLONE=正在运行的PLONE实例的端口


/zodb/path/top/plone=这就是您在zope中添加plone站点的地方。

我花了一段时间才启动我的站点,所以这可能有帮助:

我的虚拟主机看起来像这样,我的plone站点被称为“我的网站”:

#---------------------------------
#     www.mywebsite.com
#---------------------------------
<VirtualHost *:80>
        ServerName      www.mywebsite.com
        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteRule ^/(.*)$ http://127.0.0.1:8081/VirtualHostBase/http/%{SERVER_NAME}:80/mywebsite/VirtualHostRoot/$1 [L,P]
        </IfModule>
</VirtualHost>

希望这会有所帮助:

我花了一段时间才开始工作,所以这可能会有所帮助:

我的虚拟主机看起来像这样,我的plone站点被称为“我的网站”:

#---------------------------------
#     www.mywebsite.com
#---------------------------------
<VirtualHost *:80>
        ServerName      www.mywebsite.com
        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteRule ^/(.*)$ http://127.0.0.1:8081/VirtualHostBase/http/%{SERVER_NAME}:80/mywebsite/VirtualHostRoot/$1 [L,P]
        </IfModule>
</VirtualHost>

希望有帮助:

正如您在第一个正确答案中看到的,您不需要DocumentRoot。DocumentRoot指向一个目录,其中包含Apache要呈现的文件。但是Plone带来了它自己的服务器,Zope应用服务器,它运行在与Apache不同的端口上。重写规则将传入的请求重定向到应用程序服务器,并以对客户端隐藏重定向的方式修改响应

正如您在第一个正确答案中看到的,您不需要DocumentRoot。DocumentRoot指向一个目录,其中包含Apache要呈现的文件。但是Plone带来了它自己的服务器,Zope应用服务器,它运行在与Apache不同的端口上。重写规则将传入的请求重定向到应用程序服务器,并以对客户端隐藏重定向的方式修改响应

我已经重写了重写:RewriteRule^/*{SERVER\u NAME}:%{SERVER\u PORT}/Test/VirtualHostRoot/$1[p,L]我的Plone站点称为Test,Plone安装的目录是/home/username/Plone。当我转到我的网站wiedhas.noip.me时,我得到的只是请求的URL/未找到。因此,我没有正确设置Plone站点的位置。有什么想法吗?localhost:880/Test在本地工作。抱歉,我的意思是我可以通过localhost:8080/Test到达我的站点,但不能通过监听端口80的wiedhas.noip.me。我已经重写了重写:RewriteRule^/*{SERVER\u NAME}:%{SERVER\u port}/Test/VirtualHostRoot/$1[P,L]我的Plone站点名为Test,安装Plone的目录是/home/username/Plone。当我转到我的网站wiedhas.noip.me时,我得到的只是请求的URL/未找到。因此,我没有正确设置Plone站点的位置。有什么想法吗?localhost:880/Test在本地工作。对不起,我的意思是我可以通过localhost:8080/Test到达我的站点,但不能通过wiedhas.noip.me,它正在侦听端口80。