Инструменты пользователя

Инструменты сайта


faq:nastrojka_git_na_shared-xostinge

===== Настройка git на shared-хостинге ===== ==== Описание ==== Есть shared-хостинг с достаточно большим объёмом свободного места. Сильно захотелось расположить там git-репозиторий. И оказывается, это возможно! ==== Требования ==== Требуется хостинг с ОС Unix, доступ к файлам сайта, а также наличие разрешения выполнения **cgi-скриптов**. ==== Решение ==== Закачиваем на хостинг файлы git. Обратите внимание, что версии glib должны совпадать у выбранного вами пакета и библиотекой на сервере, иначе получите ошибку типа <code console> /lib/libc.so.6: version `GLIBC_2.7' not found </code> Для моего хостинга подошёл вот этот архив: [[http://pkgs.org/download/centos-5-rhel-5/rpmforge-i386/git-1.7.5.4-1.el5.rf.i386.rpm.html]] (прямая ссылка: [[http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/git-1.7.5.4-1.el5.rf.i386.rpm]]). Скачиваем, распаковываем: <code console> $ rpm2cpio git-1.7.5.4-1.el5.rf.i386.rpm | cpio -idmv </code> И закачиваем распакованное содержимое (интересуют нас только usr/bin и usr/libexec) на сайт, скажем, в каталог **git-bin**, получаем следующую структуру домашнего каталога сайта: <code> /home/your-site-home/ /home/your-site-home/git-bin/ /home/your-site-home/git-bin/bin/ /home/your-site-home/git-bin/bin/<файлы git> /home/your-site-home/git-bin/libexec/ /home/your-site-home/git-bin/libexec/git-core/ /home/your-site-home/git-bin/libexec/git-core/<файлы git> </code> Создаём каталог для репозиториев, скажем **/home/your-site-home/repos**. Далее создаём скрипт-посредник для исполнения: <code bash> #!/bin/sh exec 2>&1 HOME=/home/your-site-home export GIT_PROJECT_ROOT=$HOME/repos export GIT_HTTP_EXPORT_ALL=1 [ -z "$REMOTE_USER" ] && export REMOTE_USER=$REDIRECT_REMOTE_USER exec $HOME/git-bin/libexec/git-core/git-http-backend </code> Кладём этот скрипт (назовём его **git.cgi**) в каталог cgi-скриптов (cgi-bin). После этого уже можно забирать репозитории (конечно, в каталоге repos уже должен быть bare-репозиторий foo.git) по указанию адреса на подобии http://your-site.tdl/cgi-bin/git.cgi/foo.git Для того, чтобы заработал push, необходимо добавить на сайт basic-авторизацию (чтобы скрипт получал переменную $REMOTE_USER), либо поковырять настройки репозитория. ==== Информация ==== Первичный источник: [[http://www.mobiphil.com/2010/03/git-on-shared-hosting-with-git-http-backend/ | git on shared hosting with git-http-backend]] Источник рабочего примера: [[http://blog.procrastination.nl/2010/10/git-http-backend-on-shared-hosting-with.html | git-http-backend on shared hosting, with push]]

Дискуссия

Enter your comment
 
faq/nastrojka_git_na_shared-xostinge.txt · Последние изменения: 08.07.2011 17:43 (внешнее изменение)

Инструменты страницы