centos7을 사용하고 있으며 Apache 2.4.x를 설치하고 vsftpd도 설치하고 xxx.com 사용자를 구성했습니다
루트 디렉터리 /var/virtual/xxx.com/public_html, 사용자 디렉터리 /var/virtual/xxx.com
/var/virtual/xxx.com/public_html의 소유자를 Apache로 설정하면 접근이 가능합니다.
하지만 vsftpd는 로그인이 되지 않습니다. 사용자 이름을 xxx.com으로 변경하면 vsftpd는 로그인이 가능합니다. 그런데 Apache 접속시 403 프롬프트가 나타납니다.
1) selinux가 종료되었습니다
2) xxx.com과 apache 사용자는 모두 동일한 사용자 그룹 apache 사용자 그룹 GID = 48
DocumentRoot를 수정했으므로 /var/virtual/xxx.com/public_html apache 디렉토리 4개에 액세스 권한이 있는지 확인해야 합니다
chmod o+x /var
chmod o+x /var/virturl
chmod o+x /var/virturl/xxx.com
chmod o+x /var/virturl/xxx.com/public_html
오래되고 거친 FTP를 버리고 git이나 SFTP를 통해 배포하는 것이 좋습니다.
ftp 구성에 문제가 있나요?
저는 오랫동안 FTP를 사용하지 않았고 기본적으로 git 배포를 장려하고 있습니다.
chcon -R -t httpd_user_content_t public_html/ <path to web files>
chcon -R -t httpd_sys_content_t <path to web files>