2012-02-07 2 views
1

У меня есть сервер Gitolite, на который я нажимаю исходный код моего сайта. Затем сервер клонирует репо в папку веб-сайтов, используя крючок. Я хотел бы иметь возможность изменять файлы в PHP-скрипте на моем веб-сайте, тогда PHP-скрипт автоматически добавляет, фиксирует и переносит эти измененные файлы обратно на сервер Gitolite.Нажатие репо на сервере Gitolite до Gitolite, а также возможность нажать и вытащить с клиента

До сих пор мне удалось добавить и зафиксировать файлы, но я не могу их оттолкнуть. Если я попытаюсь нажать на локальную ссылку на репозиторий, мне сказали, что он не является репо (проблема с правами доступа к файлам, я думаю, что она работает с sudo), и если я попытаюсь нажать через SSH, я не могу укажите закрытый ключ, поскольку я запускаю его под пользователем _www на сервере Lion. Можно ли локально локализовать локальное репо Gitolite?

ответ

1

Идея с нажатием на Gitolite - убедиться, что Gitolite может получить ваш идентификатор, чтобы использовать этот идентификатор с его внутренним файлом конфигурации авторизации.
Использование SSH это хороший способ сделать это (поскольку имя открытого ключа, зарегистрированным в Gitolite будет использоваться в качестве имени идентификатора)

Итак:

  • вы должны убедиться, что _www пользователя уполномоченный нажать на ваш репозиторий
  • вам необходимо иметь открытый/закрытый ключ под ~_www/.ssh будет использоваться вашим нажатием
  • вам нужно добавить открытый ключ _www пользователя gitolite ключей.

В OP enovav комментарии, которые:

  • На Lion Server, то _www пользователь не имеет домашнюю папку.
  • PHP ищет ключи SSH в /Library/WebServer.
  • По умолчанию не удается войти в систему пользователя _www, однако this thread объясняет, как. (chsh -u Admin _www, чтобы изменить оболочку из/bin/false).
  • После этого шаги могут выполняться, как указано выше.
+0

На сервере Lion у пользователя _www нет домашней папки. Я просмотрел журналы PHP и обнаружил, что он действительно ищет ключи SSH в '/ Library/WebServer'. Следующий шаг: создание ключей SSH. Я попытался стать пользователем '_www' в оболочке, набрав' sudo -i -u _www'. Однако это немедленно ничего не возвращало и никаких сообщений не печаталось. После некоторых исследований я нашел [эту тему] (http://ask.metafilter.com/99605/login-as-www-user), в которой объясняется, как войти в систему пользователя '_www' в Mac OS X. I изменил оболочку с помощью команды 'chsh -u Admin _www' и выполнил описанную выше процедуру. – shearnonsense

+0

@enovav Спасибо за этот отзыв. Я включил его в ответ для большей наглядности. – VonC

Смежные вопросы