git-http-push ล้มเหลวและส่งคืนรหัส 22


0

ฉันมีเซิร์ฟเวอร์ที่มีUbuntu 18.04และapache2เว็บเซิร์ฟเวอร์ ฉันต้องการโฮสต์โครงการคอมไพล์ของฉันที่นั่นและเข้าถึงพวกเขาผ่านโปรโตคอล http ดังนั้นฉันจึงสร้าง vhost ซึ่งใช้งานได้กับการกำหนดค่าต่อไปนี้:

 <VirtualHost *:80>
    DocumentRoot "/var/www/git"
    ServerName git.example.org
    ServerAlias www.git.example.org

    ErrorLog ${APACHE_LOG_DIR}/git.error.log
    CustomLog ${APACHE_LOG_DIR}/git.access.log combined

    <Directory "/var/www/git">
      #AuthType Basic
      #AuthName "Restricted Content"
      #AuthUserFile /etc/apache2/htpasswd/.htpasswd-default
      #Require valid-user
    </Directory>
</VirtualHost>

ฉันจะได้รับ repo ที่ฉันสร้างขึ้นภายใต้ไดเรกทอรี / var/www/git/example.git ด้วยคำสั่ง:

git clone http://git.example.org/example.git

แต่ในขณะที่ฉันพยายามที่จะผลักดันสิ่งที่ฉันได้รับข้อผิดพลาดดังต่อไปนี้:

error: Cannot access URL http://git.example.org/example.git/, return code 22
fatal: git-http-push failed

นอกจากนี้ฉันได้เพิ่ม git.conf ภายใต้ / etc / apache2 / conf-available แล้วเปิดใช้ a2enconf โดยไม่มีข้อผิดพลาด ไฟล์ประกอบด้วย:

SetEnv GIT_PROJECT_ROOT /var/www/git
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER

<Directory "/usr/lib/git-core*">
  Options ExecCGI Indexes
  Order allow,deny
  Allow from all
  Require all granted
</Directory>

<LocationMatch "^/git/.*/git-receive-pack$">
  AuthType Basic
  AuthName "Git Access"
  AuthUserFile /etc/apache2/htpasswd/.htpasswd-default
  Require valid-user
</LocationMatch>

<Directory /var/www/git>
    AllowOverride None
    Options +ExecCGI -Includes
    Order allow,deny
    Allow from all
</Directory>

ScriptAliasMatch \
    "(?x)^/git/(.*/(HEAD | \
                    info/refs | \
                    objects/(info/[^/]+ | \
                             [0-9a-f]{2}/[0-9a-f]{38} | \
                             pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
                    git-(upload|receive)-pack))$" \
    /usr/lib/git-core/git-http-backend/$1

ScriptAlias /git /usr/lib/git-core/git-http-backend/

ฉันพลาดอะไรไปรึเปล่า?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.