Actions

General FAQ/ja: Difference between revisions

From LimeSurvey Manual

(Created page with "注意: 2014年8月、Ubuntu 14.04で'''上記を再現することはできませんでした'''。パッチが必要です(設定オプションでは不十分です)。...")
(Created page with "サーバー構成によっては、メモリーに問題が発生し、次のようなレポートを受けることがあります。''"Fatal error: Allowed memory size of 8...")
Line 208: Line 208:
==Fatal error: Allowed memory size==
==Fatal error: Allowed memory size==


Depending on your server configuration you might run into memory problems being reported by an error like ''"Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 233472 bytes) in /path/to/htdocs/limesurvey/filename.php on line 7296"''.
サーバー構成によっては、メモリーに問題が発生し、次のようなレポートを受けることがあります。''"Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 233472 bytes) in /path/to/htdocs/limesurvey/filename.php on line 7296"''


You can try to raise the limit by [[Optional settings#Resources|adding an optional setting]] to LimeSurvey's config file.
You can try to raise the limit by [[Optional settings#Resources|adding an optional setting]] to LimeSurvey's config file.

Revision as of 08:01, 28 July 2018

はじめに

LimeSurveyでできることを感じるためにマニュアルの半分でも読みくない場合は、ビデオを見ることをお勧めします(下記参照)。

その後、アンケート - はじめにのマニュアルページが参考になるかもしれません。

LimeSurveyについて簡単に知りたい

まず基本的なLimeSurveyビデオチュートリアルをご覧ください。

LimeSurveyでオンラインアンケートを実施する方法に関する別のチュートリアルもあります。このビデオでは、初めてアンケートを作成るところから、ユーザーに提供し、回答された結果を表示するまでを扱っています。

YouTubeにはさらに多くのビデオががあります。

LimeSurvey:

昔のPHP-surveyorのビデオ:

アンケートのデザインとレイアウト

短いURLにするためにURLパスからindex.phpを削除する方法

すっきりしたURLを使うため、URLに/index.phpを含めない場合は、/application/config/config.phpを編集して変更してください。

'showScriptName' => true,

を次のように変更します。

'showScriptName' => false,

これを正しく動作させるためには、mod_rewriteモジュールが正しくインストールされたApacheウェブサーバーを使用する必要があります。

Nginx http serverを使用し(PHPはFastCGIを経由して実行)、'urlFormat' => 'path'設定を使用したい場合は、以下ようなnginxのサイト設定を検討してください。

server {
    set $host_path "/PATH/TO/LIMESURVEY";
    server_name  YOUR.SERVER.FQDN;
    root /PATH/TO/LIMESURVEY;
    charset utf-8;
    try_files $uri /index.php?$args;
    location ~ ^/(protected|framework|themes/\w+/views) {
        deny  all;
    }
    #avoid processing of calls to unexisting static files by yii
    location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
        try_files $uri =404;
    }
    location ~ \.php$ {
        fastcgi_split_path_info  ^(.+\.php)(.*)$;
        try_files $uri index.php;
        fastcgi_pass   127.0.0.1:9000; # Change this to match your settings
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
    }
}

回答必須の質問の*(赤いアスタリスク)を取り除く方法

LimeSurvey 2.x では、必須であることを示す赤いアスタリスクはtemplate.cssファイル("asterisk"クラス)内に設定されています。それを隠すには、

  • テンプレートエディタを開く
  • 変更したいテンプレートのコピーを作成する
  • "template.css"ファイルを選択して、asteriskクラスを検索する
  • asteriskクラスの最後に次の設定を追加する: ".asterisk {display: none;}"
  • template.cssを保存する
  • 編集したtemplate.cssが再読み込みされ、キャッシュから取得されないように、ブラウザのキャッシュをクリアする

以前のバージョン

  • テキストエディタでqanda.phpを開きます
  • "asterisk"という文字列を探す
  • 行頭に2つのスラッシュ"/"を付けてこの行をコメントアウトする
  • 例:
    • original: $qtitle = ''.$clang->gT('*').''.$qtitle;
    • modified: // $qtitle = ''.$clang->gT('*').''.$qtitle;

Flashファイルを埋め込む方法

まず全体設定に行き、XSSフィルターを無効にします。また、そのフィルターを無効にすることどうなるかは理解しておいてください。フィルターが有効な場合、次の手順は機能しません。

  1. Flashファイルを挿入する場所に移動します。これは、質問、サブ質問、回答、アンケートのようこそ/終了のテキストなど、統合されたHTMLエディタを使用できる場所であればどこでもかまいません。
  2. エディターツールバーの'LimeFitWin'ボタンをクリックし、フルスクリーンエディタモードを開きます。
  3. フルスクリーンエディタのツールバーには、Flashシンボル付きの小さなボタンがあります。クリックすると、ダイアログが開きます。
  4. このダイアログでは、既存のFlashファイルのパスを指定するか、'サーバーを閲覧'ボタンをクリックします。
  5. 'サーバーを閲覧'ボタンをクリックすると、ファイルブラウザが表示され、下部にはファイルアップロードフィールドが表示されます。既存のファイルを選択するか、ファイルをアップロードしてください。

それでおしまいです。この説明が不完全な場合は、適宜更新してください。

アンケートから既定のテキストを削除する方法

"X問あります"

"プライバシーに関するメモ..."

質問コード

これらのテキストはすべて、プレースホルダーを使用しているテンプレートに挿入されます。簡単に削除できます。テンプレートエディターに移動し、{THEREAREXQUESTIONS} / {PRIVACYMESSAGE} / {QUESTION_CODE}のプレースホルダーを削除します。

アンケート構成

一般に公開するアンケートを作成する方法

アンケートを一般に公開するには、以下のようにします。

アンケートは、LimeSurveyのルートページにリストされます。ウェブサイト/ブログにアンケートへのリンクを公開し、誰でも制限なくアンケートに参加することができます。

システムから確認メールを送信しない方法

トークンを使用し、参加者がアンケートに記入すると、参加者のメールアドレスに確認メールが送信されます。このメッセージを送信したくない場合は、"確認メール"の件名とメッセージ全体を削除してください。ソースコードモードに切り替え、すべてのテキストを削除します。空のメッセージを保存すれば、確認メールをもう送信しなくなります。

誤操作への対処

パスワードをリセットする方法

バージョン2.x.x以降

  1. コマンドラインでサーバーにアクセスします(例:SSH)
  2. PHPにコマンドラインでアクセスできるか確認します(see http://php.net/features.commandline.php)
  3. limesurveyディレクトリーに移動します
  4. 次のコマンドを入力します php application/commands/starter.php resetpassword NEW_ADMIN_NAME NEW_ADMIN_PASS または php application/commands/console.php resetpassword NEW_ADMIN_NAME NEW_ADMIN_PASS/usr/bin/phpなどphpへの完全なディレクトリーアクセス権が必要です

バージョン2.x.x以降でFTPアクセスのみの場合

ResetPasswordControllerを参照してください。

データベースのパスワードを直接変更する

Limesurveyのデータベースに直接アクセスできる場合、新しいパスワードをSHA256ハッシュに符号化して更新することで、古いパスワードを変更することが可能です。こちらでパスワードをSHA256ハッシュした値を生成できます。

たとえば、次のコマンドを使用してパスワードをpasswordに設定できます。

UPDATE lime_users SET password = 0x35653838343839386461323830343731353164306535366638646336323932373733363033643064366161626264643632613131656637323164313534326438 WHERE uid =1;

ここでは、接頭辞がlime_であり、データベースが選択されています。

無効にしたアンケートからデータを復元する方法

アンケートを無効にするのではなく、常に時間切れ扱いとすることをお勧めします。誤ってアンケートを終了した場合は、アンケートを何も変更しないでください。

そして、次のような手順を踏みましょう。

  1. アンケートを再度有効化する
  2. "アンケートの回答閲覧"画面に移動する
  3. "無効になったアンケートテーブルからのインポート"ボタンを選択する
  4. インポート元のテーブルを選択する
  5. "回答をインポートする"をクリックする

削除した質問/質問グループ/アンケートの復元方法

残念ながら、削除してしまうと、本当になくなってしまいます。ただし、バックアップしている場合は復元できます(もちろん、定期的に行っていることが前提です)。

ハードウェア・ソフトウェアの要求条件

一般的な要件については、インストール手順を参照してください。

LimeSurveyの制約

処理速度について

LimeSurveyには処理速度に制限はありません。サーバーの処理速度とサーバーへの接続速度に依存します。短時間に多数のユーザーからの回答が予想され、サーバーが処理できるかどうかわからない場合は、フォーラムで他のユーザーの経験に関するトピックを参照してください。

アンケートの規模について

注意: ここでいう'アンケートの規模'とは、アンケートの質問(と回答)の最大数のことであり、アンケートで受け付ける最大の回答数ではありません(こちらに制限はありません)。理論的には、LimeSurveyの質問/回答の最大数に制限はありません。しかし、使用しているデータベースエンジンにはいくつかの制限があります。最も重要なのは、結果テーブルのフィールド(列)数の制限です。

  • MySQL ISAM: テーブル内のVARCHAR列とCHAR列の長さの合計は最大64KBです。
  • MySQL InnoDB: 最大1000列
  • MS SQL Server 2000: 最大1024列
  • Postgres: 列の種類に応じ最大250〜1600列。既定のブロックサイズを32kに増やすと、列の最大数を4倍にすることができます。インストールのFAQおよびPostgreSQL FAQを参照してください。

注意: 実施する前に考えてください。10×10項目の配列は、すでに100列を要します。ルール:画面上で記入または選択が可能なアイテムはそれぞれ1列としてカウントされます。

mySQL ISAMエンジンは最も面倒です(詳細はmysqlのドキュメントを参照)。1行につき最大65,535バイトまで可能で、utf8文字は1文字につき最大3バイト必要なので、最大値は21,844文字となります(DBエンコーディングによって異なります)。

アンケートの規模は次のように見積もることができます。

  • 複数の数値質問: 回答ごとに20文字
  • 複数選択と配列質問タイプ: 回答ごとに5文字
  • その他の質問タイプ: 5文字
  • 余裕をみるため10%程度を追加

PostgreSQLの最大カラム数を増やす方法

アンケートの質問がとても多い場合、PostgreSQLで異なるブロックサイズを定義し、より多くの列を作成することができます。PostgreSQLを再コンパイルし、BLCKSZを16KBまたは32KBなどのより高い値に設定する必要があるため、扱いにくいかもしれません。設定オプション"--with-blocksize=BLOCKSIZE"を確認してください。詳細は、PostgreSQLメーリングリストのアーカイブを参照するか、そこで質問してください(pgsql-patches(at)postgresql(dot)org)。

Debianでの手順です。(Martin Pitt提供)

sudo apt-get build-dep postgresql-8.3
apt-get source postgresql-8.3
cd postgresql-8.3-*
debian/rules patch
sensible-editor build-tree/postgresql-8.3.5/src/include/pg_config_manual.h
dpkg-buildpackage -us -uc -b -nc

注意: 2014年8月、Ubuntu 14.04で上記を再現することはできませんでした。パッチが必要です(設定オプションでは不十分です)。参照(LinuxでPostgreSQL 9.3でテスト済み): Linux上でPostgreSQL の最大カラム数を増やす方法

Fatal error: Allowed memory size

サーバー構成によっては、メモリーに問題が発生し、次のようなレポートを受けることがあります。"Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 233472 bytes) in /path/to/htdocs/limesurvey/filename.php on line 7296"

You can try to raise the limit by adding an optional setting to LimeSurvey's config file.

Please mind that such local settings by an application can always be overruled by global server settings. To increase the memory limit to 128M directly on your server you could try adding:

  • memory_limit = 128M to your server's main php.ini file (recommended, if you have access)
  • memory_limit = 128M to a php.ini file in the LimeSurvey root
  • php_value memory_limit 32M in a .htaccess file in the LimeSurvey root
  • ini_set('memory_limit', '128M'); in your config.php

Specific configuration

Under certain circumstances, you need tu update LimeSurvey configuration in application/config/config.php

2 limesurvey instance on same domain

With 2 limesurvey instance on same domain, but different directory, you need to update the session configuration.

For example, if you have example.org/ls1 and example.org/ls2 : update the ls1 config file

        'session' => array (
            'cookieParams' => array(
                    'path' => '/ls1',
                ),
            ),
        'request' => array(
            'csrfCookie' => array( 'path' => '/ls1' )
        ),