3

My username (let’s call it my_name) belongs to the Apache group which is owner of var/www/html directory, sub-directories and files contained within.

In that directory I installed Wordpress. Directories and files permissions are set to 0775 (yeah, I know the files should have 644, but it is not a factor for now).

Well, my username has writing permissions indeed, because I am able to create new files or directories, as well as delete them, by using SSH terminal or WinSCP.

The problem comes up when I run a post-receive hook of a bare git repository, no matter if by running the script or by pushing changes from the local working repository.
In any scenario, the post-receive hook does not work because of permission denied. Really strange and I cannot understand why.

Could you help me please?

Edit: This is the output of ls -alrth ~/git/devsite.git/hooks directory:

-rwxrwxr-x 1 name apache  896 Apr  2 22:41 commit-msg.sample
-rwxrwxr-x 1 name apache  727 Apr  7 09:09 post-receive
-rwxrwxr-x 1 name apache  189 Apr  2 22:41 post-update.sample
-rwxrwxr-x 1 name apache  398 Apr  2 22:41 pre-applypatch.sample
-rwxrwxr-x 1 name apache 1704 Apr  2 22:41 pre-commit.sample
-rwxrwxr-x 1 name apache 1239 Apr  2 22:41 prepare-commit-msg.sample
-rw-rw-r-- 1 name apache 1348 Apr  2 22:41 pre-push.sample
-rwxrwxr-x 1 name apache 4951 Apr  2 22:41 pre-rebase.sample
-rwxrwxr-x 1 name apache 3611 Apr  2 22:41 update.sample

This is the post-receive script:

#!/bin/sh
TARGET=/var/www/html/wp-content
GIT_DIR=/home/name/git/devsite.git

#run 'post-receive' hook
git --work-tree=$TARGET --git-dir=$GIT_DIR checkout -f
R99Photography
  • 71
  • 1
  • 2
  • 10

1 Answers1

0

Try again after a

cd /path/tp/bare/repo
git config core.sharedRepository true

I mentioned it before in "Permissions with Git Post-Receive".

In the OP's instance, the post-receive script is not placed properly: it should be in ~/git/devsite.git/hooks, not ~/git/devsite.git.

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250