plesk 환경에서 Symfony 애플리케이션을 성공적으로 실행할 수 있는 사람이 있습니까?
저는 plesk 관리를 처음 접했고 지금까지 Apache/Nginx를 사용하여 가상 호스트를 직접 구성해 왔습니다. 방금 WordPress 사이트 대부분을 문제 없이 plesk로 옮겼으며 Laravel 5.7 프로젝트도 문제 없이 실행할 수 있습니다. 그런데 심포니 프로젝트가 나에게 문제를 일으키고 있다.
Symfony 4에는 PHP 7.1이 필요하다는 것을 읽었습니다. 나는 7.0에서 7.4(fpm/cgi)까지 가능한 모든 PHP 버전에서 실행해 보았습니다. 저는 Plesk 18 Obsidian을 사용하고 있습니다.
방금 Symfony라는 폴더 내의 내 도메인 홈 디렉터리에 프로젝트 파일의 압축을 풀고 httpdocs 형식으로 PUBLIC 폴더에 대한 심볼릭 링크를 만들었지만 작동하지 않고 항상 403 페이지가 표시됩니다.
편집: 또한 httpdocs 폴더에 직접 압축을 풀고 호스팅 설정에서 루트 디렉터리를 /httpdocs/public으로 변경하려고 시도했지만 비밀번호로 보호된 영역인 것처럼 비밀번호에 내 사용자 이름을 계속 묻습니다.
답변1
제 경우에는 Deployer를 사용하여 Symfony를 Plesk 환경에 배포했습니다. 추가하는 대신 Options +FollowSymLinks
(필요하지 않음) 배포 경로의 디렉터리 구조 내에서 파일 권한을 올바르게 설정합니다.
find /var/www/vhosts/example.com/httpdocs -type d -exec chmod 0755 {} +
find /var/www/vhosts/example.com/httpdocs -type f -exec chmod 0644 {} +
또는 Deployer 작업에서 다음을 수행합니다.
desc('Change Files And Folder Permissions');
task('deploy:permissions', function () {
run('find {{ deploy_path }} -type d -exec chmod --silent 0755 {} +');
run('find {{ deploy_path }} -type f -exec chmod --silent 0644 {} +');
});
내가 받고 있는 오류는 약간 신비스럽습니다( AH00037: Symbolic link not allowed or link target not accessible: /var/www/vhosts/example.com/httpdocs
). "심볼릭 링크는 허용되지 않습니다"라는 말에 당황했지만 문제는 "링크 대상에 접근할 수 없습니다" 부분이었습니다.