500 Внутренняя ошибка сервера с пустым git-репо после перехвата после получения

0

Я думаю, что это последний вопрос, который у меня возникает с настройкой Git на этом выделенном сервере (с cpanel).

Я создал голый репо на своем ПК, разместил его на сервере: /home/cpaneluser/git-repos/

Отредактировано /home/cpaneluser/git-repos/myproject.git/hooks/post-receive и это содержимое:

#!/bin/sh
GIT_WORK_TREE=/home/cpaneluser/public_html GIT_DIR=/home/cpaneluser/git-repos/myproject.git git checkout -f

Я дал ему разрешение 0764, чтобы владелец мог его выполнить. Кажется, что он выполнен отлично, потому что он фактически помещает файлы моего репо в мою директорию public_html, как и ожидалось.

Затем я перехожу к домену в своем браузере и получаю внутреннюю ошибку сервера с его общим, бесполезным сообщением об ошибке The server encountered an internal error or misconfiguration and was unable to complete your request.

Что действительно странно, если я вручную отредактирую файл index.php, расположенный в webroot 'public_html', он, похоже, волшебным образом исправит все. Однако, сделав это редактирование, вы перестанете синхронизировать репо с моим локальным концом.

Кто-нибудь знает, почему я получаю ошибку интернет-сервера после запуска "post-receive" hook, который выполняет checkout -f. И как я могу это исправить?

Спасибо.

  • 0
    @PaulCrovella Найден один в suphp_log: [Fri Jan 16 17:27:08 2015] [warn] File "/home/cpaneluser/public_html/index.php" is writeable by group . Файлы создаются с 0664, когда они должны быть 0644. Так что теперь я думаю, почему файлы создаются с неправильными разрешениями и как это исправить?
  • 0
    Крюк после получения должен быть установлен в Umask. В начале скрипта я добавил: umask 0022 и он создал файлы с разрешениями 0644, и теперь внутренняя ошибка сервера исчезла. Работает отлично сейчас! - @PaulCrovella, если вы хотите отправить его как ответ, я приму это для вас;)
Показать ещё 1 комментарий
Теги:
centos
cpanel

1 ответ

0
Лучший ответ

Добавление umask 0022 разрешило мои проблемы с разрешением.

#!/bin/sh
umask 0022
GIT_WORK_TREE=/home/cpaneluser/public_html GIT_DIR=/home/cpaneluser/git-repos/myproject.git git checkout -f

Ещё вопросы

Сообщество Overcoder
Наверх
Меню