LimeSurvey installation requirements: A complete guide
LimeSurvey installation requirements: PHP 8.1.29+, MySQL 8+, database setup, permissions, and infrastructure planning. Learn system specs, common failures, and when to choose managed hosting.
- LimeSurvey requires PHP 8.1.29+ (v7.x), 8.1-8.3 (v6.x), or 7.2.5-8.0 (v5.x), plus MySQL 8+, MariaDB 10.3.38+, PostgreSQL 14+, or MSSQL 2019+
- Permission errors on the /upload directory and missing PHP modules (mbstring, curl, PDO) are the top failure points
- Initial setup takes 4-8 hours including server configuration; ongoing maintenance costs USD 200-400 per year in labor
- Self-hosting costs are dominated by your time, not server fees; teams without DevOps expertise should evaluate managed hosting
- Managed LimeSurvey hosting eliminates patching, backups, and downtime risks, often saving money despite higher per-month costs
LimeSurvey installation is straightforward if you have the right server setup, but the requirements vary depending on which version you're deploying. This guide walks you through the system requirements, common failure points, and the infrastructure decisions that actually matter for your business.
What are the system requirements for LimeSurvey?
LimeSurvey requires a web server (Apache, Nginx, or IIS), a database (MySQL 8+, MariaDB 10.3.38+, PostgreSQL 14+, or MSSQL 2019+), and a PHP version that matches your release. Disk space requirements start at 256 MB for the core installation, but you should plan for at least 1 GB if you will store survey data and file uploads. Your server needs outbound internet access for LimeSurvey updates and email delivery.
The specific PHP version depends on which LimeSurvey release you choose. Version 7.x requires PHP 8.1.29 or later. Version 6.x supports PHP 8.1 through 8.3. Version 5.x runs on PHP 7.2.5 through 8.0. If you are running an older version of PHP, you will need to upgrade your hosting environment before starting the installation.
Database choice affects performance and compatibility. MySQL 8.0 and MariaDB 10.3.38 are the most widely available options across shared and managed hosting. PostgreSQL 14+ works well for larger deployments with complex survey logic. MSSQL 2019+ is suitable if you are already locked into the Microsoft stack. Once you choose a database, do not change it later without a full backup and migration, so pick carefully.
Your web server can run on shared hosting, a virtual private server (VPS), or a dedicated machine. LimeSurvey does not require root access. A standard shared hosting account with SSH access is enough to get started. For teams planning to host 10,000+ concurrent survey respondents, a dedicated server or managed hosting becomes practical because memory pressure and database locks will slow down a small VPS significantly.
What PHP modules and extensions do you need?
LimeSurvey requires specific PHP modules compiled into your server. The core modules are: PDO with a driver for your chosen database (PDO_MYSQL, PDO_PGSQL, or PDO_SQLSRV), mbstring for multibyte string handling, curl for external API calls, and gd or imagick for image resizing and QR code generation on survey export.
Optional but strongly recommended modules include: json (usually installed by default), zip for backup archives, xml for data import/export, and ftp if you plan to use the file upload feature in surveys. If you are using Windows hosting, you need the MSSQL native client library installed separately.
Before you upload any files, ask your hosting provider for a PHP info report or check via SSH: create a simple PHP file with phpinfo(); and verify each module is listed. Shared hosting providers often hide or disable modules without warning. If mbstring or PDO are missing, contact support. Do not attempt workarounds because LimeSurvey will fail silently at random points during installation and testing.
PHP settings also matter. Set short_open_tag to Off (security best practice). Set upload_max_filesize to at least 50 MB if you plan to import large CSV data sets. Set max_execution_time to at least 300 seconds (5 minutes) because large database operations during installation can timeout on a slow server. If these are locked by your hosting provider, you cannot override them in your own .htaccess file, so verify they are available before you commit to that host.
How do you prepare your server before installation?
Start by creating a new database and a dedicated database user. Most hosting providers offer phpMyAdmin or a control panel. Create the database with UTF-8 encoding (utf8mb4 collation for MySQL to handle emoji and international characters). Create a user account with SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, and INDEX permissions on that database only. Assign a strong password: use a password manager to generate 32-character random strings. Do not reuse passwords from other services.
Next, set up directory permissions correctly before running the installer. LimeSurvey needs the /upload directory writable by the web server. On most Linux servers, this means setting permissions to 755 (read-execute for owner and group, read-execute for others) or 775 (read-write-execute for owner and group, read-execute for others). Setting 777 is a shortcut but a security risk if other users have shell access to the server.
Create a subdomain or subdirectory for LimeSurvey. For example, surveys.yourcompany.com or yourcompany.com/surveys. Choose the subdirectory path carefully because moving LimeSurvey after installation is complex. Update your database connection settings and internal paths manually if you need to migrate.
Download the latest version from the LimeSurvey GitHub repository. The repository has over 43,600 commits and is actively maintained. Choose the stable release, not the development branch. Unpack the archive on your local machine first, not on the server, to avoid partial uploads due to network timeouts. Use an SFTP client (Transmit, Cyberduck, WinSCP) or SSH if your hosting allows it. Do not use a web-based file manager for the initial upload because they are slow and unreliable for 500+ files.
After upload, verify file ownership. If you uploaded via SFTP as a user account, the files belong to that user. The web server (Apache user, Nginx worker, or IIS AppPool) must be able to read them. On shared hosting, this is usually handled automatically. On a VPS, you may need to change ownership: chown -R www-data:www-data /path/to/limesurvey.
What are the step-by-step installation steps?
Once your server is ready, the installation script handles most of the work. Navigate to your LimeSurvey URL in a browser. The installer will run a series of checks and prompt you for configuration.
-
Accept the license: LimeSurvey is dual-licensed under AGPL and commercial. If you are self-hosting, you are using the AGPL version, which requires you to publish any modifications you make to the codebase. Accept the terms and proceed.
-
Review system requirements: The installer checks PHP version, database drivers, and required extensions. If any items are red, stop and fix them before continuing. Skipping this step leads to failures later.
-
Enter database credentials: Type the database host (usually localhost on shared hosting, or a specific IP on managed hosting), database name, database user, and password. If your hosting provider uses a separate database host (e.g.,
db-12345.host.com), use that instead of localhost. -
Set the admin username and password: Create the master account for LimeSurvey. Use a strong password: at least 16 characters, mixed case, numbers, and symbols. Do not use admin or password. This is your root account and the only way to recover the system if something breaks.
-
Verify optional settings: LimeSurvey will ask about caching (Redis, Memcached) if available. Skip this unless you have already set up a cache server. It will ask about SMTP configuration for email. If you want email notifications for survey responses, enter your mail server details or a third-party service (SendGrid, AWS SES). If you skip this, survey invitations must be sent manually.
-
Complete the installation: The installer creates database tables, uploads initial data, and logs you in. You are now in the LimeSurvey admin panel.
-
Create your first survey: Start with a simple test survey to verify everything works. Add a few questions, export the results, and send a test invite to yourself.
Where do installations typically fail, and how do you fix it?
Database connection errors are the most common failure. The error message "Can't connect to MySQL server on localhost" usually means the host name is wrong. On shared hosting, try localhost. On managed hosting or a different server, use the specific hostname your provider gave you. Never guess. If SFTP or SSH access is available, connect and try: mysql -h hostname -u username -p to test the connection directly.
Permission errors on the /upload directory prevent LimeSurvey from saving survey data. If you see "Cannot open file for writing," the web server does not have write access. Fix it with: chmod 775 /path/to/limesurvey/upload. If you uploaded via SFTP as a different user than the web server, you may need to change ownership too: chown www-data:www-data /path/to/limesurvey/upload.
PHP module errors appear as blank pages or "Fatal error: Call to undefined function" warnings. The installer checks for these, but if you skip the requirements page or your hosting provider disabled a module after you checked, you will hit this during use. Check phpinfo() again to confirm which module is missing. Common culprits are mbstring (needed for non-ASCII survey titles) and curl (needed for third-party integrations). Contact your hosting provider to enable it, or switch hosts if they refuse.
Database size limits on shared hosting may interrupt large exports. If your hosting plan includes only 100 MB of database storage and your survey data grows to 80 MB, the next export will fail. Monitor your database size regularly: log into your control panel and check usage. Plan to upgrade your hosting tier or migrate to a VPS if data approaches 50% of your limit.
Timeout errors during installation or export mean your server is too slow or the operation is too large. Increase max_execution_time to 600 seconds (10 minutes) if your hosting allows it. If the timeout persists, the server is overloaded or underpowered. Slow servers turn a 1-hour installation into a multi-hour debugging session. For teams evaluating LimeSurvey, this is a signal to consider managed hosting to avoid these issues entirely.
What infrastructure should you plan for?
Server size depends on survey scale. A small VPS with 2 GB RAM and 40 GB disk handles 1,000 survey responses per month comfortably. As you scale to 10,000 responses per month, upgrade to 4 GB RAM and 80 GB disk. At 100,000 responses per month, move to 8 GB RAM, a dedicated database server, and a CDN for static assets (if you serve media files in surveys).
Backup strategy is critical because LimeSurvey stores irreplaceable survey data. Set up automated daily backups of both the database and the /upload directory. Most hosting providers offer automated backups; enable them. Restore a backup annually to verify it works. A backup that you have never restored is just a test of your faith.
SSL/HTTPS is mandatory. Modern hosting includes free SSL certificates (Let's Encrypt). Enforce HTTPS-only traffic so survey responses are encrypted in transit. If you plan to collect sensitive data (health, financial, identity information), use HTTPS and consider encrypting stored survey data as well (LimeSurvey does not do this automatically).
Email delivery is often overlooked. If your server is on a shared host or a data center with a reputation for spam, your survey invitation emails may land in spam folders. Set up SPF, DKIM, and DMARC DNS records to improve deliverability. Or use a dedicated email service (SendGrid, Mailgun, AWS SES) integrated with LimeSurvey so your mail comes from their reputation, not your server IP.
Scaling beyond single-server infrastructure requires database replication, load balancing, and caching. Most teams do not need this until they exceed 1 million survey responses per month. By that point, self-hosting becomes a distraction from your actual business. That is when moving to managed hosting saves more money in engineering time than it costs in hosting fees.
What's the real cost of self-hosting LimeSurvey?
The software is free (AGPL), but hosting is not free, and your time is not free. Breaking down the actual costs:
A basic VPS (2 GB RAM, 40 GB SSD, unlimited bandwidth) costs USD 5-12 per month from providers like DigitalOcean, Linode, or Vultr. A managed shared hosting account runs USD 5-15 per month. If you need a larger server, costs climb to USD 20-50 per month. Over a year, that is USD 60-600 in infrastructure alone.
Now factor in your time. Initial setup: 4-8 hours. Server maintenance (security patches, PHP updates, backups): 2 hours per month. Troubleshooting when something breaks (usually permissions or database issues): 1-4 hours per incident. If you bill yourself at USD 100 per hour, that is USD 200-400 in setup and USD 200-400 per year in maintenance. A single production outage can cost you a full week of engineering time.
Database backups and restores add hidden costs. If you are not running them regularly, your survey data is at risk. A data loss incident costs far more than the cost of managed hosting for five years.
For a team spending USD 10,000+ per year on business operations, the true cost of self-hosting is often USD 3,000-6,000 per year in labor, not USD 100-200 in server fees. The math flips fast when you factor in time.
When should you choose managed hosting instead?
Choose managed hosting when your team does not have in-house DevOps expertise or your business cannot tolerate downtime. Managed LimeSurvey hosting (offered by Opsily and others) removes the infrastructure burden: no server patching, no database backups, no permission debugging.
Managed hosting makes sense for: organizations running mission-critical surveys (product research, customer satisfaction that drives decisions), teams with fewer than 5 engineers (where one person cannot be spared for server maintenance), companies in regulated industries (healthcare, finance, legal) where audit trails and compliance are required, and operations that cannot tolerate downtime (market research on a deadline).
Visit the Opsily LimeSurvey hosting hub to explore managed options, including /hosting/limesurvey for an overview, /hosting/limesurvey/hosted-limesurvey for a comparison of self-hosted vs. managed vs. Cloud options, and /hosting/limesurvey/limesurvey-cost for a cost breakdown. These resources compare the full financial and operational picture, not just server fees.
Frequently Asked Questions
Is LimeSurvey free to use?
Yes. LimeSurvey Community Edition is open-source and available under the AGPL license. You can download, modify, and deploy it without paying a license fee. The AGPL requires you to publish any code changes you make back to the community. Commercial support and hosted versions are available from LimeSurvey Ltd but are not required.
What database should I choose for LimeSurvey?
MySQL 8+ or MariaDB 10.3.38+ are the most common and widely supported. PostgreSQL 14+ is excellent if you want an open-source relational database. MSSQL 2019+ works if you are in a Microsoft-only environment. Performance is similar across all four for most survey workloads. Choose based on what your hosting provider offers and what your team already knows how to maintain.
Can I run LimeSurvey on shared hosting?
Yes, if your hosting provider supports PHP, a database, and SSH access. Shared hosting limits you to smaller survey volumes (under 100,000 responses total) and CPU-intensive features like real-time analytics. You also cannot upgrade PHP versions quickly if LimeSurvey drops support for your current version. For growing teams, the constraints become painful. Plan to migrate to a VPS within a year or two.
How long does LimeSurvey installation take?
If your server is prepared correctly, the installer runs in 10 minutes. If you need to debug permissions, database issues, or missing PHP modules, plan 1-4 hours. First-time installers often encounter permission problems or module errors that require research and trial-and-error. Experienced system administrators finish in under 30 minutes.
Does LimeSurvey require a lot of disk space?
The core installation is 150 MB. Survey data and uploaded files grow from there. A small survey (1,000 responses with a few text questions) uses 5-10 MB. A large survey (100,000 responses with media attachments) can use 500 MB to 2 GB. Plan for 10 GB of disk space minimum to avoid running out during heavy use. Monitor your disk usage monthly.
What security considerations should I be aware of?
LimeSurvey runs on public-facing infrastructure, so apply standard web application security: keep PHP updated, use HTTPS, set strong database passwords, enable CSRF protection, and restrict admin panel access by IP if possible. The AGPL license means you must publish any code changes, so security patches you create need to be open-sourced. This is why managed hosting appeals to security-conscious teams: the provider handles patches and compliance.
Can I move LimeSurvey from one server to another?
Yes, but it requires a database dump and file migration. Export your database from the old server, import it on the new server, upload the LimeSurvey files, and update the database connection settings in the configuration. Plan 2-4 hours for this process, especially if you are learning it for the first time. Managed hosting avoids this complexity entirely.
The Bottom Line
LimeSurvey installation is achievable for any team with basic server access, but the requirements are specific and the failure points are well-known. Getting the database, PHP modules, and file permissions right on the first try depends on understanding your hosting environment completely.
The real decision is not whether you can install LimeSurvey yourself, but whether installation and ongoing maintenance align with your business priorities. For a small team, every hour spent debugging permissions or applying security patches is an hour not spent on your product or customers. That is the cost that matters most.
If your team is evaluating LimeSurvey for production use, compare the total cost of ownership with managed options. Start with /hosting/limesurvey/limesurvey-cost for a breakdown, then explore /hosting/limesurvey/managed-limesurvey to see how much operational overhead you can eliminate.