1

Claroline Web サイトを管理したい (Symfony 2 ベース)。したがって、私のサイト mysymfony.com では、ユーザー「theclient」にインストールされています

1 - 0 クライアントを www-data グループに追加しました: adduser theclient www-data

1 – 1 - 変更された /etc/hosts :

127.0.0.1   mysymfony.com

1 – 2 - 作成された仮想ホスト /etc/apache2/sites-available/mysymfony.com :

<VirtualHost *:80> 
        ServerName mysymfony.com 
        DocumentRoot /var/www/mysymfony.com 
        <Directory /var/www/mysymfony.com/> 
                Options -Indexes 
                AllowOverride all 
                Order allow,deny 
                allow from all 
        </Directory> 
        ErrorLog ${APACHE_LOG_DIR}/error.log 
</VirtualHost> 

1 – 3 - 有効:a2ensite mysymfony.com

1 – 4 - サーバーのリロード:service apache2 reload

1 – 5 - var/www へのリンク:

ln -s /home/theclient/www/mysymfony.com/ /var/www/mysymfony.com 

次に、ルート I として:

1 – 6 - 所有権の変更:chown -hR theclient:www-data /home/theclient/www/mysymfony.com

1 – 7 - 権限の変更: chmod -R 755 /home/theclient/www/mysymfony.com および書き込み可能なディレクトリとファイル:

chmod 775 app/cache/ app/logs/ app/config/ files/ templates/ vendor/ web/
chmod -R 775 app/cache/ app/logs/ vendor/ web/ 
chmod 775 composer.json composer.lock app/config/bundles.ini app/config/parameters.yml app/config/platform_options.yml

この構成により、Web サイトを正しくインストールできます (Web インストーラーまたはコンソール ベースを使用)。

プラグインをルートとしてインストールする場合、プラグイン ディレクトリ、そのコンテンツ、すべての Symfony 構成ファイルとキャッシュ ファイルは root:root => やり直す必要があります:chown -hR theclient:www-data /home/theclient/www/mysymfony.com アップロードされたファイルは www-data:www-data に属しますただし、ユーザー theclient からのスクリプトでは実用的ではありません。(root として) キャッシュをフラッシュするときに、ファイル/ディレクトリの所有権に関する同じ「問題」が発生します。

バグではありませんが、このサイトを毎日管理できるようにしたい場合 (プラグインの開発/試行/インストール、キャッシュのフラッシュ、アップグレード...)

だから私の質問は、この種のウェブサイトを設定する「正確な」方法(権利/所有権、管理...)を提供してもらえますか?

「chown」と「chmod」は、初期設定以外で使用する必要がありますか? ありがとうございました

4

3 に答える 3

1

この問題を解決するには、公式ドキュメントに概説されている 4 つの正確な方法があります: http://symfony.com/doc/current/book/installation.html#running-the-symfony-application 「パーミッションの設定」まで下にスクロールするだけです :)

于 2015-01-28T15:23:35.060 に答える
0

わかりました、私は今あなたの問題を見ます。それはあなたのウェブサーバーのセットアップです。

symfony をクライアントとして実行するのではなく (php-cli ではなく Web サーバー php で使用する場合)、ユーザー www-data として実行します。Apache と mod_php を使用していると思いますか? これは一般的に悪い考えです。次の 2 つの解決策があります。

  1. 現在の設定を維持しますが、php-cli (composer および symfony コマンド) を www-data として実行する必要があり、多くのファイルが www-data:www-data によって所有されますが、それは問題ではありません。 www-data グループにあり、これらのファイルを読み書きできます。ただし、これは良い方法ではありません (openbase_dir に依存する必要があります。そうしないと、クライアントがすべての www-data ファイルを読み取ることができます)。
  2. Apache + mod_proxy_fcgi + php-fpm を使用するように Web スタックを変更すると、正しいユーザーとして php を実行でき、すべての問題 (および mod_php のその他の多く) がなくなります。php-fpm のインストール方法に関する優れたチュートリアルがあります: https://wiki.apache.org/httpd/PHP-FPM
于 2015-01-30T12:31:51.997 に答える