Actions

Difference between revisions of "Installation - LimeSurvey CE"

From LimeSurvey Manual

 
(Added LS5 for requirements, because LS3 has lower requirements)
 
(175 intermediate revisions by 20 users not shown)
Line 1: Line 1:
 +
<languages />
 +
<translate>
  
<div style="float:right;"><div class="simplebox">Additional pages:{toc}</div></div> {maketoc title="On this page:"}
+
<!--T:2-->
 +
__TOC__
  
=1. Make sure you can use LimeSurvey on your website=
+
<!--T:52-->
 +
<div class="simplebox"> Note: These installation instructions are for version 2.0 or later. Older instructions for 1.92 can be found [[Installation Version 1.92 or older|here]] and update instructions can be found [[Upgrading from a previous version|here]]. </div>
  
Make sure your server meets the following additional requirements:
+
==General== <!--T:3-->
  
Required:
+
<!--T:4-->
* Minimum 60 MB disk space
+
The LimeSurvey project provides two ways to install LimeSurvey:
* MySQL 4.1.0 or later '''OR'''    Microsoft SQL Server 2000 or later '''OR'''  Postgres 8.1 or later
+
*On your webserver:<br />In this case, just follow the instructions on this page starting with step 1.
* PHP 5.1.2 or later with the following modules/libraries enabled:
 
