1

У меня есть вики-система на основе git, у которой есть веб-интерфейс PHP, использующий локальный веб-сервер Apache2. Из PHP я запускаю git commit ... который должен позволять фиксировать изменения, сделанные в вики-файлах. Тем не менее, я должен тянуть и толкать, используя моего пользователя по умолчанию из-за идентификатора пользователя (мой личный файл ключа SSH). Какие разрешения я должен использовать для папки .git и ее содержимого? Если я использую разрешения по умолчанию, apache не может заблокировать индекс и, следовательно, не может зафиксировать изменения.

1 ответ1

1

Вместо того, чтобы запускать команды оболочки из вашего PHP-приложения, я предлагаю начать писать ваше веб-приложение для программного использования Git с использованием библиотеки привязки PHP-Git. Например php-git.

Это имеет много преимуществ, таких как отсутствие необходимости разбора выходных данных командной строки, которые могут измениться в будущем выпуске Git.

Что касается разрешений файловой системы, просто войдите на сервер, на котором работает сервер приложений PHP (например, su -l www-data -s /bin/bash в системах на основе Debian), и создайте пару открытых / закрытых ключей для этого пользователя. , Сохраняйте все права собственности на файл для веб-пользователя для этого клона репозитория.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .