BitNami GitLab Stack 5.1.0-2在重启后重写gitlab.yml

时间:2013-05-14 09:49:08

标签: ubuntu configuration ldap bitnami gitlab

我正在尝试配置BitNami GitLab Stack 5.1.0-2 with LDAP

然后遇到问题

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

更新重命名/opt/bitnami/apps/gitlab/updateip无法解决问题。

更新2:5.4.0-0

仍然存在问题

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

4 个答案:

答案 0 :(得分:3)

尚未关闭

/ opt / bitnami / apps / gitlab / updateip --machine_hostname your_dns.name

这还没有解决问题,我认为有一个错误。我正在使用版本Bitnami - Gitlab 5.2.1

在/etc/init.d/bnconfig-gitlab中 它调用/ opt / bitnami / apps / gitlab / bnconfig(而不是updateip,updateip只是指向bnconfig的链接),所以当你删除/重命名updateip时,它没有效果,它仍然会重置你的主机名。

解决方案

  1. 将主机名设置为正确的名称: / opt / bitnami / apps / gitlab / updateip --machine_hostname your_dns.name
  2. 删除updateip& bnconfig
  3. 同时注释行:exec / opt / bitnami / apps / gitlab / bnconfig(在/etc/init.d/bnconfig-gitlab中)文件

答案 1 :(得分: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 /”脚本(由filenamed的排序顺序执行,即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。他们的系统几乎总是决定使用Reverse公共PTR DNS名称作为我的弹性IP。永远都会穿,并且他们肯定喜欢使用你的AMZ公开dns。

我整理了所有疯狂的非功能检测逻辑(对您的环境做出了疯狂的假设,并将以下逻辑添加到“/ opt / bitnami / var / init / post-start / 020_update_ip”。我添加了额外的elif条件为了找出你是否在你的环境中声明了$ GITLABHOST。如果是这样的话,那么将该值用作PUBLIC_IP。所以当脚本运行updateip | bnconfig时,它将使用$ GITLABHOST提供的值。

“/ opt / bitnami / var / init / post-start / 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/scripts/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地址:)

答案 2 :(得分:1)

这可能是由于“updatetip”脚本在重启时启动并更改配置文件以反映更改的IP地址(这对云托管非常有用)。

广告documentation表示如果您使用的是静态IP地址,则应删除或重​​命名 / opt / bitnami / apps / gitlab / updateip

在此之前,您可能希望运行

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

答案 3 :(得分:1)

您是否尝试过以下操作来禁用bncofnig-gitlab服务而不是重命名文件?

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

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