2017-09-25 113 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中顯示的域地址不是。