You are not logged in.

#1 2016-01-18 21:49:52

Izzette
Member
Registered: 2015-10-02
Posts: 25

Smart Git over HTTP with Apache fails

Authentication succeeds, but returns 404.

Client:

 0x00 ✓ user@localhost tmp $ git clone http://izzette.com/git/bindiff.git
Cloning into 'bindiff'...
Username for 'http://izzette.com': izzi
Password for 'http://izzi@izzette.com': 
fatal: repository 'http://izzette.com/git/bindiff.git/' not found

Access Log:

cl.ie.nt.ip - - [18/Jan/2016:15:36:21 -0600] "GET /git/bindiff.git/info/refs?service=git-upload-pack HTTP/1.1" 401 1260
cl.ie.nt.ip - - [18/Jan/2016:15:36:27 -0600] "GET /git/bindiff.git/info/refs?service=git-upload-pack HTTP/1.1" 401 1260
cl.ie.nt.ip - izzi [18/Jan/2016:15:36:27 -0600] "GET /git/bindiff.git/info/refs?service=git-upload-pack HTTP/1.1" 404 -

conf/httd.conf

ServerRoot "/etc/http"
Listen 80
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule socache_dbm_module modules/mod_socache_dbm.so
LoadModule socache_memcache_module modules/mod_socache_memcache.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule include_module modules/mod_include.so
LoadModule filter_module modules/mod_filter.so
LoadModule mime_module modules/mod_mime.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule env_module modules/mod_env.so
LoadModule headers_module modules/mod_headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_express_module modules/mod_proxy_express.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
<IfModule !mpm_prefork_module>
  LoadModule cgid_module modules/mod_cgid.so
</IfModule>
<IfModule mpm_prefork_module>
	LoadModule cgi_module modules/mod_cgi.so
</IfModule>
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
<IfModule unixd_module>
User http
Group http
</IfModule>
ServerAdmin isabellcowan@gmail.com
<Directory />
    AllowOverride none
    Require all denied
</Directory>
DocumentRoot "/home/http"
<Directory "/home/http">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
<Files ".ht*">
    Require all denied
</Files>
ErrorLog "/var/log/httpd/error_log"
LogLevel warn
<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "/var/log/httpd/access_log" common
</IfModule>
<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/home/http/cgi-bin/"
</IfModule>
<IfModule cgid_module>
    Scriptsock cgisock
</IfModule>
<Directory "/home/http/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>
<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddHandler cgi-script .cgi
</IfModule>
Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-multilang-errordoc.conf
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-languages.conf
Include conf/extra/httpd-userdir.conf
Include conf/extra/httpd-dav.conf
Include conf/extra/httpd-git.conf
Include conf/extra/httpd-default.conf
<IfModule proxy_html_module>
Include conf/extra/proxy-html.conf
</IfModule>
Include conf/extra/httpd-ssl.conf

conf/extra/httpd-git.conf

<Directory "/usr/lib/git-core*">
    Require all granted
</Directory>
SetEnv GIT_PROJECT_ROOT /home/http/git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAliasMatch /git /usr/lib/git-core/git-http-backend/
<Location "/git">
  Options +ExecCGI
  Dav on
  AuthType Basic
  AuthName "Git Access"
  AuthUserFile /etc/httpd/passwd.git
  Require valid-user
  Order allow,deny
  Deny from env=AUTHREQUIRED
  Satisfy any
</Location>

Offline

#2 2016-01-18 23:30:31

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,776

Re: Smart Git over HTTP with Apache fails

Is your /etc/httpd/passwd.git valid?


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

#3 2016-01-18 23:50:16

Izzette
Member
Registered: 2015-10-02
Posts: 25

Re: Smart Git over HTTP with Apache fails

Yes, and authentication appears to be successful.  If I give a bogus username or password I get a different error.

Offline

#4 2016-01-19 00:20:39

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,776

Re: Smart Git over HTTP with Apache fails

What about the repo? Have you created a bare git repository at /home/http/git/bindiff.git/ and does the apache user have proper permissions.

Last edited by Slithery (2016-01-19 00:23:09)


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

#5 2016-01-19 00:50:35

Izzette
Member
Registered: 2015-10-02
Posts: 25

Re: Smart Git over HTTP with Apache fails

Yeah I've initialized a bare git repository there.  I've pushed a single commit to it over ssh.  If I don't "Include conf/extra/httpd-git.conf", then I can browse all the repository files normally over http.  I have also set it up over git protocol at git://izzette.com/bindiff.git and I can clone it just fine.  /srv/git is a symlink to /home/http/git, I've used setfacl to allow read and write permissions for the users and/or groups of all the project members, http, and git where appropriate.

Last edited by Izzette (2016-01-19 00:54:48)

Offline

#6 2016-01-19 03:31:28

Izzette
Member
Registered: 2015-10-02
Posts: 25

Re: Smart Git over HTTP with Apache fails

I didn't notice this before.  Here is the error log:

[Mon Jan 18 21:28:44.180859 2016] [access_compat:error] [pid 1717] [client cl.ie.nt.ip:41118] AH01797: client denied by server configuration: /usr/lib/git-core/git-http-backend
[Mon Jan 18 21:28:48.376111 2016] [access_compat:error] [pid 2340] [client cl.ie.nt.ip:41120] AH01797: client denied by server configuration: /usr/lib/git-core/git-http-backend
[Mon Jan 18 21:28:48.384903 2016] [access_compat:error] [pid 2340] [client cl.ie.nt.ip:41120] AH01797: client denied by server configuration: /usr/lib/git-core/git-http-backend
[Mon Jan 18 21:28:48.422040 2016] [cgi:error] [pid 2340] [client cl.ie.nt.ip:41120] AH01215: Request not supported: '/home/http/git/': /usr/lib/git-core/git-http-backend

Last edited by Izzette (2016-01-19 03:32:02)

Offline

#7 2016-01-19 03:33:55

Izzette
Member
Registered: 2015-10-02
Posts: 25

Re: Smart Git over HTTP with Apache fails

http://izzette.com/izzi/php/info.php

Last edited by Izzette (2016-01-20 02:03:28)

Offline

Board footer

Powered by FluxBB