Назад | Перейти на главную страницу

Автоматически предоставлять Apache права на запись для вновь добавленных файлов клонов git (-R g + rw)

У меня проблема с тем, чтобы разрешить Apache автоматически иметь доступ на запись к файлу .htaccess, извлекаемому из репозитория git.

Вот мой процесс:

Я вошел в систему как недавно созданный пользователь "webadmin", который был добавлен в группу"Apache"(я использую CentOS, поэтому он эквивалентен www-data) и я создал пустой каталог:

/var/www/html/test

Я убедился, что в этом каталоге я сделал следующее:

$ umask 002 
$ chown -R apache:apache /var/www/html/test
$ chmod -R g+rw /var/www/html/test 

Это необходимо, чтобы убедиться, что каталог принадлежит группа "Apache", а так как мой пользователь "webadmin"является частью этой группы, я предполагаю, что все, что я добавлю с этим пользователем, также будет доступно для записи Apache пользователь (скрипты php).

Все еще использую webadmin пользователя, затем я запускаю

git clone myrepo.git .

Что перетаскивает файлы моего сайта WordPress в каталог. В него включен файл .htaccess. Этот файл должен быть доступен для записи WordPress, чтобы он мог изменять правила. Все удаленные файлы принадлежат webadmin с группой Apache.

По какой-то причине файл .htaccess по умолчанию недоступен для записи с помощью apache, пока я снова не запустил:

$ chmod -R g+rw /var/www/html/test 

Зачем мне снова запускать эту команду? Есть ли способ сделать так, чтобы этот файл мог автоматически записываться в apache, когда он удаляется, без необходимости запускать -R g+rw команда?

Ваша потребность прямо противоположна это сообщение stackoverflow. Короче говоря, вы можете:

  • Установите umask соответствующим образом (предположительно, на 002, согласно вашему сообщению) перед запуском git
  • Добавьте сценарий ловушки git, чтобы изменить права доступа к файлу после клонирования.

Первый выбор, как правило, сделать проще.