2013-05-14 62 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