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
)。 「シンボリックリンクは許可されていません」という言葉に戸惑いましたが、問題は「リンク先にアクセスできません」の部分でした。