2013-05-14 50 views
2

後,我想配置BitNami GitLab Stack 5.1.0-2 with LDAPBitNami GitLab棧5.1.0-2重寫gitlab.yml重啓

然後跑進問題

Could not authorize you from Ldap because 「Server 192.168.133.100 refused connection on port 389」. 

其中192.168.133.100實際上是gitlab服務器本身。

我改變/opt/bitnami/apps/gitlab/htdocs/config/gitlab.yml

ldap: 
enabled: true 
host: '192.168.1.14' 

,但reboot或GitLab重啓後,才返回192.168.133.100。這是錯誤!

如何讓BitNami GitLab Stack不這樣做?

如何重新啓動GitLab以使更改的gitlab.yml生效? - >

sudo /opt/bitnami/ctlscript.sh restart gitlab_sidekiq 

https://github.com/gitlabhq/gitlabhq/issues/3934

UPDATE重命名/opt/bitnami/apps/gitlab/updateip不能解決問題。

更新2:問題仍然存在對5.4.0-0

sudo chmod -x /etc/init.d/bnconfig-gitlab幫助。

回答

1

您是否嘗試過以下操作來禁用bncofnig-gitlab服務而不是重命名文件?

sudo chmod -x /etc/init.d/bnconfig-gitlab 

sudo update-rc.d -f bnconfig-gitlab disable 
+0

你能否解釋一下這一切意味着什麼(bncofnig-gitlab service,sudo-rc.d)或者添加鏈接在哪裏閱讀更多。 – 2013-07-10 13:25:52

+0

對5.4.0-0 – 2013-07-26 10:01:42

1

這可能是由於「updatetip」腳本,它在重新啓動時啓動並更改配置文件以反映已更改的IP地址(這可能對雲託管有用)。

廣告documentation說,你應該刪除或重命名的/ opt/bitnami /應用/ gitlab/updateip如果你使用靜態IP地址。

在此之前,你可能希望運行

/opt/bitnami/apps/gitlab/updateip --machine_name your_dns.name 
+0

重命名比較好,因爲我可以用它以後;-) – 2013-05-20 10:27:36

+0

我GitLab 5.2.0-0得到了同樣的問題。重命名/ opt/bitnami/apps/gitlab/updateip不能解決問題。 – 2013-05-23 09:32:30

+0

這很奇怪。 Updateip工具在重啓後會更改文件中的主機名,但如果您重命名工具或移動到其他位置,它應該修復問題。 – Beltran 2013-05-24 08:49:59

3

它不是封閉尚未

的/ opt/bitnami /應用/ gitlab/updateip --machine_hostname your_dns.name

這沒有解決問題是,我覺得有一個錯誤。我使用的版本Bitnami - Gitlab 5.2.1

在/etc/init.d/bnconfig-gitlab 它打電話到/ opt/bitnami /應用/ gitlab/bnconfig(而不是updateip,updateip只是一個鏈接bnconfig),所以當你刪除/重命名updateip時,沒有任何作用,它仍然會重置你的主機名。

解決方案

  1. 設置你的主機名更正名: 的/ opt/bitnami /應用/ gitlab/updateip --machine_hostname your_dns.name
  2. 刪除updateip & bnconfig
  3. 另外註釋行:EXEC/opt/bitnami/apps/gitlab/bnconfig(在/ etc/init中。d/bnconfig-gitlab)文件
+0

什麼是 'updateip',解釋了命令:--machine_hostname your_dns.name。請提供可理解的服務器名稱(甚至是虛構的)。我會欣賞這一努力。 – 2014-03-22 19:07:44

2

即使在6.2.0.0沒有使用靜態IP或FQDN任何適當的程序版本。我使用我自己的綁定服務器,爲我的bitnami gitlab服務器本地IP提供完整的反向記錄。 (因爲im vpn in,並在vpc內)此解決方案應該可以在任何環境中工作。這個解決方案並不像所有的文本所指出的那樣先進。我只是想確保我給出了足夠的背景。

顯然,init.d腳本「/etc/init.d/bitnami」首先從「/ opt/bitnami/scripts/init/functions」加載所需/使用的bash函數。然後,init.d(bitnami)腳本執行位於此文件夾中的「/ opt/bitnami/var/init/pre-start /」腳本(通過文件名的排列順序執行,例如010,020,030等)。然後執行「/opt/bitnami/ctlscript.sh start」。這啓動了大多數(如果不是全部的話)需要用於bitnami gitlab的功能。

如果「/opt/bitnami/ctlscript.sh」腳本返回0($?== 0),表示成功! init.d(bitnami)腳本再次按排序順序執行位於此目錄中的「/ opt/bitnami/var/init/post-start /」腳本。在post-start目錄中包含腳本「020_update_ip」。長篇小說(節省您對所有函數的信息)bitnami做了很多冗餘的東西(函數),以決定使用什麼作爲'主機地址'。它總共使用四個函數,具有不同的返回值。它還會查詢bitnami自己的服務器以找出您的公共IP。我的服務器位於VPC內部,具有彈性IP和本地IP的FQDN。他們的系統幾乎總是決定爲我的Elastic IP使用Reverse public PTR DNS名稱。這總是會被磨損,他們肯定喜歡使用你的AMZ公共DNS。

我整理了所有瘋狂的非功能性檢測邏輯(這會對你的環境做出瘋狂的假設,並在「/ opt/bitnami/var/init/post-start/020_update_ip」中添加了以下邏輯。條件,以確定您是否已在您的環境中聲明$ GITLABHOST。如果是這樣,則將該值用作PUBLIC_IP。因此,當腳本運行updateip | bnconfig時,它將使用$ GITLABHOST提供的值

「 /選擇/ bitnami的/ var/INIT /後開始/ 020_update_ip 「>

if [ "x$1" != "x" ]; then 
    PUBLIC_IP=$1 
elif [ -n $GITLABHOST ]; then 
    PUBLIC_IP=$GITLABHOST 
else 
    PUBLIC_IP=`get_server_domain` 
fi 

然後我添加了以下內容」 的/ opt/bitnami /腳本/ SETENV .SH」

##### SET STATIC HOST ADDRESS IP|FQDN ##### 
GITLABHOST="server.domain.com" 
export GITLABHOST 

我將此這裏,所以它完全集成到Bitnami Gitlab 6.2,因爲不用擔心它的存在。由於它是在啓動後腳本之前通過「/opt/bitnami/ctlscript.sh」(。「$ INSTALLDIR/scripts/setenv.sh」)加載的。其他可能希望把它放在別的地方。請確保你提供一個有效的主機/ IP地址:)

+0

沒有幫助我曾經使用crontab運行腳本,在while循環curl檢測到某個html之後updateip會運行。這比在updateip命令之前添加「sleep n」要好得多。由於啓動時間不一致。 – jonretting 2013-10-29 00:52:50

+0

僅供參考,發佈的解決方案還更正了「LDAP設置」下的「主機:」值。 – jonretting 2013-10-31 08:49:41