How to Install LimeSurvey on Arch Linux

In this tutorial, we will guide you through the process of installing LimeSurvey on Arch Linux. LimeSurvey is a free and open-source survey software, which allows you to create, manage and analyze online surveys, feedback forms, polls, and questionnaires.

Prerequisites

Before we begin, make sure you have the following prerequisites:

Step 1: Install Apache Web Server

LimeSurvey requires a web server to run. Apache is a popular, open-source web server that is easy to install and configure. To install it, run the following command:

sudo pacman -S apache

After the installation is complete, start the Apache service and enable it to auto-start at system boot:

sudo systemctl start httpd
sudo systemctl enable httpd

Check the Apache status to confirm that it’s running:

sudo systemctl status httpd

Step 2: Install PHP and Required Extensions

LimeSurvey is built on PHP, so it requires PHP and some extensions to be installed on the system. To install PHP with required extensions, run the following command:

sudo pacman -S php php-apache php-gd php-imap php-intl php-ldap php-mcrypt php-pgsql php-sqlite

Once the installation is complete, restart the Apache service:

sudo systemctl restart httpd

Step 3: Install PostgreSQL Database

LimeSurvey uses a database to store surveys, responses, and other data. PostgreSQL is a popular, open-source database that is recommended for LimeSurvey. To install PostgreSQL on Arch Linux, run the following command:

sudo pacman -S postgresql

After the installation is complete, start the PostgreSQL service and enable it to auto-start at system boot:

sudo systemctl start postgresql
sudo systemctl enable postgresql

Step 4: Create a Database and User for LimeSurvey

Next, we need to create a database and user for LimeSurvey to use. To do that, follow these steps:

  1. Log in to PostgreSQL as the postgres user:
sudo sudo -u postgres psql
  1. Create a new database for LimeSurvey:
CREATE DATABASE limesurvey_db;
  1. Create a new user for LimeSurvey:
CREATE USER limesurvey_user WITH PASSWORD 'your_password';
  1. Grant all privileges on the LimeSurvey database to the LimeSurvey user:
GRANT ALL PRIVILEGES ON DATABASE limesurvey_db TO limesurvey_user;
  1. Exit the PostgreSQL shell:
\q

Step 5: Download and Install LimeSurvey

Now that we have everything set up, let’s download and install LimeSurvey on Arch Linux. Follow these steps:

  1. Download the LimeSurvey archive from the official website: https://www.limesurvey.org/. Choose the “Latest stable release” and download the appropriate format for your system (ZIP or Tarball).

  2. Extract the LimeSurvey archive to the web root directory:

sudo unzip LimeSurvey-X.X.X+XXXXX.zip -d /srv/http/
  1. Rename the LimeSurvey folder to a simpler name, such as “limesurvey”:
sudo mv /srv/http/limesurvey-X.X.X+XXXXX /srv/http/limesurvey
  1. Change the ownership of the LimeSurvey folder to the Apache user:
sudo chown -R http:http /srv/http/limesurvey

Step 6: Configure LimeSurvey

The last step is to configure LimeSurvey by editing the “config.php” file. Follow these steps:

  1. Open the “config.php” file with a text editor:
sudo nano /srv/http/limesurvey/application/config/config.php
  1. Edit the database settings to match your setup:
'dbtype' => 'pgsql',
'dbhost' => 'localhost',
'dbname' => 'limesurvey_db',
'dbuser' => 'limesurvey_user',
'dbpass' => 'your_password',
  1. Save and close the file.

Step 7: Access LimeSurvey

Now, open your web browser and navigate to the following URL:

http://localhost/limesurvey/index.php/admin

If everything is set up correctly, you should see the LimeSurvey login page. Log in with the credentials you created earlier, and you should be able to start creating surveys, questions, and responses.

Congratulations, you have successfully installed and configured LimeSurvey on Arch Linux!

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!