Actions

Installation FAQ/it: Difference between revisions

From LimeSurvey Manual

(Updating to match new version of source page)
(Updating to match new version of source page)
(31 intermediate revisions by 3 users not shown)
Line 3: Line 3:
__TOC__
__TOC__


=During installation=
==Installazione sul proprio computer==


==How can I create a database and a user in mysql with command line access?==
LimeSurvey can be installed on your computer with MAMP/XAMPP or any other system. Bear in mind that your computer is not a web server - it's not accessible via web to any other user.


You have to enter the below commands in your mysql.
In order to make your survey reachable to other users via the web, you need to either:


create database '''<your_database_name>''';
* own a server or a web space from a host provider
* or find a LimeSurvey-specialized host provider


create user '''<your_database_username>''';
{{Alert|An installation on your computer is not done to share your survey on the internet!}}


create user '''<your_database_username>'''@localhost;
==Inizio Installazione==


set password for '''<your_database_username>''' = PASSWORD(''''<your_database_password>'''');
==How can I create a database and a user in MySQL with command-line access?==


set password for '''<your_database_username>'''@localhost = PASSWORD(''''<your_database_password>'''');
You have to enter the commands below in your MySQL:


grant all on '''<your_database_name>'''.* to ''''<your_database_username>'''';
*<code>create database '''<your_database_name>''';</code>


grant all on '''<your_database_name>'''.* to ''''<your_database_username>''''@'localhost';
*<code>create user '''<your_database_username>''';</code>


You have to replace '''<your_database_name>''', '''<your_database_username>''' and '''<your_database_password>''' in above commands with according values.
*<code>create user '''<your_database_username>'''@localhost;</code>


Cosa succede se non posso creare un database tramite lo script di LimeSurvey?
*<code>set password for '''<your_database_username>''' = PASSWORD(''''<your_database_password>'''');</code>


Normalmente lo script crea un nuovo database e, succesivamente, la struttura delle tabelle. Se il Provider Internet non fornisce direttamente i permessi per creare un nuovo database in MySQL allora sar&agrave; necessario contattare l'amministratore del server per creare manualmente il database (e farsi dare il nome e il login) che dovr&agrave; avere i corretti permessi di accesso (leggi/scrivi/esegui). In questo caso bisogner&agrave; inserire il nome del database, oltre al nome utente e alla password, nel file config.php prima di lanciare il file admin.php. Solo a questo punto lo script potr&agrave; creare la struttura delle tabelle.
*<code>set password for '''<your_database_username>'''@localhost = PASSWORD(''''<your_database_password>'''');</code>


===Cos'e' la PHP Multibyte String Functions library?===
*<code>grant all on '''<your_database_name>'''.* to ''''<your_database_username>'''';</code>


La PHP Multibyte String Functions library (o ''mbstring '' per PHP) e' una estensione per PHP che serve per manipolare le stringhe di caratteri non limitate a 8 bits. Questo e' il caso per caratteri cirillici, orientali etc che richiedono carattei rappresentati da stringhe di lunghezza in multipli di 8.
*<code>grant all on '''<your_database_name>'''.* to ''''<your_database_username>''''@'localhost';</code>


Per attivare questa estensione bisogna avere accesso al php.ini file. A seconda dell'installazione di PHP, o del server sui cui avete installato Limesurvey, questa opzione e' disponibile in diversi modi.
In terminal, <code>'''<your_database_name>'''</code>, <code>'''<your_database_username>'''</code>, and <code>'''<your_database_password>'''</code> have to be replaced with the according/desired values.
* Nel caso di XAMPP e' necessario aprire il file php.ini e rimuovere i commenti (o aggiungere come nell'esempio) nelle linee che incominciano con ''mbstring ''usando il seguente formato:


<div class="simplebox">
==Cosa succede se non posso creare un database tramite lo script di LimeSurvey?==


; Opzioni del linguaggio
Normally, the script creates a new database, and then the table structure. However, if your server/ISP doesn't give you admin rights to create a new database in MySQL, you will need to contact your server administrator to get the necessary database created (or create it yourself if you receive the required permissions). The newly created blank database should include the appropriate access rights (i.e.: read/write/create). Then, you should be able start the LimeSurvey installation, which will create the tables within the newly created database.


mbstring.language        = Neutral    ; definisci la lingua standard Neutral(UTF-8) (default)
==Blank page when accessing the install page==


mbstring.detect_order    = auto
This problem doesn't occur within the LimeSurvey installation but within the PHP installation.
*Verify you have the MySQL PHP module (php-mysql) installed.
*Verify your PHP install is loading the PHP.ini file your are modifying and not parsing other PHP.INI files on your system.
*Verify the location and permissions of the following setting in your PHP.ini:


mbstring.internal_encoding    = UTF-8  ; Susa l'encoding intenro del sistema UTF-8
<syntaxhighlight lang="c" enclose="div">upload_tmp_dir="/temp"


mbstring.encoding_translation = On
session.save_path="/temp"</syntaxhighlight>
 
*Verify that your server runs a suitable PHP version.
mbstring.detect_order         = auto    ; attiva l'ordine di inizializzazione delle lingue automatico
 
</div>
* Nel caso utilizzate un hosting provider esterno, a seconda del tipo di servizio disponibile, e' possibile che queste modifiche possono essere fatte ne .htaccess file.
 
'''Consultate il vostro hosting provider prima di fare qualsiasi modifica poiche' il cambiamento dei file di configurazione potrebbe risultare in un malfunzionameto del server!'''
 
 http://<your_server>/<your_limesurvey_directory>/admin/install/phpinfo.php
 
from the web browser. A lot of information will be shown. Search for the string 'mbstring' under the '''Configuration''' section.


If you find the mbstring section then all should be well and you can continue on with your LimeSurvey installation!
==Error messages due to non-existing resources==


'''If you don't find the mbstring section''' you might have a problem on your hands.
Sometimes, files are not uploaded correctly or are broken during the upload process. This leads to several different error messages. Most of them refer to a file or function within a file which can't be found.


There are three possible scenarios:
'''Solution:''' Re-upload all files using the binary mode of your FTP programme.
*If it's your providers server: Ask your provider to activate that extension in PHP or how to activate it - if you have a good administration panel for your server you may be able to activate it yourself.
*If it's your own '''Linux''' server: You may have to re-compile PHP and include the mbstring library. Ask the Linux experts how to do that. In most Linux versions today you can install it using your Linux packet manager.
**If you are using a version of Linux that supports 'yum' (CentOS, RedHat, Fedora):
### Use the terminal (as a super user) and type: '''yum install php-mbstring'''
### Make sure to update /etc/php.ini to update and uncomment the various mbstring params
### Make sure to restart apache after installing it:  '''/etc/init.d/httpd restart'''
*If it's your own '''Windows''' server: Search for php.ini on your system, open it with an editor and search for mbstring. Most probably the line that contains that string is commented out with a semicolon. Remove the semicolon, save and restart your web server.


===Quando si usano caratteri speciali (cinese, cirillico, greco) nei miei questionari tutti i caratteri appaion con un punto di domanda===
==Pagina Requisiti==


*Bisogna attivare l'estensione Multibyte String di PHP. (vedi sopra)
==What is the mbstring (Multibyte String Functions) library?==
*Assicurarsi che il Browser che utilizzate ha l'opzione multi linguaggio installata


ALTER DATABASE `<your_database_name>` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
The mbstring library is a PHP library that can convert char sets from one language to another. You need it if you want to run LimeSurvey. To check if it is already installed, open the URL from a web browser:


Replace <your_database_name> with the name of your database. '''You need to do this before installing LimeSurvey.'''
<nowiki>http://<your_server>/<your_limesurvey_directory>/admin/install/phpinfo.php</nowiki>


==Blank page when accessing the Install page==
A lot of information will be shown. Search for the string 'mbstring' in the '''Configuration''' section. If you find the mbstring section, then all should be well and you can continue with your LimeSurvey installation!


The problem is not with the LimeSurvey installation but with the PHP installation.
'''If you don't find the mbstring section''', you might have a problem on your hands. There are three possible scenarios:
*Verify you have the MySQL PHP module (php-mysql) installed.
*If it's your host provider's server, ask for the activation of that extension in PHP or for further information on how you can activate it - if you have a good administration panel for your server, you may be able to activate it yourself
*Verify your PHP install is loading the PHP.ini file your are modifying and not parsing other PHP.INI files on your system.
*If it's your own '''Linux''' server, you may have to re-compile PHP and include the mbstring library. Ask the Linux experts how to do that. However, you can install it using your Linux package manager, which is mostly available in all the Linux distributions nowadays
*Verify the location and permissions of the following setting in your PHP.ini
**If you are using a version of Linux that supports 'yum' (CentOS, RedHat, Fedora)...
***...use the terminal (as a super user) and type: '''yum install php-mbstring'''
***...make sure to update /etc/php.ini and uncomment the various mbstring params
***...make sure to restart apache after installing it: '''/etc/init.d/httpd restart'''
*If it's your own '''Windows''' server, search for php.ini on your system, open it with an editor, and search for mbstring. Most probably, the line that contains the string is commented out with a semicolon. Remove the semicolon, save and restart your web server


<syntaxhighlight lang="c" enclose="div">upload_tmp_dir="/temp"
== Stuck at checking file system permissions ==
If SELinux is activated (primarily on CentOS), then you might get an error that the file system permissions are not correct, even if the list of directories is empty. SELinux prevents writing even though the permissions are for example on 777 or 755. To configure SELinux correctly for your server - check out the [https://wiki.centos.org/HowTos/SELinux SELinux documentation].


session.save_path="/temp"</syntaxhighlight>
==Dopo la creazione del database==
*Verify your server runs a suitable PHP version (e.g. this "blank page" problem appeared with PHP v4.4 and LimeSurvey v2.00+).


==Error messages because of non-existing resources==
==Pagina bianca dopo la creazione del database==
 
Sometimes files are not uploaded correctly or were broken during upload. This leads to several different error messages. Most of them refer to a file or function within a file which can't be found.
 
'''Solution:''' Re-upload all files using the binary mode of your FTP program.
 
=After Database Creation=
 
==Blank Page after Database Creation==


===Symptoms===
===Symptoms===
* LimeSurvey installed OK, and database was created, but instead of the admin page, you get an empty page
* LimeSurvey is installed correctly and the database was created, but instead of the admin page, you get an empty page
* Web surver log shows "Fatal error: Call to a member function on a non-object in /path/to/limesurvey/admin/login_check.php on line 69"
* Web server log shows ''"Fatal error: Call to a member function on a non-object in /path/to/limesurvey/admin/login_check.php on line 69"''


===Fix===
===Fix===


This is probably an incorrect setting for $rooturl or $rootdir in config.php. In particular, config.php attempts to set $rootdir correctly by calling <nowiki>dirname('''FILE''')</nowiki> and while this usually works, it can be upset when LimeSurvey is installed in a user's home or public_html directory and the home directory is mounted over NFS. Try setting $rootdir manually, and in particular, while your shell or pwd command may show a path like "/disks/hostname/home/username/public_html/limesurvey", try using "/home/username/public_html/limesurvey".
This is probably related to an incorrect setting for <code>$rooturl</code> or <code>$rootdir</code> in config.php. The file config.php attempts to set <code>$rootdir</code> correctly by calling <code><nowiki>dirname('''FILE''')</nowiki></code>. While this usually works, it can be upset when LimeSurvey is installed in a user's home or public_html directory and the home directory is mounted over NFS. To set up the <code>$rootdir</code> manually, (your shell or pwd command may show you a path like /disks/hostname/home/username/public_html/limesurvey), try using /home/username/public_html/limesurvey.


==When accessing admin page, the browser keeps running and will eventually fail to show it==
==When accessing the admin page, the browser keeps running and will eventually fail to show it==


===Symptoms===
===Symptoms===
* LimeSurvey installed OK and database was created. But when you access the admin page, the browser keeps running and will eventually fail to show the page.
* LimeSurvey is installed correctly and the database was created. However, when you access the admin page, the browser keeps running and will eventually fail to show the page
* When you check the web server access log, its size has become so big (in some cases, more than 2 GB).
* When you check the web server access log, its size has become quite big (in some cases, more than 2 GB)
* Inside the access log, you get this message filling the log.
* Inside the access log, you get this message filling the log:


Warning: fread() [function.fread]: Length parameter must be greater than 0 in /limesurvey/classes/php-gettext/streams.php on line 120
{{Alert|title=Warning|text=''fread() [function.fread]: Length parameter must be greater than 0 in /limesurvey/classes/php-gettext/streams.php on line 120.}}''


''Note:'' line number may be different depending on your LimeSurvey version.
{{Note|The line number may be different depending on your LimeSurvey version.}}


===Fix===
===Fix===


This may be caused by the mbstring.func_overload setting. Check the setting in your php.ini and set as the following.
This may be caused by the mbstring.func_overload setting. Change the following setting in the php.ini file:
 
<syntaxhighlight lang="php" enclose="pre">
mbstring.func_overload = 0
mbstring.func_overload = 0
</syntaxhighlight>


''Note:'' This means no function overloading. See PHP manual for this setting: [http://us3.php.net/manual/en/mbstring.overload.php Function Overloading Feature]
{{Note|This means no function overloading. See the PHP manual for this setting: [http://us3.php.net/manual/en/mbstring.overload.php Function Overloading Feature].}}


==When accessing admin page, the browser reports Fatal error: Call to a member function gT() on a non-object in login_check.php on line 76==
==When accessing the admin page, the browser reports Fatal error: Call to a member function gT() on a non-object in login_check.php on line 76==


===Symptoms===
===Symptoms===
* LimeSurvey installed OK and database was created. But when rdirected to the admin page, the browser displayed the the listed error.
* LimeSurvey is installed correctly and the database was created. But when redirected to the admin page, the browser displayed the listed error.
* $rootdir and $rooturl are correctly set in config.php.
* <code>$rootdir</code> and <code>$rooturl</code> are correctly set in config.php.
* The disk path name for limesurvey installation directory includes one of the following characters: ()+
* The disk path name for limesurvey installation directory includes one of the following characters: '(',')' or '+'.


''Note:'' Other characters may also induce the same behaviour
{{Alert|title=Attention|text=Other characters may also induce the same behavior.}}


===Fix===
===Fix===


Move / rename the limesurvey installation directory so that pathname does not include either the '''(''' or ''')''' characters
Move/rename the LimeSurvey installation directory so that the path name includes non of the following characters: '(',')' or '+' characters.


=After installation=  
=After installation=  


For all issues happening after a successful installation please refer to the [[Troubleshooting]] page.
For all the other issues that may occur after a successful installation, please refer to the [[Troubleshooting|troubleshooting page]].

Revision as of 13:30, 19 October 2017

Contenuti:

Installazione sul proprio computer

LimeSurvey can be installed on your computer with MAMP/XAMPP or any other system. Bear in mind that your computer is not a web server - it's not accessible via web to any other user.

In order to make your survey reachable to other users via the web, you need to either:

  • own a server or a web space from a host provider
  • or find a LimeSurvey-specialized host provider
  An installation on your computer is not done to share your survey on the internet!


Inizio Installazione

How can I create a database and a user in MySQL with command-line access?

You have to enter the commands below in your MySQL:

  • create database <your_database_name>;
  • create user <your_database_username>;
  • create user <your_database_username>@localhost;
  • set password for <your_database_username> = PASSWORD('<your_database_password>');
  • set password for <your_database_username>@localhost = PASSWORD('<your_database_password>');
  • grant all on <your_database_name>.* to '<your_database_username>';
  • grant all on <your_database_name>.* to '<your_database_username>'@'localhost';

In terminal, <your_database_name>, <your_database_username>, and <your_database_password> have to be replaced with the according/desired values.

Cosa succede se non posso creare un database tramite lo script di LimeSurvey?

Normally, the script creates a new database, and then the table structure. However, if your server/ISP doesn't give you admin rights to create a new database in MySQL, you will need to contact your server administrator to get the necessary database created (or create it yourself if you receive the required permissions). The newly created blank database should include the appropriate access rights (i.e.: read/write/create). Then, you should be able start the LimeSurvey installation, which will create the tables within the newly created database.

Blank page when accessing the install page

This problem doesn't occur within the LimeSurvey installation but within the PHP installation.

  • Verify you have the MySQL PHP module (php-mysql) installed.
  • Verify your PHP install is loading the PHP.ini file your are modifying and not parsing other PHP.INI files on your system.
  • Verify the location and permissions of the following setting in your PHP.ini:
upload_tmp_dir="/temp"

session.save_path="/temp"
  • Verify that your server runs a suitable PHP version.

Error messages due to non-existing resources

Sometimes, files are not uploaded correctly or are broken during the upload process. This leads to several different error messages. Most of them refer to a file or function within a file which can't be found.

Solution: Re-upload all files using the binary mode of your FTP programme.

Pagina Requisiti

What is the mbstring (Multibyte String Functions) library?

The mbstring library is a PHP library that can convert char sets from one language to another. You need it if you want to run LimeSurvey. To check if it is already installed, open the URL from a web browser:

http://<your_server>/<your_limesurvey_directory>/admin/install/phpinfo.php

A lot of information will be shown. Search for the string 'mbstring' in the Configuration section. If you find the mbstring section, then all should be well and you can continue with your LimeSurvey installation!

If you don't find the mbstring section, you might have a problem on your hands. There are three possible scenarios:

  • If it's your host provider's server, ask for the activation of that extension in PHP or for further information on how you can activate it - if you have a good administration panel for your server, you may be able to activate it yourself
  • If it's your own Linux server, you may have to re-compile PHP and include the mbstring library. Ask the Linux experts how to do that. However, you can install it using your Linux package manager, which is mostly available in all the Linux distributions nowadays
    • If you are using a version of Linux that supports 'yum' (CentOS, RedHat, Fedora)...
      • ...use the terminal (as a super user) and type: yum install php-mbstring
      • ...make sure to update /etc/php.ini and uncomment the various mbstring params
      • ...make sure to restart apache after installing it: /etc/init.d/httpd restart
  • If it's your own Windows server, search for php.ini on your system, open it with an editor, and search for mbstring. Most probably, the line that contains the string is commented out with a semicolon. Remove the semicolon, save and restart your web server

Stuck at checking file system permissions

If SELinux is activated (primarily on CentOS), then you might get an error that the file system permissions are not correct, even if the list of directories is empty. SELinux prevents writing even though the permissions are for example on 777 or 755. To configure SELinux correctly for your server - check out the SELinux documentation.

Dopo la creazione del database

Pagina bianca dopo la creazione del database

Symptoms

  • LimeSurvey is installed correctly and the database was created, but instead of the admin page, you get an empty page
  • Web server log shows "Fatal error: Call to a member function on a non-object in /path/to/limesurvey/admin/login_check.php on line 69"

Fix

This is probably related to an incorrect setting for $rooturl or $rootdir in config.php. The file config.php attempts to set $rootdir correctly by calling dirname('''FILE'''). While this usually works, it can be upset when LimeSurvey is installed in a user's home or public_html directory and the home directory is mounted over NFS. To set up the $rootdir manually, (your shell or pwd command may show you a path like /disks/hostname/home/username/public_html/limesurvey), try using /home/username/public_html/limesurvey.

When accessing the admin page, the browser keeps running and will eventually fail to show it

Symptoms

  • LimeSurvey is installed correctly and the database was created. However, when you access the admin page, the browser keeps running and will eventually fail to show the page
  • When you check the web server access log, its size has become quite big (in some cases, more than 2 GB)
  • Inside the access log, you get this message filling the log:
  Warning : fread() [function.fread]: Length parameter must be greater than 0 in /limesurvey/classes/php-gettext/streams.php on line 120.

The line number may be different depending on your LimeSurvey version.

Fix

This may be caused by the mbstring.func_overload setting. Change the following setting in the php.ini file:

mbstring.func_overload = 0
This means no function overloading. See the PHP manual for this setting: Function Overloading Feature.

When accessing the admin page, the browser reports Fatal error: Call to a member function gT() on a non-object in login_check.php on line 76

Symptoms

  • LimeSurvey is installed correctly and the database was created. But when redirected to the admin page, the browser displayed the listed error.
  • $rootdir and $rooturl are correctly set in config.php.
  • The disk path name for limesurvey installation directory includes one of the following characters: '(',')' or '+'.
  Attention : Other characters may also induce the same behavior.


Fix

Move/rename the LimeSurvey installation directory so that the path name includes non of the following characters: '(',')' or '+' characters.

After installation

For all the other issues that may occur after a successful installation, please refer to the troubleshooting page.