Hi,
After looking into your suggestion, I use HTTPS to connect the remote repo and it works.
It seems like the apache user really does not have the right to have a shell enabled. So I change the user and group to run httpd. And It works too.
Thanks a lot!