セーフモード対処の設定

Contaoをインストールツールでインストールしようとしたときに、ローカルの構成ファイルに書き込めないという警告が表示される場合があるかもしれません。

ローカルのContaoの構成ファイルに書き込めません

ファイルのアクセス権の問題

「セーフモード対処」という用語は実際には誤解を招く恐れがあります、なぜなら問題がPHPのsafe_modeによって起きると暗に示すためです。しかし、実際はファイルの不十分なアクセス権限により起き、safe_modeが無効であっても起き得るからです。本来は「ファイルアクセス権限対処」と呼ぶべきところでしょう。ApacheのモジュールとしてPHPはwwwrunwww-datanobodyといったユーザーで動作しますが、その一方でFTPでアップロードしたファイルはあなたの(web4ab5678といった)ユーザーのものとなります。このような状況で、これらのファイルにPHPスクリプトがアクセスすることをサーバーは許可しません。

FTPを使用したファイルの操作

権限の問題に対処するために、ContaoはFTP接続を行ってファイルとフォルダーを変更します。このために行わなければならないのは、FTPのログインの詳細をローカルの構成ファイル(system/config/localconfig.php)に入れておかなければなりません。

$GLOBALS['TL_CONFIG']['useFTP']  = true;
$GLOBALS['TL_CONFIG']['ftpHost'] = 'domain.com';
$GLOBALS['TL_CONFIG']['ftpPath'] = 'httpdocs/';
$GLOBALS['TL_CONFIG']['ftpUser'] = 'ab5678';
$GLOBALS['TL_CONFIG']['ftpPass'] = '********';

上記のログインの詳細をあなた固有のものと置き換えてください。そして、特にftpPathを入力するときにFTPのルートディレクトリからContaoのフォルダーの相対パスであることに注意してください。(例: html/public_hjtml/httpdocs/) 通常、FTPのルートパスはドキュメントルートのパスと同一ではありません!

書き込み権限の設定

明らかにContaoに同梱している第三者のプラグインはセーフモード対処を使用していません。このため、いくつかのフォルダーを調整して書き込みを許可する権限を与えなければなりません。FTPのプログラムやSSHの端末を使用して、以下のフォルダーを書き込み可能(CHMOD 777)にしてください。チュートリアルやフォーラムで見たことに関わらず、セーフモード対処を使用するときは、これらの3つのフォルダーだけ変更が必要です!

  • system/html
  • system/logs
  • system/tmp

バージョン2.7.3からは、これらのフォルダーの権限は自動的に設定されるはずです。

FTP接続の確認

正しいくftpPathを設定したかどうか確認するには、Check FTP connectionのボタンをクリックしてください。(訳注: これは図のようにTYPOlight 2.7の記述です。)

ContaoのFTP確認