Git http-backend не работает на Apache/Xampp для Windows

Я везде искал ответ на свою проблему, но я не смог найти ничего, связанного с моей конкретной проблемой, так что вот и я.

По сути, я не могу получить доступ к своему хранилищу или заставить работать git-http-backend с помощью apache. Когда я набираю git http-backend в своей папке git через git-bash, я получаю следующий вывод:

$ git http-backend
fatal: No REQUEST_METHOD from server
Status: 500 Internal Server Error
Expires: Fri, 01 Jan 1980 00:00:00 GMT
Pragma: no-cache
Cache-Control: no-cache, max-age=0, must-revalidate

Кажется, я не могу найти что-либо об этой проблеме выше, и я сделал все возможное, чтобы настроить apache так, чтобы были включены mod_cgi, mod_env и mod_alias.

Вот мой файл httpd-vhosts.config:

<VirtualHost *:80>
    ServerName www.example.com
    DocumentRoot "C:/git_folder.git/"

    <Directory "C:/git_folder.git/">
        AllowOverride none
        Require all granted
    </Directory>

    SetEnv GIT_PROJECT_ROOT "C:/git_folder.git/"
    SetEnv GIT_HTTP_EXPORT_ALL
    SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
    ScriptAlias /git/ "C:/Program Files/Git/mingw64/libexec/git-core/git-http-backend.exe"
    #ScriptAliasMatch \
    #    "(?x)^/(.*/(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))$" \
    #    "C:/Program Files/Git/mingw64/libexec/git-core/git-http-backend.exe/$1"
    <Directory "C:/Program Files/Git/mingw64/libexec/git-core">
        Options +ExecCGI -MultiViews +FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
</VirtualHost>

Кроме того, вот часть моего файла httpd.conf

ServerRoot "C:/xampp/apache"
Listen 80
----------------------------------------
LoadModule alias_module modules/mod_alias.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule env_module modules/mod_env.so
----------------------------------------
Include conf/extra/httpd-vhosts.conf

После запуска сервера xampp в Windows 10 я также попытался настроить свой каталог git, выполнив следующие действия в "C:\git_folder.git\" с помощью git-bash:

$ mkdir git_subfolder.git
$ cd git_subfolder.git
$ git init --bare --shared
$ cp hooks/post-update.sample hooks/post-update
$ git update-server-info

К сожалению, это, похоже, тоже ничего не делает, независимо от того, использую я закомментированный или незакомментированный код в предыдущем примере. Когда я захожу на страницу " http://www.example.com/git/git_subfolder.git", я получаю сообщение "Ошибка 403 - запрещено". Аналогично, используя следующую команду на одном из моих клиентских компьютеров, я получаю вывод ниже:

$ git remote set-url origin 
"http://www.example.com/git/git_subfolder.git"
fatal: Not a git repository (or any of the parent directories): .git

Я не верю, что это проблема с моим доменным именем, так как я правильно настроил это в файле hosts в Windows, и когда я помещаю только пример.html-файла в корневой каталог, это прекрасно отображается, когда я захожу http://www.example.com/ как в моей локальной сети, так и через Интернет (примечание: www.example.com не является моим настоящим доменным именем). Однако, если кто-нибудь знает, где я ошибаюсь с моей конфигурацией git, я буду искренне благодарен.

0 ответов

Другие вопросы по тегам