From: Andreas Ericsson Date: Sat, 22 Nov 2008 11:12:49 GMT Subject: Re: How to setup a public reposistory? Message-ID: <4927E931.3080802@op5.se> In-Reply-To: <354563.49837.qm@web37901.mail.mud.yahoo.com> Gary Yang wrote: > I followed the steps outlined by the links below. But, I am still not able to setup the public repository. I got, fatal: unable to connect a socket (Connection refused). What I did wrong? Please help. > > http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#setting-up-a-public-repository > http://dtcsupport.gplhost.com/Git/Public-Repo-Howto > > 0. Prepare your name and email address > cat ~gyang/.gitconfig > [user] > email = gyang@mycompany.com > name = Gary Yang > > > 1. Create an archive to send to the server > > /home/gyang% git clone http://git.gplhost.com/dtc-xen.git > > /home/gyang% git clone --bare dtc-xen dtc-xen.git > > /home/gyang% touch dtc-xen.git/git-daemon-export-ok > > /home/gyang% tar -cvzf dtc-xen.git.tar.gz dtc-xen.git > > > 2. Install the archive on the web server > > /pub/git% tar -xvzf /home/gyang/dtc-xen.git.tar.gz > > /pub/git/dtc-xen.git% git --bare update-server-info > > /pub/git/dtc-xen.git% mv hooks/post-update.sample hooks/post-update > > /pub/git/dtc-xen.git% chmod +x hooks/post-update > > /pub/git/dtc-xen.git% cat hooks/post-update > #!/bin/sh > # > # An example hook script to prepare a packed repository for use over > # dumb transports. > # > # To enable this hook, rename this file to "post-update". > > exec git-update-server-info > > > 3. Configure and start git daemon at the web server > > /pub/git/dtc-xen.git% grep 9418 /etc/services > git 9418/tcp # Git Version Control System > > > /pub/git/dtc-xen.git% sudo git daemon --verbose --inetd --export-all /pub/git & > You shouldn't give "--inetd" when starting from command line. Do like this: sudo git daemon --detach --verbose --export-all --base-path=/pub/git Then clone dtc-xen.git using the following command: git clone git://git.mycompany.com/dtc-xen.git test-git > > 4. At my local machine. I did > > /home/gyang% git clone git://git.mycompany.com/pub/git/dtc-xen.git test-git > > Initialized empty Git repository in //home/gyang/test-git/.git/ > git.mycompany.com[0: 10.66.4.168]: errno=Connection refused > fatal: unable to connect a socket (Connection refused) > > > ps -efww | grep git > root 9626 22321 0 11:31 pts/1 00:00:00 git-daemon --verbose --inetd --export-all /pub/git > Yes, it's waiting for input from stdin, which is what "--inetd" does to a process. Do what I told you above and it'll work just grand. For further troubleshooting, here are some things to try before asking about git-daemon again: ping git.mycompany.com # should show reasonable response times nc git.mycompany.com 9418 # should give "connection refused", or there's a bug somewhere ip=$(host git.mycompany.com | sed -n 's/.*has address //p'); echo $ip # should list the proper ip address ssh root@git.mycompany.com "ip addr show | grep 'inet $ip'" # should list one ip-address ssh root@git.mycompany.com "ps -efww | grep git-daemon" # should list one process ssh root@git.mycompany.com "netstat -tpan | grep 0.0.0.0:9418" # should list the git-daemon ssh root@git.mycompany.com "grep git-daemon /var/log/messages" # might show error messages from git-daemon -- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231