** mbstring (Multibyte String Functions) extension library (see also [http://docs.limesurvey.org/tiki-index.php?page=Installation+FAQ#What_is_this_mbstring_Multibyte_String_Functions_library_ Installation FAQ])
 
** mysql5 or pgsql PHP library (which is standard with hosting providers - if you have setup your own server make sure it is installed)
 
  
Note: We assume that you don't have any PHP standard libraries explicitly deactivated (like sessions, pcre, ctype or others).
+
<!--T:5-->
 +
*On your local Windows PC:<br />You usually only want to install LimeSurvey on your local PC if you want to create surveys locally (mainly for speed or development/test reasons) and upload them later to your live LimeSurvey installation on a web server. For this purpose, we have prepared a special LimeSurvey package which includes the web server, the database, the LimeSurvey application, and [[Installation of the LimeSurvey XAMPP package|instructions how to install it]].
  
 +
==Make sure you can use LimeSurvey on your website== <!--T:7-->
 +
 +
<!--T:8-->
 +
Make sure your server meets the following additional requirements.
 +
 +
<!--T:51-->
 +
{{Note|The minimum set of requirements will also be checked during the installation process!}}
 +
 +
<!--T:9-->
 +
The minimum set of requirements for LimeSurvey 5.x:
 +
* Minimum 250 MB disk space.
 +
* MySQL 5.5.3 or later '''OR''' Microsoft SQL Server 2005 or later '''OR''' Postgres 9 or later.
 +
* Minimum PHP 7.2.5 or later; with the following modules/libraries enabled:
 +
** [[Installation FAQ#Requirements page#What is the mbstring (Multibyte String Functions) library|mbstring (Multibyte String Functions)]] extension library.
 +
** PDO database driver for MySQL (pdo_mysql or pdo_mysqli) or Postgres (pdo_pgsql) or MSSQL ([https://php.net/manual/en/ref.pdo-sqlsrv.php pdo_sqlsrv] for Windows and [http://www.php.net/manual/en/ref.pdo-dblib.php pdo_dblib] for Linux).
 +
** Also, we assume in general that all PHP default libraries are enabled
 +
*** hash
 +
*** session
 +
*** openssl or mcrypt
 +
*** fileinfo
 +
*** SimpleXML
 +
*** etc …
 +
 +
<!--T:47-->
 +
<div class="simplebox"> Note: If you are connecting from Linux to a MSSQL database on a Windows server using the dblib PDO driver, then the underlying FreeTDS needs to be set up correctly. Check out the [[Troubleshooting]] page for more information.</div>
 +
 +
<!--T:11-->
 
Optional PHP Extensions:
 
Optional PHP Extensions:
* '''GD-Library''' '''with FreeType support''' installed is needed for captchas or nice charts in statistics - see [http://de3.php.net/manual/en/image.setup.php PHP GD-Library Extension documentation]
+
* '''GD-Library''' '''with FreeType support''' installed is needed for captchas, nice charts in statistics or to upload images via the HTML editor - see [https://php.net/manual/image.setup.php PHP GD-Library Extension documentation]
* '''IMAP''' (pretty standard) is needed for the [[Email bounce tracking system]] - see [http://www.php.net/manual/en/imap.setup.php PHP IMAP Extension documentation]
+
* '''IMAP''' (pretty standard) is needed for the [[Email bounce tracking system|email bounce tracking system]] - see [https://php.net/manual/imap.setup.php PHP IMAP Extension documentation]
* '''LDAP''' installed is needed to import tokens using LDAP - see [http://de.php.net/manual/en/ldap.installation.php PHP LDAP Documentation]
+
* '''LDAP''' installed is needed to import survey participants using LDAP - see [https://php.net/manual/en/book.ldap.php PHP LDAP Documentation]
* '''Zip''' (pretty standard) for template upload and import resources Zip archives - see [http://www.php.net/manual/en/zip.setup.php PHP Zip Extension documentation]
+
* '''Zip''' (pretty standard) is needed for template upload, import of .zip archived resources, and excel export - see [https://php.net/manual/zip.setup.php PHP Zip Extension documentation]
* '''Zlib''' (pretty standard) is needed for the [[ComfortUpdate]] - see [http://www.php.net/manual/en/zlib.setup.php PHP Zlib Extension documentation]
+
* '''Zlib''' (pretty standard) is needed for the [[ComfortUpdate]] - see [https://php.net/manual/zlib.setup.php PHP Zlib Extension documentation]
 +
 
 +
<!--T:12-->
 +
In most cases, your web server provider or system administrator will be able to help you out with these optional components.
 +
 
 +
<!--T:14-->
 +
If you want to run Microsoft's IIS server, taking a look at [[Installation on XP with IIS]] might also help.
  
In most cases your webspace provider or system administrator will be able to help you out on these optional components.
+
===Browser compatibility=== <!--T:46-->
 +
'''For the survey-taking side''', we currently support IE11 (intranet-mode excluded) and all newer comparable browsers like Edge, FF, Chrome, Opera etc. with activated JavaScript.  
  
If you want to try LimeSurvey on your local machine we recommend [http://www.apachefriends.org/en/xampp.html XAMPP] which is an easy to install software package containing a complete web server with Apache, MySQL, PHP and Perl. LimeSurvey will run on XAMPP with no configuration needed.
+
<!--T:53-->
 +
'''For the administration part''', we currently support Edge and all newer comparable browsers like FF, Chrome, Opera etc. with activated JavaScript. <u>We do not support any Internet Explorer versions in the administration part anymore.</u>
  
If you want to run Microsoft's IIS server take a look at "[[Installation of LimeSurvey on a Windows XP machine]]" and "[[Installation on XP with IIS]]".
+
====Screen sizes==== <!--T:48-->
 +
We support any reasonable screen size for survey taking (360px x 640px and up).
 +
The minimum supported screen resolution for the LimeSurvey administration page is 1280px x 1024px.
  
==1.1 Hosting for LimeSurvey==
+
===Hosting for LimeSurvey=== <!--T:15-->
  
LimeSurvey should work with most hosting companies which provide PHP and MYSQL. If you want a ready-installed version of LimeSurvey consider using LimeService, else check out our [[LimeSurvey-compatible hosting companies|list of LimeSurvey-compatible hosting companies]].
+
<!--T:16-->
 +
LimeSurvey should work with most hosting companies that provide PHP and MySQL. If you want a ready-installed version of LimeSurvey, you could try [https://www.limesurvey.org/editions-and-prices/limesurvey-pro/editions-and-prices-professional LimeSurvey Cloud], else check out our [[LimeSurvey-compatible hosting companies|list of LimeSurvey-compatible hosting companies]].
  
=2. Download the LimeSurvey package=
+
==Download the LimeSurvey package== <!--T:17-->
  
[http://sourceforge.net/projects/limesurvey/files/ Download] the latest stable LimeSurvey zip package (there are also gzip, bz2 and 7zip packages available for your convenience) and save it to your local disk.
+
<!--T:18-->
 +
[https://community.limesurvey.org/downloads/ Download] the latest stable LimeSurvey zip package (there are also gzip, bz2 and 7zip packages available for your convenience) and save it to your local disk.
  
=3. Unpack the LimeSurvey package=
+
==Unpack the LimeSurvey package== <!--T:19-->
  
Uncompress the zip file into a dedicated directory/folder using your preferred compression software. When you uncompress the file make sure that you uncompress the directory structure with the files (this is default behavior for most compression programs). The path name for the installation directory should not include '''(''' or ''')''' characters, but may include the '''space''' character
+
<!--T:20-->
 +
Uncompress the zip file into a dedicated directory/folder using your preferred compression software. When you uncompress the file make sure that you uncompress the directory structure with the files (this is default behavior for most compression programs). The path name for the installation directory should not include '(' or ')' special characters, but it may include the '''space''' character.
  
=4. Collect information about your server=
+
==Collect information about your server== <!--T:21-->
  
 +
<!--T:22-->
 
You will need to know the following things to install LimeSurvey on your web server correctly:
 
You will need to know the following things to install LimeSurvey on your web server correctly:
*Your intended website URL where your scripts will reside (e.g: ''http://my.domain.com/limesurvey'')
+
*Your intended website URL where your scripts will reside (e.g. ''http://my.domain.com/limesurvey'').
*The physical disk location on your server where your scripts will reside (ie: ''/home/usr/htdocs/limesurvey'')
+
*The physical disk location on your server where your scripts will reside (e.g. ''/home/usr/htdocs/limesurvey'').
*The IP/net location of your database server (ie: ''localhost'')
+
*The IP/net location of your database server (i.e. ''localhost'').
*If your database server uses a non-standard port find out which port it is.
+
*If your database server uses a non-standard port, find out which port it is.
*Your username and password for your database server
+
*Your user name and password for your database server.
*With most providers you can't let the script create the database but have to do it yourself.  If you are using such a provider please create a database (for example ''limesurvey'') yourself.
+
*With most providers you can't let the script create the database, but have to do it yourself. If you are using such a provider, please create a database (for example ''limesurvey'') yourself.
 +
 
 +
==Upload the files to your web server== <!--T:23-->
 +
 
 +
<!--T:24-->
 +
Using your FTP program (e.g. FileZilla), connect to your web server and create a directory to store your scripts. Then upload the files using the directory structure they are in. Make sure you '''upload the files in binary mode''' (check the settings of your FTP program). Please note that uploading in ASCII mode can lead to uncommon errors (e.g. 'class not found' error during installation), also images may not be uploaded correctly.
 +
 
 +
==Set directory permissions== <!--T:25-->
  
=5. Configure LimeSurvey=
+
<!--T:26-->
 +
For the script to work properly it needs certain access to some directories - this applies especially to Linux/*nix systems.
 +
*The '''"/limesurvey/tmp"''' directory (and all its subdirectories and files) are used for imports & uploads and should be set to ''Read & Write'' for your webserver.
 +
*The '''"/limesurvey/upload/"''' directory (and all its subdirectories and files) must also have ''Read & Write'' for your webserver in order to enable picture and media files upload.
 +
*The '''"/limesurvey/application/config/"''' directory also needs ''Read & Write'' permissions for your webserver.
 +
*The other directories can be set to ''Read Only''. You may wish in Linux/Unix to set the permissions on each file within the /limesurvey/admin directory to ''Read Only''.
  
Now open the file ''config.php'' in the ''/limesurvey/'' root directory with your preferred text editor.
+
<!--T:27-->
 +
{{Alert|If you are using Linux, then setting permissions depends on your webserver configuration. For example, if you use Apache HTTPD on CentOS, type '''chmod -R 755 <directory> ; chown -R apache <directory>'''. This will give everyone access to read, and your webserver will have the permission to write. Check the [https://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions following link] for more information on Linux permissions.}}
  
==5.1 Basic settings==
+
==Create a database user== <!--T:28-->
  
Walk through config.php and check/configure the following settings:
+
<!--T:29-->
*'''$databasetype:''' This is the database type. At the moment you can set here "mysql" for the MySQL database server, "odbc_mssql" or "mssqlnative" (requires the native MSSQL PHP driver from Microsoft) for Microsoft SQL server and "postgres" for Postgres SQL Server. At least those are the ones that have been tested. (:biggrin:)
+
LimeSurvey will create a database and the tables inside it. To be able to do this, it will need the user name and password of a database user. We generally recommend creating a database user with the following permissions:
  
<div class="simplebox">[[File:help.png]] '''Important:''' If you have Microsoft SQL server make sure your database is using a case-insensitive collation (should be set by default).</div>
+
<!--T:30-->
*'''$databaselocation:''' Set this to the IP/net location of your database server. In most cases "localhost" will work. If you are using MSSQL try to use <MACHINENAME>/<SERVERNAME> instead.
+
- MySQL: SELECT, CREATE, INSERT, UPDATE, DELETE, ALTER, DROP, INDEX
*'''$databasename:''' The name of the database on your database server that you will be using for LimeSurvey. If you have high level permissions on the server, you can create a database from LimeSurvey. In this case, put whatever the database will be called into this setting. Alternatively you can use the name of a previously created database here. If you provide an existing database name make sure the database does not contain old tables of LimeSurvey.
 
*'''$databaseuser:''' Your database server user name
 
*'''$databasepass:''' Your database server password
 
*'''$dbprefix:''' You can leave this setting blank (ie:  $dbprefix="";) if you are using a separate database for LimeSurvey alone. If you want to share a database between LimeSurvey and other database applications, add a prefix to this setting. The recommended prefix is "lime_", but really - this is up to you. ''Note: Creating a database and a username in MySQL with command line is described in [[Installation FAQ]].''
 
*'''$rooturl:''' This should be set to the URL location of your LimeSurvey scripts. If you copied the Limsurvey files into the folder ''limesurveyfolder'' you have to rename ''{$_SERVER<nowiki>[</nowiki>'SERVER_NAME']}/limesurvey'' to the folder name you have chosen (''{$_SERVER<nowiki>[</nowiki>'SERVER_NAME']}limesurveyfolder''). The variable {$_SERVER<nowiki>[</nowiki>'SERVER_NAME']} will attempt to do determine your domain name atomatically, so usually don't change it. If it doesn't work, set this to full server URL - for example "http://www.mydomain.com/limesurvey"). If you want LimeSurvey to '''only''' use SSL change http to https (provided that you have SSL certificates correctly installed and configured on your server). If you want to use http & https at the same time just leave this setting at http.
 
*'''$rootdir:''' Usually you don't need to change this. It should be set to the physical disk location of your scripts. The default setting will attempt to do this for you, so most probably you won't need to change anything here (the section <nowiki>"dirname('''FILE''');"</nowiki> tries to do this automatically). If it doesn't work, type the disk location in manually - for example ''/home/public_html/limesurvey''.
 
*'''$defaultuser:''' When the script has access control turned on this is the default user that is created when LimeSurvey first sets up your security settings.
 
*'''$defaultpass:''' When the script has access control turned on this is the default password that is created when LimeSurvey first sets up your security settings. <br/>
 
  
<div class="simplebox">[[File:help.png]] '''Note:''' Both settings ($defaultuser and $defaultpass) are used '''only''' for the initial setup. After LimeSurvey has set up the database these settings are not used at all.</div>
+
<!--T:31-->
 +
- PostgreSQL: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, TRIGGER
  
==5.2 Optional settings==
+
<!--T:32-->
 +
- Microsoft SQL Server: ''Unknown - if you can find out this information, please complete it''.
  
There are many more optional settings you can set in config.php. Most of them are for installation only and can later be change in the [[Global settings]] dialog. For more information on these optional settings please check out the [[Optional settings|this page]]. However for a basic setup just continue with the next step.
+
==Run the installation script== <!--T:33-->
  
=6. Upload the files to your web server=
+
<!--T:34-->
 +
'''Go to "example.org/limesurvey/admin"'''. If you configured everything correctly, the LimeSurvey installer should be starting - just follow the instructions. You will be asked whether you wish to create the database and/or create the tables inside the database. LimeSurvey will then create the needed tables in the database.
  
Using your FTP program, connect to your web server and create a directory to store your scripts. Then upload the files using the directory structure they are in. Make sure you '''upload the files in binary mode''' (check the settings of your FTP program). Please note that uploading in ASCII mode can lead to uncommon errors (e.g. 'class not found' error during installation), also images may not be uploaded correctly.
+
==Connect to the administration script for the first time== <!--T:35-->
  
=7. Set Directory permissions=
+
<!--T:36-->
 +
You are done when the installation finishes! Open your browser and enter the URL to the LimeSurvey administration. Assuming you used 'limesurvey' as the directory name to store the files in, this will be something like "http://www.example.com/limesurvey/admin".
  
For the script to work properly it needs certain access to some directories - this applies especially to Linux/*nix systems.
+
<!--T:37-->
*The '''"/limesurvey/tmp"''' directory is used for imports & uploads and should be set to ''Read & Write'' for your webserver.
+
You should get a login screen. The default login credentials (if they have not been changed during the installation) are:
*The '''"/limesurvey/upload/"''' directory and all its subdirectories must also have ''Read & Write'' for your webserver in order to enable picture and media files upload.
 
*The other directories can be set to ''Read Only'' or in Linux/Unix. You may wish to set the permissions on each file within the /limesurvey/admin directory to ''Read Only''.
 
  
<div class="simplebox">[[File:help.png]] '''Hint:''' If you are using Linux then depending on your webserver configuration you will have to chmod the rights on the writable folders to 755 or 777. Try 755 first - if it does not work 'upgrade' to 777.</div>
+
<!--T:38-->
 +
<syntaxhighlight lang='html'>
  
=8. Run the installation script=
+
<!--T:49-->
 +
User: admin
 +
Password: password
  
'''Go to "http://your.domain.com/limesurvey/admin/install"'''. If you configured everything correctly you will be asked to create the database and/or create the tables inside the database. Limesurvey then creates the needed tables in the database.
+
<!--T:50-->
 +
</syntaxhighlight>
  
After the script shows that it successfully created the tables, you will be prompted to '''rename or delete the ''/admin/install'' directory''' - so just do it (:biggrin:).
+
<!--T:41-->
 +
You will be prompted to change the default password after you logged in. Have fun!
  
=9. Connect to the administration script for the first time=
+
==Further configuration== <!--T:54-->
  
You are done! Open your browser and enter the URL of your admin.php script. Assuming you used LimeSurvey as the directory name to store the files in, this will be something like "http://your.domain.com/limesurvey/admin/admin.php".
+
===Caching=== <!--T:55-->
  
You should get a login screen. The default login credentials are
+
<!--T:56-->
 +
LimeSurvey uses the Yii file cache by default, but it can be configured to use other cache engines. Possible other caches are:
  
<div class="simplebox"> User: admin
+
<!--T:57-->
 +
* Memcached
 +
* Redis
 +
* WinCache
 +
* XCache
  
Password: password
+
<!--T:58-->
 +
Please see the [https://www.yiiframework.com/doc/api/1.1/CCache Yii documentation] for full description.
  
</div>
+
<!--T:59-->
 +
Since LimeSurvey 4.0.0 you also have the possibility to cache calculations in the ExpressionScript. This can provide a significant speed-up depending on survey complexity. To enable the emcache, add this in your config.php file (components array):
  
You will be prompted to change the default password after you logged in. Have fun!
+
<!--T:60-->
 +
<syntaxhighlight lang="php">
 +
'emcache' => array('class' => 'CFileCache'),
 +
</syntaxhighlight>
  
=10. What if I have problems...=
+
<!--T:61-->
 +
As with the main Yii cache, other cache systems can be used.
  
Like all computer programs, most of the time things will work just like the instructions say, but sometimes they just won't. There are too many possible reasons for things not going according to plan to describe here. If you have trouble, first check out the [[Installation FAQ]]. If you don't find your answer there please post your problem and any error messages in the [http://www.limesurvey.org/en/forum LimeSurvey forums] on limesurvey.org or join the [irc://irc.freenode.net/limesurvey|LimeSurvey IRC channel]:
+
<!--T:62-->
 +
{{Note| The emcache is not compatible with randomized surveys, and will be automatically turned off in such cases.}}
  
<div class="simplebox"><center>'''[http://www.limesurvey.org/en/support/live-chat Direct link to the Official LimeSurvey IRC Channel]'''</center></div>
+
==What if I have problems...== <!--T:42-->
  
=Other tutorials=
+
<!--T:43-->
 +
Like all computer programs, most of the time things will work just like the instructions say, but sometimes they just won't. There are too many possible reasons for things not going according to plan to describe here. If you have trouble, first check out the [[Installation FAQ]]. If you don't find your answer there, please post your problem and any error messages in the [https://www.limesurvey.org/forum LimeSurvey forums], open a [https://www.limesurvey.org/contact-us support ticket] (only for customers using LimeSurvey Cloud), or join our [https://discord.gg/DEjguXn Discord channel].
  
These tutorials are not maintained or created by us and should only be used as additional 'mental' support. They are not a replacement for reading the written instructions above!
+
</translate>
* OSS Watch [http://wiki.oss-watch.ac.uk/LimeSurveyInUbuntu How to install and configure '''LimeSurvey''' v1.01 in Ubuntu Feisty].
 
* OSS Watch [http://wiki.oss-watch.ac.uk/LimeSurveyInUbuntu Upgrading from '''LimeSurvey''' 1.01 to '''LimeSurvey''' 1.52+ build 3304 2007-09-20 in Ubuntu Feisty].
 

Latest revision as of 14:54, 18 November 2021

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎occitan • ‎polski • ‎português do Brasil • ‎slovenščina • ‎svenska • ‎русский • ‎中文(中国大陆)‎ • ‎中文(繁體)‎ • ‎日本語
Note: These installation instructions are for version 2.0 or later. Older instructions for 1.92 can be found here and update instructions can be found here.

General

The LimeSurvey project provides two ways to install LimeSurvey:

  • On your webserver:
    In this case, just follow the instructions on this page starting with step 1.
  • On your local Windows PC:
    You usually only want to install LimeSurvey on your local PC if you want to create surveys locally (mainly for speed or development/test reasons) and upload them later to your live LimeSurvey installation on a web server. For this purpose, we have prepared a special LimeSurvey package which includes the web server, the database, the LimeSurvey application, and instructions how to install it.

Make sure you can use LimeSurvey on your website

Make sure your server meets the following additional requirements.

Help.pngThe minimum set of requirements will also be checked during the installation process!

The minimum set of requirements for LimeSurvey 5.x:

  • Minimum 250 MB disk space.
  • MySQL 5.5.3 or later OR Microsoft SQL Server 2005 or later OR Postgres 9 or later.
  • Minimum PHP 7.2.5 or later; with the following modules/libraries enabled:
    • mbstring (Multibyte String Functions) extension library.
    • PDO database driver for MySQL (pdo_mysql or pdo_mysqli) or Postgres (pdo_pgsql) or MSSQL (pdo_sqlsrv for Windows and pdo_dblib for Linux).
    • Also, we assume in general that all PHP default libraries are enabled
      • hash
      • session
      • openssl or mcrypt
      • fileinfo
      • SimpleXML
      • etc …
Note: If you are connecting from Linux to a MSSQL database on a Windows server using the dblib PDO driver, then the underlying FreeTDS needs to be set up correctly. Check out the Troubleshooting page for more information.

Optional PHP Extensions:

In most cases, your web server provider or system administrator will be able to help you out with these optional components.

If you want to run Microsoft's IIS server, taking a look at Installation on XP with IIS might also help.

Browser compatibility

For the survey-taking side, we currently support IE11 (intranet-mode excluded) and all newer comparable browsers like Edge, FF, Chrome, Opera etc. with activated JavaScript.

For the administration part, we currently support Edge and all newer comparable browsers like FF, Chrome, Opera etc. with activated JavaScript. We do not support any Internet Explorer versions in the administration part anymore.

Screen sizes

We support any reasonable screen size for survey taking (360px x 640px and up). The minimum supported screen resolution for the LimeSurvey administration page is 1280px x 1024px.

Hosting for LimeSurvey

LimeSurvey should work with most hosting companies that provide PHP and MySQL. If you want a ready-installed version of LimeSurvey, you could try LimeSurvey Cloud, else check out our list of LimeSurvey-compatible hosting companies.

Download the LimeSurvey package

Download the latest stable LimeSurvey zip package (there are also gzip, bz2 and 7zip packages available for your convenience) and save it to your local disk.

Unpack the LimeSurvey package

Uncompress the zip file into a dedicated directory/folder using your preferred compression software. When you uncompress the file make sure that you uncompress the directory structure with the files (this is default behavior for most compression programs). The path name for the installation directory should not include '(' or ')' special characters, but it may include the space character.

Collect information about your server

You will need to know the following things to install LimeSurvey on your web server correctly:

  • Your intended website URL where your scripts will reside (e.g. http://my.domain.com/limesurvey).
  • The physical disk location on your server where your scripts will reside (e.g. /home/usr/htdocs/limesurvey).
  • The IP/net location of your database server (i.e. localhost).
  • If your database server uses a non-standard port, find out which port it is.
  • Your user name and password for your database server.
  • With most providers you can't let the script create the database, but have to do it yourself. If you are using such a provider, please create a database (for example limesurvey) yourself.

Upload the files to your web server

Using your FTP program (e.g. FileZilla), connect to your web server and create a directory to store your scripts. Then upload the files using the directory structure they are in. Make sure you upload the files in binary mode (check the settings of your FTP program). Please note that uploading in ASCII mode can lead to uncommon errors (e.g. 'class not found' error during installation), also images may not be uploaded correctly.

Set directory permissions

For the script to work properly it needs certain access to some directories - this applies especially to Linux/*nix systems.

  • The "/limesurvey/tmp" directory (and all its subdirectories and files) are used for imports & uploads and should be set to Read & Write for your webserver.
  • The "/limesurvey/upload/" directory (and all its subdirectories and files) must also have Read & Write for your webserver in order to enable picture and media files upload.
  • The "/limesurvey/application/config/" directory also needs Read & Write permissions for your webserver.
  • The other directories can be set to Read Only. You may wish in Linux/Unix to set the permissions on each file within the /limesurvey/admin directory to Read Only.
Important.png  If you are using Linux, then setting permissions depends on your webserver configuration. For example, if you use Apache HTTPD on CentOS, type chmod -R 755 <directory> ; chown -R apache <directory>. This will give everyone access to read, and your webserver will have the permission to write. Check the following link for more information on Linux permissions.


Create a database user

LimeSurvey will create a database and the tables inside it. To be able to do this, it will need the user name and password of a database user. We generally recommend creating a database user with the following permissions:

- MySQL: SELECT, CREATE, INSERT, UPDATE, DELETE, ALTER, DROP, INDEX

- PostgreSQL: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, TRIGGER

- Microsoft SQL Server: Unknown - if you can find out this information, please complete it.

Run the installation script

Go to "example.org/limesurvey/admin". If you configured everything correctly, the LimeSurvey installer should be starting - just follow the instructions. You will be asked whether you wish to create the database and/or create the tables inside the database. LimeSurvey will then create the needed tables in the database.

Connect to the administration script for the first time

You are done when the installation finishes! Open your browser and enter the URL to the LimeSurvey administration. Assuming you used 'limesurvey' as the directory name to store the files in, this will be something like "http://www.example.com/limesurvey/admin".

You should get a login screen. The default login credentials (if they have not been changed during the installation) are:

User: admin
Password: password

You will be prompted to change the default password after you logged in. Have fun!

Further configuration

Caching

LimeSurvey uses the Yii file cache by default, but it can be configured to use other cache engines. Possible other caches are:

  • Memcached
  • Redis
  • WinCache
  • XCache

Please see the Yii documentation for full description.

Since LimeSurvey 4.0.0 you also have the possibility to cache calculations in the ExpressionScript. This can provide a significant speed-up depending on survey complexity. To enable the emcache, add this in your config.php file (components array):

'emcache' => array('class' => 'CFileCache'),

As with the main Yii cache, other cache systems can be used.

Help.png The emcache is not compatible with randomized surveys, and will be automatically turned off in such cases.

What if I have problems...

Like all computer programs, most of the time things will work just like the instructions say, but sometimes they just won't. There are too many possible reasons for things not going according to plan to describe here. If you have trouble, first check out the Installation FAQ. If you don't find your answer there, please post your problem and any error messages in the LimeSurvey forums, open a support ticket (only for customers using LimeSurvey Cloud), or join our Discord channel.