Aegirを使用して展開されたサイトのファイルパスを変更する最良の方法は何ですか?
Aegirは、ファイルパスが次の形式で示されているサイトをインストールします。
sites/<sitename>/files
(このパスは、サイトのプラットフォームからの相対パスです)
これをNASマウント、たとえば/var/nasmount
にマウントする]に変更する最良の方法は何ですか?たとえば、firstsite.comというサイトの場合、ファイルパスは次のようになります。
/var/nasmount/firstsite.com/files
/var/nasmount/firstsite.com/files/tmp
など、サイトのApache confファイル内の対応するエントリ。
これらの行は/var/aegir/.drush/provision/platform/provision_drupal_settings.tpl.phpに表示されますが、これは「コア」Aegirからのものであるため、ここでは変更しません(そうする場合)。
$conf['file_directory_path'] = 'sites/<?php print $this->uri ?>/files';
$conf['file_directory_temp'] = 'sites/<?php print $this->uri ?>/files/tmp';
これは次の場所で行う必要があります:
理想的には、この変更は一度だけ行われるので、Aegirを介して展開されたすべてのサイトでこれが適切に行われ、これらの変更はサイトやプラットフォームの再検証プロセスに耐えます。
ありがとう!
答えはmv siltes/firstsite.com/filesを/ var/nasmountにして、それにシンボリックリンクを作成することです。
(sites/firstsites.comディレクトリ内から、mkdir /var/nasmount/firstsite.com
、mv ./files /var/nasmount/firstsite.com
、ln -s /var/nasmount/firstsite.com/files files
)。
これをスクリプトに入れて、drushコマンドになるようにし、aegirの最後に実行してサイトプロセスを作成します。
私はこのスクリプトをどこに配置するか、どのように作成するかについての専門家ではありません。
/var/aegir/config/includes/global.incを編集して、次のように配置します。
<?php
$conf['file_directory_path'] = '/var/nasmount/<?php print $this->uri ?>/files';
$conf['file_directory_temp'] = '/var/nasmount/<?php print $this->uri ?>/files/tmp';
これはすべてのサイトにグローバルに適用されます。この変更を1つまたは2つのサイトに対してのみ行う場合は、サイトのディレクトリ(settings.phpと同じレベル)に「local.settings.php」という新しいファイルを作成し、そこに変更を加えます。
これは、テンプレートをハッキングしたり、シンボリックリンクでシステムを台無しにしたりすることなく、これを行う最良の方法です。
http://community.aegirproject.org/node/71 にあるドキュメントも参照してください
Mig5が提案していて、edit /var/aegir/config/includes/global.incを編集し、サイトが(Aegirマスターではなく)リモートサーバーで実行されている場合は、さらにリモートサーバーで/ configの変更を同期するために、Aegirでリモートサーバーを確認します。