You’ve got a VPS or some other managed (re: non-shared/reseller) server where httpd runs under the user
apache. Apache, however, isn’t an active user, so you can’t upload your files in that name, resulting in an eventual “403: Forbidden” error on the front end.
There are probably better, more secure alternatives, but you can add your user to the
apache group and then use
setfacl to allow users in that group access to the folder. From then on, you can FTP,
git push, etc, to your heart’s content!