Bitnami GitLab 5.0 and git & Eclipse EGit quick st

2020-02-11 12:36发布

问题:

We have just set up GitLab 5.0 using Bitnami stack and need quick start.

By Bitnami default SSH is disabled. That is OK with me, I'd prefer use HTTP. But it seems that GitLab 5.0 doesn't smoothly support HTTP.
For example on project page http://192.168.133.99/gitlab/publicproject1, when switching to HTTP option, help below is not updated.

I have one project publicproject1 checked as public. But I can't clone it in any way (using git or EGit):

weibl@FX-JSJ532 ~/pp1
$ git clone http://192.168.133.99/gitlab/publicproject1.git
Cloning into 'publicproject1'...
fatal: http://192.168.133.99/gitlab/publicproject1.git/info/refs not found: did you run git update-s
erver-info on the server?

weibl@FX-JSJ532 ~/pp1
$ git clone http://192.168.133.99/gitlab/publicproject1
Cloning into 'publicproject1'...
fatal: http://192.168.133.99/gitlab/publicproject1/info/refs not found: did you run git update-serve
r-info on the server?

I have been using GitHub for a while, so maybe I missed something that is handle by GitHub automatically.

I found this Q egit plugin for Eclipse . My SSH keys are in place.

UPDATE: I checked all advices on "did you run git update-server-info" error on a Github repository.
And checked that I am master of this project.

UPDATE 2: Bitnami Gitlab doesn't have Nginx, but Apache http://bitnami.com/stack/gitlab/README.txt

Error is the same as mentioned issue 3384.

>git push -u origin master
/opt/bitnami/ruby/lib/ruby/1.9.1/net/http.rb:762:in `initialize': getaddrinfo: T
emporary failure in name resolution (SocketError)
        from /opt/bitnami/ruby/lib/ruby/1.9.1/net/http.rb:762:in `open'
        from /opt/bitnami/ruby/lib/ruby/1.9.1/net/http.rb:762:in `block in connect'
        from /opt/bitnami/ruby/lib/ruby/1.9.1/timeout.rb:54:in `timeout'
        from /opt/bitnami/ruby/lib/ruby/1.9.1/timeout.rb:99:in `timeout'
        from /opt/bitnami/ruby/lib/ruby/1.9.1/net/http.rb:762:in `connect'
        from /opt/bitnami/ruby/lib/ruby/1.9.1/net/http.rb:755:in `do_start'
        from /opt/bitnami/ruby/lib/ruby/1.9.1/net/http.rb:744:in `start'
        from /opt/bitnami/apps/gitlab/gitlab-shell/lib/gitlab_net.rb:56:in `get'
        from /opt/bitnami/apps/gitlab/gitlab-shell/lib/gitlab_net.rb:17:in `allowed?'
        from /opt/bitnami/apps/gitlab/gitlab-shell/lib/gitlab_shell.rb:51:in `validate_access'
        from /opt/bitnami/apps/gitlab/gitlab-shell/lib/gitlab_shell.rb:21:in `exec'
        from /opt/bitnami/apps/gitlab/gitlab-shell/bin/gitlab-shell:16:in `<main>'
fatal: The remote end hung up unexpectedly

UPDATE 3: passenger.conf

UPDATE 4: Apache2 config for GitLab aplication: gitlab.conf

How to make simple root (not relative root)?

UPDATE 5: I have enabled SSH and change GitLab app URL from /gitlab to / aka root. Bitnami: How to configure GitLab 5.0 application in Apache2 not to have relative root? However I still have the same error as in UPDATE 2 when accessing with git or EGit. The only clue I have, is that GitLab UI is corrupted (seems like no CSS applied), so maybe some additional configuration for GitLab application required. HELP!!

SOLUTION was not found. I actually got newer VM version 5.1.0-2 with main bug mentioned here fixed, however there is general question now How to update GitLab in Bitnami stack

回答1:

I see you have a relative root for your GitLab server: 192.168.133.99/gitlab instead of just 192.168.133.99/.

A bug has recently been fixed: issue 3384: Gitlab can't clone or push:

However when actually doing clone, push and pull. The internal api is invoked by gitlab-shell on the same machine of the gitlab server. Now since the gitlab config for nginx /etc/nginx/sites-enabled/gitlab is set as:

server {
  listen YOUR_SERVER_IP:80 default_server;         # e.g., listen 192.168.1.1:80;
  server_name YOUR_SERVER_FQDN;     # e.g., server_name source.example.com;
  root /home/git/gitlab/public;

user git on the server invoked gitlab-shell to access web api at YOUR_SERVER_FQDN, but now the server IP to user git is 127.0.0.1.
So gitlab is not valid website now. But the default nginx site listens to any IP at port 80 so the

<html>
<head>
<title>Welcome to nginx!</title>
</head>
<body bgcolor="white" text="black">
<center><h1>Welcome to nginx!</h1></center>
</body>
</html>

is given out. Because it is the index page of default nginx site.

Solution is to set the gitlab nginx config file /etc/nginx/sites-enabled/gitlab as:

server {
  listen *:80 default_server;         # e.g., listen 192.168.1.1:80;
  server_name YOUR_SERVER_FQDN;     # e.g., server_name source.example.com;
  root /home/git/gitlab/public;

A pull request is in progress.



回答2:

From Bitnami wiki

IMPORTANT: It is necessary to enable SSH server to be able to pull your code into the application. The SSH server is disabled by default in the BitNami GitLab Virtual Machine. Check this guide to know how to enable it.

quote again:

For Ubuntu

$ sudo mv /etc/init/ssh.conf.back /etc/init/ssh.conf
$ sudo start ssh

Now it seems like I can't use GitLab without SSH enabled.