Skip to Content
Installation

Install LimeSurvey

Run the company's market survey on your own server, with skip logic, mailings and export to spreadsheets, and know why the questions lock once the survey goes live.

Last reviewed:

What LimeSurvey is

A program for surveys. You build the questions, send out a link, and the answers are collected in a table you can export to a spreadsheet.

You can do the same thing in a free online form tool, and for ten simple questions that is faster. LimeSurvey is there for what does not fit there: skip questions depending on earlier answers, send personal invitations with reminders, run the survey in several languages, and keep the answers on your own server instead of at a company in another country.

For a company, the market survey is the typical case. A bank or an investor asks how you know that someone wants the product, and an answer with a hundred real responses behind it is a different answer than a feeling.

This is a server program

LimeSurvey is not installed with an installation file on your computer. It needs a web server and a database, and the easiest way to get both is Docker. If you do not have Docker, start with Install Docker.

There is also a paid cloud service from LimeSurvey itself where you avoid all of this. The current tiers and prices are on limesurvey.org, and that is a page you have to read yourself, because such things change.

Windows and Linux Mint

The same files on both. Create a folder named limesurvey in the home folder, that is in C:\Users\ert-namn on Windows and in /home/ert-namn on Linux Mint. Put a text file in the folder named compose.yaml:

services:
  db:
    image: mariadb:11
    environment:
      MARIADB_ROOT_PASSWORD: BYT_UT_MIG_1
      MARIADB_DATABASE: limesurvey
      MARIADB_USER: limesurvey
      MARIADB_PASSWORD: BYT_UT_MIG_2
    volumes:
      - db_data:/var/lib/mysql

  limesurvey:
    image: martialblog/limesurvey:6-apache
    depends_on:
      - db
    ports:
      - "8080:8080"
    environment:
      DB_TYPE: mysql
      DB_HOST: db
      DB_USERNAME: limesurvey
      DB_PASSWORD: BYT_UT_MIG_2
      DB_NAME: limesurvey
      ADMIN_USER: admin
      ADMIN_PASSWORD: BYT_UT_MIG_3
      ADMIN_NAME: Admin
      ADMIN_EMAIL: er-adress@example.com

volumes:
  db_data:

Replace the three placeholders with real passwords and save them where the company saves passwords. The two named BYT_UT_MIG_2 must be the same string, since it is the database password in both places.

Open the terminal and go into the folder. On Windows that is PowerShell:

cd $HOME\limesurvey

On Linux Mint the program is called Terminal:

cd ~/limesurvey

Then start:

docker compose up -d

If Docker answers that no compose.yaml was found, you are in the wrong folder. Otherwise wait a minute while the database is set up. Then open http://localhost:8080 for the surveys and http://localhost:8080/index.php/admin to log in as administrator. We have run exactly this setup, and the version that started was LimeSurvey 6.17.18.

Here, localhost is a bigger problem than in the other guides, because a survey is meant to be shared. The word always means the computer you are sitting at, so the link you copy from the address bar leads every recipient to the recipient's own machine, where no survey exists. Build and test locally as much as you like. If you are going to collect responses, LimeSurvey must run on a machine that is on and can be reached at an address that works from outside, that is the machine's IP address on the company network or a real domain name.

One thing to know: the package does not come from LimeSurvey itself but is maintained by an outside party. It is the one that works and the one the project's users point to, but it is not official.

Three things to do first

  1. Change the survey language to Swedish when you create the survey. The language controls the buttons and error messages that the participant sees, and it is not as easy to change afterwards.
  2. Activate the survey and answer it yourselves, from another computer or in a private window. A survey that is not activated does not accept responses, and that is the most common cause of an empty response table.
  3. Export the responses to a spreadsheet after just three test responses, so that you see what the columns look like before you have a hundred rows to clean up.

The most common trap

Changing the questions after the survey has been activated. LimeSurvey locks the structure when the survey goes live, for a good reason: the answers sit in columns that belong with the questions, and if you replace a question, nobody knows what the old answers mean.

If you still want to make changes, the survey has to be deactivated, and then the answers are moved to an archive table where they no longer count. So test the survey properly before you activate it, preferably on three people who have not helped write it. They will find the unclear questions in ten minutes.

Cart

Loading