2017-09-25 118 views
0

我使用GitLab CE作为我的公司开发存储库,并且我想使用gitlab页面来为一些静态文档提供服务。使用apache服务页面

我已经为页面设置CI整合,它的工作原理(我可以在项目中看到站点地址“页面”设置,CI的工作是OK)

我使用的Apache 2作为反向代理,所以NGINX被禁用,DNS配置:“docs.example.org”的CNAME记录和“* .docs.example.org”的A记录,都指向gitlab服务器,名为Ulysse。

DNS中的Gitlab服务器记录是“gitlab.example.org”,它通过apache和VirtualHost配置提供。

如何设置apache来提供这些页面?

感谢您的帮助!

+0

到目前为止,您尝试过哪些方法来尝试启动并运行? – ajtrichards

+0

我想我必须为此编写一个apache配置文件,但我还没有找到任何这样的配置文件的例子。 gitlab-pages应用程序正在侦听127.0.0.1:8090地址。 GitLab实例运行良好。 – frague

回答

0

我假设我试图在同一台服务器上提供的页面与具有相同IP的gitlab相同,apache2被用作带有通配符虚拟主机的负载平衡器。 (在官方文档第三种情况:https://docs.gitlab.com/ee/administration/pages/index.html

我已经创建了一个新的gitlab-pages.conf文件的Apache2:

<VirtualHost *:80> 
    ServerName docs.example.org 
    ServerAlias *.docs.example.org 

    ProxyPreserveHost On 
    ProxyPass "/" "http://127.0.0.1:8090/" 
    ProxyPassReverse "/" "http://127.0.0.1:8090/ 

    RewriteEngine on 
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f 
    RewriteRule .* http://127.0.0.1:8090%{REQUEST_URI} [P,QSA] 

</VirtualHost> 

这工作几乎:在http://[user].docs.example.org/[project]/站点都配有设置RELATIVE_URLS = True到SSG(在我的情况下是perlican),但是在Project> Settings> Pages中显示的域地址不是。