オプション設定
From LimeSurvey Manual
以下のセクションでは、LimeSurveyのGUI(グラフィカルユーザーインターフェイス)によって変更できない設定を編集したい人を対象に説明します。LimeSurveyのルートディレクトリからの変更はすべて自己責任で行ってください。ただ、問題が生じ、さらなるガイダンスが必要な場合は、ディスカッションフォーラムやIRCチャンネルに参加してLimeSurveyコミュニティの助けを借りてください。
はじめに
設定を変更するには、オプションの設定を編集する必要があります。これらは、LimeSurveyのルートディレクトリーにある、/application/config/config-defaults.phpにあります。標準インストールの既定の設定は、config-defaults.phpにあります。グローバル設定ダイアログを使用して上書きできるものもありますが、そうでないものは手動で編集する必要があります。
アップグレードが行われると、config-defaults.php設定だけが変更されます。したがって、config.phpファイルを編集すると、カスタマイズした設定が保存されます。
/application/config/config.phpにあるLimeSurvey設定を更新/追加するには、config配列を更新します。
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'LimeSurveySetting'=>'New value', // ここでLimeSurveyの既定の設定を更新します。
)
Yii設定
LimeSurveyは、application/config/config.phpファイルに独自の設定パラメータを持つYiiフレームワークを使用します。LimeSurveyの設定は、Yii設定を介してアクセスすることもできます。
config.php配列はconfig全体にマージされるので、config.phpファイル内のYiiパラメータを置き換えることができます。
Yii固有の設定はcomponents配列に設定されています。
'components' => array(
'db' => array(
....
),
'Specific settings'=>array(
....
),
),
データベース設定
データベース設定は、LimeSurveyを初めてインストールするときにインストーラファイルによってconfig.phpに書き込まれます。必要に応じて、config.phpファイルのこの部分を更新することができます。これはあなた自身の責任で行ってください。 Yiiのドキュメントも参照してください。LimeSurveyは、mysql、pgsql、dblib、mssql、sqlsrvのみをサポートしています。
セッション設定
config.phpにいくつかのセッションパラメータを設定することができます(以下の2つの例を確認してください)。config.phpに必要な部分をコメントアウトしたり追加したりすることができます。その他の設定については、Yiiのドキュメントを参照してください。
テーブルベースのセッションを使用する
LimeSurveyはテーブルベースのセッションを使うことができます。テーブルベースのセッションを使用するには、既定のconfig.phpファイルでコメント部分を見つけ、各行の前にある//を削除します。
'session' => array (
'class' => 'application.core.web.DbHttpSession',
'connectionID' => 'db',
'sessionTableName' => '{{sessions}}',
),
その他のセッションに関する修正
LimeSurveyにSSL('https')を使用する場合は、config.phpに次の行を追加すると、セッションのセキュリティが向上します。
// SSL経由でcookieを設定
'session' => array (
'cookieParams' => array(
'secure' => true, // cookieにSSLを使用する
'httponly' => true // cookieは他のプロトコルで使用できない(実験的)
),
),
Cookieのドメインを修正する場合は、config.phpで次の構文を使用します。
// cookieのドメインを指定
'session' => array (
'cookieParams' => array(
'domain' => '.example.org',
),
),
同じサーバーに複数のインストールしている場合は、LimeSurveyのインスタンスごとに異なるセッション名を設定する方が簡単です。これは、IE11においていくつかの条件で必要となることがあります(issue 12083を参照)。
// Set the name of the session
'session' => array (
'sessionName' => "LimeSurveyN1",
),
リクエストの設定
リクエストの設定は重要ですが、デフォルト設定はLimeSurveyの使用に合わせて既に最適化されています。詳細については、Yiiドキュメントを参照してください。
たとえば、LimeSurveyリクエスト設定の設定は、次のように変更することができます(自己責任で行ってください)。
// CSRF保護を無効にする
'request' => array(
'enableCsrfValidation'=>false,
),
// 特定のURLベースを強制する
'request' => array(
'hostInfo' => 'http://www.example.org/'
),
// CSRF保護のためのCookieドメイン名とパスを設定します。パスは同じドメインに別のインスタンスがある場合に使います。
'request' => array(
'csrfCookie' => array(
'domain' => '.example.com',
'path' => '/limesurvey/',
)
),
トークン電子メールのURLのみを更新する必要がある場合は、config.phpファイルでpublicurlを設定してください。
iFrameでセッションとCsrf検証の使用を許可する (3.24.3 から追加)
Iframeの組込を許可した場合、いくつかの構成部分を更新する必要があります。すべての設定においても、iframeのフォームを許可するとブラウザーによっては壊れてしまうことに注意してください。この設定はFirefox 81.0.2およびChromium 85.0.4183.121でテストされました。
iframeでのセッション開始を許可する
sessionはsecure(有効なhttps)、httponlyとし、samesiteはNoneにする必要があります。すべての設定はすべて小文字にする必要があります。
'session' => array (
'sessionName'=>'LS-VBXZZORFJZCAKGYI',
// テーブルベースのセッションが必要な場合は、以下の行をコメントアウトします。
// 注意: テーブルベースのセッションはMSSQLサーバーでは現在サポートされていません。
// 'class' => 'application.core.web.DbHttpSession',
// 'connectionID' => 'db',
// 'sessionTableName' => '{{sessions}}',
'cookieParams' => array(
'secure' => true,
'httponly' => true,
'samesite' => 'None',
),
),
iframeでcsrf cookieを許可する
sessionと同様、secureとし、samesiteはNoneにします。配列はsessionと同じレベルに追加する必要があります。
'request' => array(
'enableCsrfValidation'=>true,
'csrfCookie' => array(
'sameSite' => 'None',
'secure' => true,
),
),
URL設定
既定のURL設定を変更するには、urlManagerを更新します。
// Use short URL
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
),
アンケートIDの後に次のように.htmlを追加することもできます。
// Use short URL
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array (
'<sid:\d+>' => array('survey/index','urlSuffix'=>'.html','matchValue'=>true),
),
'showScriptName' => false,
),
詳細は、Yiiのドキュメントを参照してください。
ロギング設定
Yiiは、ログを生成するさまざまなソリューションを提供します。詳細については、ロギングについてをチェックしてください。LimeSurveyは、既定で'1'または'2'を使用しています。これにより、すべてのウェブユーザーがログを参照できます。あなたはYiiを使って自分の設定を直接作成することができます。
たとえば、ファイル内のエラーと警告を記録する簡単な方法は次のとおりです。
return array(
'components' => array(
/* 'db'など他のコンポーネント部分 */
'log' => array(
'routes' => array(
'fileError' => array(
'class' => 'CFileLogRoute',
'levels' => 'warning, error',
'except' => 'exception.CHttpException.404',
),
),
),
/* 'urlManager'など他のコンポーネント部分 */
),
/* 最終パート('runtimePath'や'config'など) */
);
.
ランタイムパス
ランタイムパスは、"webユーザー"が読み書きできるディレクトリでなければなりません。ただし、ランタイムパスには、公開ウェブアクセス領域にある潜在的なセキュリティ情報を持つファイルが含まれています。LimeSurveyは、これらのファイルをLimeSurveyルートディレクトリのtempディレクトリに収集します。このような重要なデータへのアクセスを排除するために、/application/config/config.phpファイルの各行を編集することで、外部からウェブでアクセスできない場所にランタイムパスを設定することができます。
return array(
'components' => array(
[…]
'runtimePath'=>'/var/limesurvey/runtime/',
'config'=>array(
[…]
)
)
)
全体設定
- sitename: アンケートサイトつける名前です。この名前は、アンケートリストの概要と管理画面のヘッダーに表示されます。既定値は'LimeSurvey'で、グローバル設定ダイアログで上書きするか、config.phpで編集することができます。
- siteadminemail: サイト管理者の既定の電子メールアドレスで、システムメッセージと連絡先オプションに使用されます。この設定は既定値としてのみ使用され、グローバル設定ダイアログで上書きできます。
- siteadminbounce: これは、バウンスされた電子メールの宛先となる電子メールアドレスです。この設定は既定値としてのみ使用され、グローバル設定ダイアログで上書きできます。
- siteadminname: サイト管理者の実際の名前です。この設定は既定値としてのみ使用され、グローバル設定ダイアログで上書きできます。
- proxy_host_name: プロキシサーバーのホスト名です(サーバーがプロキシの背後にあり、LimeSurveyをComfortUpdateを使用して更新したい場合にこれを設定する必要があります)。
- proxy_host_port: プロキシサーバーのポート番号です(サーバーがプロキシの背後にあり、LimeSurveyをComfortUpdateを使用して更新したい場合にこれを設定する必要があります)。
セキュリティ
- maxLoginAttempt: ユーザーがパスワードを入力する際の、IPアドレスをブロックまたはロックアウトするまでの試行回数です。既定値は3で、config.phpから変更できます。
- timeOutTime: ユーザーがパスワードを誤って入力し<maxLoginAttempt>に対してに達した場合、<timeOutTime>秒間ロックアウトされます。既定値は10分で、config.phpから変更できます。
- maxLoginAttemptParticipants: 参加者が、有効なトークンを入力しなかった場合に、参加者のIPアドレスがブロック/ロックアウトされるまでの試行回数。既定値は3であり、config.phpで変更できます。
- timeOutParticipants: 参加者が<maxLoginAttemptParticipants>で指定した回数分正しくないトークンを入力した場合、その参加者は<timeOutParticipants>秒の間、ロックアウトされます。既定値は10分であり、config.phpで変更できます。
- surveyPreview_require_Auth: 既定ではtrueに設定されます。これを'false'に設定すると、アンケートパネルにログインしなくても、またアンケートを有効にしなくても、アンケート用URLを使用してアンケートをテストすることができます。この設定は、全体設定ダイアログで上書きするか、config.phpで編集することができます。
- usercontrolSameGroupPolicy: 既定値はtrueです。LimeSurvey管理インターフェースで定義した管理者でないユーザーは、自身が作成したユーザー、もしくは、少なくとも1つの同じグループに所属する場合にのみ、他のユーザーを見ることができます。この設定は、全体設定ダイアログで上書きするか、config.phpで編集することができます。
- filterxsshtml: この設定では、アンケート/グループ/質問、回答テキストの中にある不審なHTMLタグと管理インターフェイスの回答テキストにフィルタをかけることができます。LimeSurveyの管理者として作成したユーザーを完全に信頼できる場合で、JavascriptやFlashムービーなどをそのユーザーに許可する場合にのみ'false'にします。スーパー管理者のHTMLはフィルタリングされません。この設定は、全体設定ダイアログで上書きするか、config.phpで編集することができます。
- demoMode: config.phpでこのオプションが 'true'に設定されている場合、LimeSurveyはデモモードになります。デモモードでは以下の変更が行われます。
- 管理者の詳細とパスワードの変更を無効にします。
- テンプレートエディタでのファイルのアップロードを無効にします。
- 電子メールの招待状やリマインダの送信を無効にします。
- データベースダンプの作成を無効にします。
- サイト名、デフォルト言語、デフォルトHTMLエディタモード、XSSフィルタに関する全体設定の変更を無効にします。
- forcedsuperadmin: すべてのLimeSurveyに対するすべての権限を持つユーザーIDの配列。この設定はconfig.phpファイルでのみ更新できます。ユーザーの権限は、他のスーパー管理者であってもユーザーのグローバル権限は編集できません。既定では、この権限を持つユーザーのidは1です。インストール後に最初に作成されるユーザーです。
- force_ssl: LimeSurveyを強制的にHTTPSを介して実行するか、HTTPSをブロックするかを設定します。全体設定管理GUIのHTTPSを強制を参照してください。
- ssl_emergency_override:この設定はSSLを強制的にオフにします。全体設定でHTTPS/SSLがオンの状態で、サーバーでHTTPSが有効になっていない場合、SSLをオフにするには、データベースの値を直接変更するしかありません。これにより、全体設定でForce Secureに変更していても、HTTPSを強制的にオフにできます。これは、問題を修正するまでtrueに変更する緊急の場合を除き、常にfalseでなければなりません。この設定は、config.phpファイルを介してのみ設定できます。
- ssl_disable_alert: SSLを強制できない、または強制したくない場合は、SSLを強制しない旨のスーパー管理者への警告を無効にします。この設定は、config.phpファイルを介してのみ設定できます。
リソース
- sessionlifetime: アンケートセッションが終了するまでの時間を秒単位で定義します。これは、データベースセッションを使用している場合にのみ適用されます。データベースセッションを使用する場合は、config.phpのパラメータを変更するか、全体設定ダイアログから既定値を上書きしてください。
- memorylimit: LimeSurveyがアクセスできるメモリー量を指定します。少なくとも'128MB'(MB =メガバイト)以上が推奨です。タイムアウトエラーが発生したり、統計の生成やファイルのエクスポートに問題がある場合は、この制限を'256MB'以上にしてください。ウェブサーバーがconfig.phpに上限を設定している場合、この設定は無視されます。
メモリの上限を128Mに増やすには、以下を追加することもできます。
- memory_limit = 128M(サーバーのメインのphp.iniファイル。アクセス権がある場合におすすめします。)
- memory_limit = 128M (LimeSurveyルートのphp.iniファイル。)
- php_value memory_limit 128M (LimeSurveyルートの.htaccessファイル。)
- max_execution_time: スクリプトの実行が許可される秒数を設定します。これに達すると、スクリプトは'致命的エラー'を返します。巨大なアンケートデータと統計情報をエクスポートするため、LimeSurveyでは既定で1200秒に設定してあります。必要に応じて、より大きな時間またはより短い時間を設定することができます。PHPの設定ファイルからのみアクセスできます。
外観
- dropdownthreshold (Obsolete since 2.50):
$dropdowns
に"R"が選択されている場合、管理者はラジオボタンとして表示されるオプションの最大数を設定してからドロップダウンリストに戻すことができます。多数の選択肢がある質問の場合、ラジオボタンとして一度に表示すると、扱いにくく見え、ユーザーにとってわかりにくくなります。これを多くとも25(既定値)などに設定すると、大きなリストでもアンケート参加者が使いやすいものにすることができます。 - repeatheadings: 配列質問タイプでは、画面表示の際、複数ページにわたるサブ質問がある場合があります。この設定では、質問のヘッダー情報を繰り返す前に表示するサブ質問の数を決定できます。15程度が程よい設定となります。見出しをまったく繰り返さないようにするには、0に設定します。この設定は、全体設定ダイアログ (2.05 から追加)で上書きされます。
- minrepeatheadings: 配列の質問で見出しを繰り返す前に必要な残りのサブ質問の最小数。既定値は3で、config.phpで編集できます。
- defaulttemplate: この設定は、アンケートの'公開リスト'に使用する既定のテーマを指定します。この設定は、全体設定ダイアログで上書きするか、config.phpで編集することができます。
- defaulthtmleditormode: 統合HTMLエディターのデフォルトモードを設定します。この設定は、全体設定ダイアログで上書きするか、config.phpで編集することができます。有効な設定は次のとおりです。
- 'inline' - HTMLエディター上でフィールドがインラインで置換されます。動作はゆっくりですが便利で使いやすくなっています。
- 'popup' - 必要に応じてポップアップでHTMLエディターを実行するアイコンを追加します。より高速ですが、HTMLコードがフォームに表示されます。
- 'none'- HTMLエディターなし。
- column_style: display_columnsを使用しているとき、アンケート回答の列の表示方法を定義します。これはconfig.phpファイルで編集できます。有効な設定は次のとおりです。
- 'css' - さまざまなCSSメソッドの1つを使用して列を作成します(詳細は、テンプレートスタイルシートを参照してください)。
- 'ul' - 複数の順序のないリストとしてレンダリングされます(既定)。
- 'table' - 従来のテーブルベースのレイアウトを使用します。
- NULL - 列の使用を無効にします。
言語と時間
- defaultlang: これは、管理スクリプトで使用される既定の言語、公開アンケートリストの既定の言語として設定する必要があります。この設定は、全体設定ダイアログで上書きするか、config.phpで編集することができます。
- timeadjust: ウェブサーバーがアンケートの対象となる場所と異なるタイムゾーンにある場合は、サーバーとホームタイムゾーンの差をここに入力します。たとえば、オーストラリアに住んでいるとして、米国のウェブサーバーを使用しているとします。ウェブサーバーは、現地時間から14時間遅れています。この場合の設定は"14"です。この設定は、アンケートの回答にタイムスタンプを付ける場合に特に重要です。この設定は、全体設定ダイアログで上書きするか、config.phpで編集することができます。
アンケートの動作
- deletenonvalues: この機能は慎重に使用してください。既定値(1)にすると、表示条件に合致しない質問はデータベースにNULLが格納されます。これにより、データベースのデータの内部的な一貫性が保証されます。ただし、表示条件に合致しない場合の関連値、つまり0を保持したい場合があります。たとえば、男性に性別を問い合せ、誤って'女性'と答えてから、女性向けの質問(女性であることを前提とした質問で、女性の場合のみ表示されます)に答えたとします。回答者は間違いに気づき、前に戻って性別を'男性'に変え、アンケートを継続します。このとき、女性向けの質問は表示条件に合致しないことになります。
$deletenonvalues==1
となっている場合、値がクリアされデータベースにはNULLが格納されます。$deletenonvalues==0
の場合、間違った答えは削除されず、分析の際にデータベースに残ったままになります。 - shownoanswer: 編集可能な回答(すなわち、リスト、配列の質問)を含むラジオボタン/選択タイプの質問が回答必須ではなく、 'shownoanswer'が1に設定されている場合、追加で'回答なし'の項目が表示され、回答者が回答しないことを選択することができます。これを利用できないようにしたいと考えることもあるでしょう。この設定は、全体設定ダイアログで上書きするか、config.phpで編集することができます。有効な値は次のとおりです。
- '0': いいえ
- '1': はい
- '2': アンケート管理者が選択できる
- printanswershonorsconditions: 回答印刷機能で、条件分岐によって隠された質問のエントリーを表示するかどうかを定義します(既定値は1で、条件により隠された質問の回答を非表示にします)。
- hide_groupdescr_allinone: この設定は、条件を使用したオールインワンアンケートに関係します。これを'true'に設定すると、グループ内のすべての質問が非表示になっていると、グループ名と説明が非表示になります。既定値は'true'で、グループ内のすべての質問が条件によって非表示となる場合、グループ名と説明も非表示になります。config.phpで編集することができます。
- showpopups: 必須または条件付きの質問に正しく答えられなかった場合にポップアップメッセージを表示します。
- '2' = テーマオプションで決める(既定)
- '1'=ポップアップメッセージを表示する
- '0'=ページにメッセージを表示する
- '-1'=メッセージを一切表示しない(この場合、回答が必須であることを示すヒントが表示されます)
数値の質問タイプの動作
- bFixNumAuto: 数値フィールドを自動的にフィルタリングして、すべての非数値を削除できます。既定では有効になっていますが、グローバルに無効にすることができます。この設定は、コアテーマオプションのFix automatically numeric value(数値を自動的に修正する)に関連しています。はいに対しては有効、式のみといいえに対しては無効となります。
- bNumRealValue: 式マネージャーで使用される数値フィールドを、修正するかどうかを設定できます。既定では修正するように設定されています。数値型の質問NUMERICについて、無効(0)に設定すると、{NUMERIC}に不正な文字が含まれる場合、''が送信されます。有効(1)に設定すると、{NUMERIC}に入力された文字が送信されます。この設定は、コアテーマオプションのFix automatically numeric value(数値を自動的に修正する)に関連しています。はいに対しては有効、式のみといいえに対しては無効となります。
開発とデバッグ
- デバッグ: この設定では、PHPエラー報告をE_ALLに設定します。これは、スクリプトに関連する通知、警告、またはエラーが小さなものでもすべて表示されることを意味します。この設定は、何らかの理由でアプリケーションをデバッグしようとしている場合にのみ '1'に切り替える必要があります。開発者の場合は、'2'に切り替えます。パスの開示につながる可能性があるため、本番環境では'1'または '2'にしないでください。既定値は '0'で、config.phpで編集することができます。
- debugsql: 各ページの下部のスクリプトに対して実行されたすべてのSQL問い合わせを表示する場合に、この設定をアクティブにします。クエリ数の最適化に非常に便利です。有効にするには、config.phpファイルで既定値から'1'に変更します。
- use_asset_manager: 既定では、デバッグモードではアセットマネージャーは無効ですが、この設定によりデバッグモードでもアセットマネージャーを使用することができます。
アプリケーションでエラーが発生した場合は、バグレポートで提出できる詳細なエラーを取得するため、デバッグ設定を有効にすることを強くお勧めします。
'config'=>array(
'debug'=>2,
'debugsql'=>0,
)
プラグインで作業をしていて、変数を画面上に素早くダンプするために、traceVar関数を使うことができます。デバッグが設定されている場合は、CWebLogRouteを使ってHTMLページに表示します。使用方法: traceVar($MyVariable)
メール設定
下のすべての設定は、全体設定ダイアログで上書きすることができます。
- 'emailmethod: 電子メールメッセージの送信方法を決定します。次のオプションを使用できます。
- 'mail:' 内部のPHPメーラーを使用します。
- 'sendmail:' sendmailメーラーを使用します。
- 'smtp:' SMTPリレーを使用します。メールサーバーではないホストでLimeSurveyを実行している場合は、この設定を使用します。
- 'emailsmtphost:
$emailmethod
として'smtp'を使用する場合、ここにSMTPサーバを設定する必要があります。Googleメールを使用している場合は、ポート番号をふかし$emailsmtphost = 'smtp.gmail.com:465'のようにします。 - emailsmtpuser: SMTPサーバーが認証を必要とする場合は、ここにユーザー名を設定します。それ以外の場合は空白にする必要があります。
- emailsmtppassword: SMTPサーバーで認証が必要な場合は、パスワードを設定します。それ以外の場合は空白にする必要があります。
- emailsmtpssl: SMTP接続にSSL/TLSを使用するには、'ssl'または 'tls'と設定します。
- maxemails: アンケート参加者に招待状またはリマインダを送信するとき、管理者が1回で送信できる電子メールの数を設定します。ウェブサーバーによってメールの容量が異なるため、送信に時間がかかりすぎてメールが届かない場合は、タイムアウトしてエラーが発生する可能性があります。ウェブサーバーによってメールの容量が異なるため、送信に時間がかかりすぎてメールが届かない場合は、タイムアウトしてエラーが発生する可能性があります。大量の電子メールを送信するときにスクリプトタイムアウトエラーが発生した場合は、この設定値を減らしてください。トークンの右側にあるトークンコントロールツールバーにある'案内メールを送付'ボタン(トークンの右にあるボタンではありません)をクリックすると、'maxemails'の招待状が送信され、メール送信済のアドレスのリストが表示され、"1つのバッチで送信できるよりも多くの電子メールが保留中です。以下をクリックしてメールを送信します。あとXXX通の送信メールがあります。"という警告が表示され、次のバッチを進めるための"続行ボタン"が表示されます。ユーザーは、一括で電子メールで送信された後、次のバッチをいつ送信するかを決定します。この画面がアクティブな状態で待つ必要はありません。管理者はログオフして後で戻り、次の招待状を送信することができます。
統計と回答の閲覧
- filterout_incomplete_answers: 回答を閲覧したり解析したりするときに、未完了の回答をフィルタする既定の動作を制御します。未完了の回答についての議論は、アンケート結果閲覧に関するウィキを参照してください。これらのレコードは統計情報を破損する可能性があるため、このフィルタをいくつかのGUIフォームでオンまたはオフに切り替えられるようになっています。パラメーターはconfig.phpで編集できます。次のオプションを使用できます。
- 'show': 完了した回答と未完了の回答の両方を表示することができます。
- 'filter': 完了した回答のみ表示します。
- 'incomplete': 未完了の回答のみ表示します。
- strip_query_from_referer_url: この設定は、参照元URLのパラメーター部分を破棄するかどうかを決定するものです。既定値は'false'です(この場合、リファラーURLはすべてのパラメータを保存します)。一方、この値を'true'に設定して、リファラーURLのパラメータ部分を削除することもできます。
- showaggregateddata: 有効にすると、算術平均や標準偏差などの追加の統計値が表示されます。データをさらに集約し、より迅速に概要を確認することもできます。たとえば、得点が1と2、4と5となった結果は、"良い"(1と2)、"平均"(3)、"悪い"(4と5)のような一般的なランキングとなるように集約されます。これは質問タイプ"A"(5点尺度配列)と"5"(5点尺度)にのみ当てはまります。
- PDFエクスポート設定: この機能は、印刷可能なアンケートのPDFエクスポートと回答の印刷を有効にします。PDFエクスポート機能は実験的なものであり、出力は完全ではありません。残念ながら、現時点でサポートは提供されていません。修正を手助けしたい場合は、私たちに連絡してください。
- 'usepdfexport': 無効にするには'0'、有効にするには'1'とします。
- 'pdfdefaultfont': PDFエクスポート機能で使用される既定のフォントを指定します。既定値は'auto'です。これを変更するには、PDF core fontsの1つに設定する必要があります。
- 'alternatepdffontfile': 言語キーと対応するフォントを持つ配列です。各言語の既定のフォントは、config.phpファイルで置き換えることができます。
- 'pdffontsize': 通常のテキストのフォントサイズを表示します。アンケートのタイトルは<pdffontsize>+4、グループタイトルは<pdffontsize>+2です。config.phpファイルまたは全般設定ダイアログで編集できます。
- 'notsupportlanguages': PDFフォントが見つからない言語のリストが含まれています。このリストには、アムハラ語('am')、シンハラ語('si')、タイ語('th')が含まれており、config-defaults.phpファイルにあります。
- 'pdforientation': 横置きの場合は'L'、縦置きの場合は'P'を設定します。これはconfig.phpファイルから編集できます。
- グラフ設定
- 'chartfontfile': 統計グラフの作成に使用されるフォントファイル名を設定します。このファイルは、LimeSurveyのルートフォルダにあるfontsディレクトリに配置する必要があります。これはconfig.phpファイルで編集できます。
- 'alternatechartfontfile': 言語キーと対応するフォントを持つ配列です。これはconfig.phpファイルで編集できます。
- showsgqacode: この設定は印刷可能なアンケート機能で使用され、既定値は'false'です。showsgqacode = 'true'と設定すると、各質問のIDと、回答(該当する場合)が表示されます。このIDは、アンケートの回答データを保持するLime_survey_12345表の列見出しと一致します。IDは、手動によるデータベースクエリーのコードブックに使用できます。
LDAP設定
これは広範なトピックであるため、 LDAP設定は別のページに移動しました。
認証
LimeSurvey 2.05以降、認証はプラグインによって処理されます。その結果、以下の情報が古くなっている可能性があります。最新情報については、プラグインのウィキを参照してください。
ウェブサーバーへの認証委任
システム管理者は、アンケート管理者の認証を内部のLimeSurveyデータベースを使用するのではなく、セントラル認証システム(Active Directory、openLdap、Radius、...)にさせたい場合があります。これを簡単に行うには、この外部認証システムを使用するようにウェブサーバーソフトウェアを設定し、ウェブサーバーが報告したユーザーIDを信頼するようLimeSurveyに設定します。この機能を有効にするには、次の操作が必要です。
- config.phpでauth_webserverを 'true'に設定します。
- ウェブサーバー側からの認証を有効にします。
以下の点に注意してください。
- LimeSurveyは、(パスワードを要求せず、ウェブサーバーから報告されたログイン名を使用して)独自の認証プロセスをバイパスします。
- これは、アンケートに招待する仕組み(参加者インターフェイス) ではなく、単にLimeSurveyのGUI認証システムを置き換えるものです。
自動ユーザーインポートを使用しない認証委任
既定では、認証委任はLimeSurvey認証システムをバイパスしません。つまり、LimeSurveyでパスワードを管理する必要がなくても、LimeSurveyデータベースでユーザーを定義し、管理パネルにアクセスさせるために適切な権限セットを割り当てる必要があります。
LimeSurveyへのアクセスが許可されるのは、次の場合のみです。
- ウェブサーバーに認証されている。
- ログイン名がLimeSurveyユーザーデータベースのユーザーとして定義されている(LimeSurveyユーザーデータベースで定義されたユーザー権限がユーザーに与えられている)。
自動ユーザーインポートを使用する認証委任
膨大なユーザーデータベースを管理する場合、LimeSurveyデータベースにユーザーを自動インポートする方が簡単な場合があります。
- auth_webserver_autocreate_user: 'true'に設定されている場合、LimeSurveyはウェブサーバーによって認証されたユーザーが、ユーザーデータベースに存在しない場合、自動インポートします。
- auth_webserver_autocreate_profile: 名前、電子メール、権限など、ユーザーに割り当てられる既定のプロファイルを記述する配列。
ログインしたユーザーと一致するようにユーザープロファイルをカスタマイズする場合は、hook_get_autouserprofileという簡単な関数を開発する必要があります。この関数を使用すると、中央ユーザーアカウントデータベース(LDAPディレクトリーなど)からユーザーの実名、名前、電子メールを取得することができます。外部データベースに割り当てられたグループに基づいて、システムの権限をカスタマイズすることもできます。
hook_get_auth_webserver_profile関数は、ユーザーのログイン名を唯一の引数として受け取り、次の値を返します。
- Falseまたは空の配列 - この場合、ユーザーはLimeSurveyへのアクセスが拒否されます。
$WebserverAuth_autouserprofile
に記述されているすべての共通のuserprofileエントリーを含む配列
function hook_get_auth_webserver_profile($user_name)
{
// Retrieve user's data from your database backend (for instance LDAP) here
... get $user_name_from_backend
... get $user_email_from_backend
... get $user_lang_from_backend
... from groups defined in your backend set $user_admin_status_frombackend_0_or_1
return Array(
'full_name' => "$user_name_from_backend",
'email' => "$user_email_from_backend",
'lang' => '$user_lang_from_backend',
'htmleditormode' => 'inline',
'templatelist' => 'default,basic,MyOrgTemplate',
'create_survey' => 1,
'create_user' => 0,
'delete_user' => 0,
'superadmin' => $user_admin_status_frombackend_0_or_1,
'configurator' =>0,
'manage_template' => 0,
'manage_label' => 0);
}
// If user should be denied access, return an empty array
// return Array();
ユーザー名のマッピング
LimeSurveyのユーザー名とは異なる外部ユーザー名を持つユーザーがいる場合は、ユーザー名のマッピングを使用すると便利です。 LimeSurveyでは、 auth_webserver_user_mapパラメータを使用して実現します。たとえば、外部認証データベースに'admin'ユーザー名が定義されていないとします。adminとしてLimeSurveyにログインするには、LimeSurveyのログイン名adminに外部ユーザー名(仮に'myname'とします)をマップする必要があります。このための設定は次のとおりです。
'config'=>array(
...
'auth_webserver_user_map' => array ('myname' => 'admin');
)
'myname'ログインとウェブサーバーのパスワードで認証が成功すると、LimeSurveyを'admin'ユーザーとして直接使用する権限が与えられます。
これには重大なセキュリティ上の影響がありますので、注意して使用してください。 また、ウェブサーバーによる書き込みができないようconfig.phpを保護してください。
ワンタイムパスワードを使用する
ユーザーはdefault.com/limesurvey/adminにあるLimeSurveyのログインページを開き、ユーザー名とワンタイムパスワード(以前は、外部アプリケーションによって、ユーザーテーブルのcolumn one_time_pwに書き込まれていた)を入力できます。
ワンタイムパスワードを使用するには、config.phpでこの設定を有効にする必要があります(既定値はfalse)。
'config'=>array(
'debug'=>0,
'debugsql'=>0,
'use_one_time_passwords'=>true,
)
詳細については、"ユーザの管理"セクションを参照してください。
暗号化設定 (4.0.0 から追加)
application/config/security.php
ファイルにセットされます。この設定をsecurity.phpに残すか、必要に応じ、config.phpに移すこともできます。この機能の詳細は、データ暗号化を参照してください。
- encryptionkeypair
- encryptionpublickey
- encryptionsecretkey
高度なURL設定
- publicurl: これは、'公開スクリプト'のURLを設定します。公開スクリプトは、"limesurvey"フォルダー(または、他のすべてのスクリプトやディレクトリーが入っているディレクトリーにつけた名前)にあるものです。この設定は、config.phpで利用でき、LimeSurveyが絶対URLを必要とするときに使用します(例えば、トークンメールを送信するときなど)。
- homeurl: これは、管理用スクリプトのURLを設定します。これらは、/limesurvey/adminフォルダーにあります。ここにはhttp://www.example.com/limesurvey/html/admin のように、WEBのURLを設定してください。この項目には、末尾にスラッシュを付けないでください。config.phpの既定の設定では、
{$_SERVER['SERVER_NAME']}
というphp変数の設定を使って、サーバー名を自動的に検出しようとします。ほとんどの場合、このままにしておき、残りの文字列をLimeSurveyスクリプトを置いたディレクトリー名に合わせて変更すればよいでしょう。 - tempurl: これは、"/limesurvey/tmp"ディレクトリー、またはLimeSurveyが一時的なファイルを提供するために使用したいディレクトリーのURLを設定します。
- uploadurl: これは、"/limesurvey/upload"ディレクトリー、またはLimeSurveyがアップロードされたファイルを提供するのに使用するディレクトリーのURLを設定します。これにより、アップロードファイルを別のURLドメインに設定することができます。
高度なパス設定
- homedir: これは、管理用スクリプトの物理的なディスクの場所を設定してください(例:"/home/usr/htdocs/limesurvey/admin")。このエントリーには、末尾にスラッシュを付けないでください。config.phpの既定の設定では、php変数の設定
{$_SERVER['DOCUMENT_ROOT']}
を使って、すべてのドキュメントの既定ののルートパスを検出しようとします。ほとんどの場合、このままにしておき、残りの文字列をLimeSurveyスクリプトを置いたディレクトリー名に合わせて変更すればよいでしょう。 - publicdir: これは、'公開スクリプト'の物理的なディスクの場所を設定します。
- tempdir: スクリプトがファイルを読み書きできるよう、/limesurvey/tmpディレクトリーの物理的なディスクの場所を設定します。
- uploaddir: スクリプトがファイルを読み書きできるよう、/limesurvey/uploadディレクトリーの物理的なディスクの場所を設定します。
- sCKEditorURL: fckeditorスクリプトのURLです。
- fckeditexpandtoolbar: 既定でfckeditorのツールバーを開くかどうかを定義します。
- pdfexportdir: tcpdf.php extensiontcpdf.phpのあるディレクトリーです。
- pdffonts: TCPDFフォントのディレクトリーです。
その他の詳細設定
ファイルのアップロード
- allowedthemeuploads: テーマエディターでアップロードできるファイルタイプ
- allowedresourcesuploads: リソースセクション及びHTMLエディターでアップロードできるファイルタイプ
- allowedfileuploads (4.0.0 から追加) アップロードするファイルタイプのグローバルな制限
- magic_database: (3.17.17 から追加) finfo_openに別のMIMEデータベースの使用を許可します。 config.phpファイルでのみ更新できます。例: redhatベースのlinuxの場合
/usr/share/misc/magic.mgc
for redhat based linux. - magic_file: (3.17.17 から追加) 標準のファイルとは別のファイルを使用して、MIMEタイプごとの拡張子の配列を取得することができます。配列を返すPHPファイルである必要があります。config.phpファイルでのみ更新できます。
アップデート
- updatable: この設定はversion.phpにあります。trueかfalseに設定できます。trueに設定した場合、スーパー管理者ユーザーがログインしたとき、LimeSurveyはアップデートが利用可能かどうかを確認して警告を表示します。falseに設定した場合、チェックは行われず、ComfortUpdateを使用できません。