bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward
eco Початковий Туторіал

Встановлення LimeSurvey на VPS

calendar_month Aug 05, 2026 schedule 20 хв. читання visibility 10 переглядів
Установка LimeSurvey на VPS: настройка опросов и баз данных
info

Потрібен сервер для цього гайду? Ми пропонуємо виділені сервери та VPS у 50+ країнах з миттєвим налаштуванням.

Потрібен сервер для цього гайду?

Розгорніть VPS або виділений сервер за хвилини.

Встановлення LimeSurvey на VPS: налаштування опитувань та баз даних

TL;DR

У цьому детальному посібнику ми крок за кроком налаштуємо потужну систему для проведення онлайн-опитувань LimeSurvey на власному віртуальному приватному сервері (VPS). Ви навчитеся готувати сервер на базі Ubuntu 24.04 LTS, встановлювати необхідний стек ПЗ (Nginx, MariaDB, PHP 8.3), конфігурувати LimeSurvey, забезпечувати безпеку за допомогою HTTPS і налаштовувати автоматичні бекапи, отримуючи повний контроль над вашими даними та опитуваннями.

  • Налаштування безпечного та продуктивного VPS на Ubuntu 24.04 LTS.
  • Встановлення та конфігурація веб-сервера Nginx, бази даних MariaDB та PHP 8.3.
  • Розгортання актуальної версії LimeSurvey (7.x) для проведення професійних опитувань.
  • Захист LimeSurvey за допомогою HTTPS, використовуючи Caddy для автоматичної видачі SSL-сертифікатів.
  • Створення надійної системи резервного копіювання для захисту даних опитувань та конфігурації.
  • Вирішення типових проблем та відповіді на поширені запитання щодо експлуатації LimeSurvey на VPS.

Що ми налаштовуємо і навіщо

Схема: Что мы настраиваем и зачем
Схема: Що ми налаштовуємо і навіщо

У цьому посібнику ми зосередимося на встановленні та налаштуванні LimeSurvey — потужної, гнучкої та повністю настроюваної платформи для створення та проведення онлайн-опитувань. LimeSurvey є відкритим програмним забезпеченням, що дає вам повний контроль над вашими даними, функціональністю та масштабуванням.

У підсумку, після завершення всіх кроків, ви отримаєте повністю функціональну інсталяцію LimeSurvey на вашому власному VPS, доступну через доменне ім'я та захищену протоколом HTTPS. Це дозволить вам створювати складні опитування, збирати та аналізувати дані без обмежень, притаманних багатьом хмарним сервісам, і при цьому забезпечити максимальну конфіденційність для ваших респондентів.

LimeSurvey підходить для широкого кола завдань: від академічних досліджень та маркетингових кампаній до внутрішніх корпоративних опитувань та збору зворотного зв'язку від клієнтів. Завдяки широкому набору функцій, включаючи логіку розгалуження, різні типи запитань, імпорт/експорт даних та багатомовну підтримку, LimeSurvey перевершує за можливостями багато пропрієтарних рішень.

Альтернативи: Cloud-managed vs. Self-hosted на VPS

На ринку існує безліч рішень для проведення опитувань. Їх можна умовно розділити на дві категорії:

  • Cloud-managed (хмарні сервіси): До них належать такі платформи, як SurveyMonkey, Google Forms, Typeform. Вони пропонують простоту використання, не вимагають технічних знань для розгортання і часто мають інтуїтивно зрозумілий інтерфейс. Однак у них є суттєві недоліки:
    • Обмеження: Часто існують ліміти на кількість опитувань, запитань, респондентів або доступні функції в безкоштовних/бюджетних планах.
    • Вартість: Для розширених функцій та великого обсягу даних щомісячна плата може стати досить значною.
    • Контроль даних: Ваші дані зберігаються на серверах третіх осіб, що може бути неприйнятним з точки зору конфіденційності, безпеки або відповідності нормативним вимогам (наприклад, GDPR).
    • Кастомізація: Можливості адаптації зовнішнього вигляду та функціональності під свої потреби зазвичай сильно обмежені.
  • Self-hosted на VPS/Dedicated Server (самостійне розміщення): Це підхід, який ми будемо використовувати з LimeSurvey. Ви встановлюєте програмне забезпечення на свій власний сервер. Переваги:
    • Повний контроль: Ви повністю володієте сервером, ПЗ та всіма даними. Це критично для конфіденційних опитувань.
    • Гнучкість та кастомізація: Можливість змінювати код, встановлювати плагіни, адаптувати дизайн та функціональність без обмежень.
    • Масштабованість: Ви можете легко масштабувати ресурси сервера (CPU, RAM, диск) у міру зростання потреб, не переплачуючи за непотрібні функції.
    • Довгострокова вартість: При великих обсягах опитувань або тривалому використанні, вартість володіння VPS часто виявляється нижчою, ніж підписка на хмарні сервіси.

Вибір self-hosted рішення на VPS для LimeSurvey — це вибір на користь максимальної свободи, безпеки та контролю над вашою інфраструктурою опитувань, що особливо цінно для розробників, стартапів та компаній, які серйозно ставляться до своїх даних.

Який VPS-конфіг потрібен для цього завдання

Схема: Какой VPS-конфиг нужен под эту задачу
Схема: Який VPS-конфіг потрібен для цього завдання

Вибір правильної конфігурації VPS критичний для стабільної та швидкої роботи LimeSurvey. Вимоги можуть варіюватися залежно від очікуваного навантаження: кількості активних опитувань, числа респондентів, складності логіки опитувань та обсягу збережених даних.

Мінімальні вимоги для LimeSurvey 7.x (актуальної на 2026 рік)

Для невеликої установки, кількох активних опитувань та до 1000 респондентів на місяць:

  • CPU: 2 ядра (наприклад, Intel Xeon E5 або аналогі)
  • RAM: 4 GB DDR4 (для ОС, веб-сервера, PHP-FPM та бази даних)
  • Диск: 50 GB SSD (для ОС, ПЗ, бази даних та файлів LimeSurvey. SSD обов'язковий для хорошої продуктивності БД)
  • Мережа: 100 Мбіт/с (з необмеженим трафіком або достатнім обсягом)
  • Операційна система: Ubuntu Server 24.04 LTS

Рекомендований VPS-план для середніх навантажень

Для кількох десятків активних опитувань, до 10 000 респондентів на місяць та складнішої логіки:

  • CPU: 4 ядра (сучасний процесор, наприклад, Intel Xeon Scalable або AMD EPYC)
  • RAM: 8 GB DDR4
  • Диск: 100-200 GB NVMe SSD (для максимальної швидкості читання/запису БД)
  • Мережа: 1 Гбіт/с
  • Операційна система: Ubuntu Server 24.04 LTS

Відповідний VPS із зазначеними характеристиками можна взяти, наприклад, на цій сторінці: VPS із зазначеними характеристиками.

Коли потрібен Dedicated Server, а не VPS

У більшості випадків VPS буде достатнім для LimeSurvey. Однак, якщо ви плануєте:

  • Дуже високі навантаження: Десятки тисяч одночасних респондентів, сотні тисяч опитувань на місяць.
  • Критично важлива продуктивність: Мінімальна затримка при відповідях на опитування, дуже швидкий аналіз даних.
  • Максимальна ізоляція: Вимоги безпеки або регуляторів, які не допускають віртуалізації на спільній інфраструктурі.
  • Величезні обсяги даних: Бази даних, що вимірюються сотнями гігабайт або терабайтами.

У таких сценаріях dedicated server (виділений сервер) надасть вам ексклюзивний доступ до всіх фізичних ресурсів, що забезпечить максимальну продуктивність та контроль. Підібрати відповідний виділений сервер можна тут: відповідний dedicated.

Локація: на що впливає

Вибір географічного розташування вашого VPS або dedicated сервера важливий з кількох причин:

  • Затримка (Latency): Розміщуйте сервер якомога ближче до вашої основної аудиторії респондентів. Менша затримка покращує користувацький досвід та швидкість завантаження сторінок опитувань.
  • Законодавство: У деяких юрисдикціях існують суворі вимоги до зберігання персональних даних (наприклад, GDPR у Європі). Переконайтеся, що обрана локація відповідає всім застосовним законам та нормативним актам.
  • Доступність: Вибирайте провайдерів з хорошою репутацією щодо аптайму та стабільності мережі в обраному регіоні.

Ретельний підхід до вибору конфігурації та локації сервера закладе міцний фундамент для стабільної та ефективної роботи вашої платформи LimeSurvey.

Підготовка сервера

Схема: Підготовка сервера
Схема: Підготовка сервера

Перед встановленням LimeSurvey необхідно провести базове налаштування та посилення безпеки вашого нового VPS. Ми будемо використовувати Ubuntu Server 24.04 LTS, оскільки це актуальна та підтримувана версія на 2026 рік, що пропонує стабільність та свіжі пакети.

1. Підключення до сервера та оновлення системи

Підключіться до вашого сервера через SSH під обліковим записом root або користувачем, наданим провайдером:


ssh root@ВАШ_IP_АДРЕС

Насамперед оновіть список пакетів та встановлені пакети до останніх версій:


sudo apt update             # Оновлення списку доступних пакетів
sudo apt upgrade -y         # Оновлення всіх встановлених пакетів
sudo apt autoremove -y      # Видалення непотрібних залежностей

2. Створення нового користувача з правами sudo

Робота під користувачем root небезпечна. Створимо нового користувача, через якого будемо працювати:


sudo adduser limesurveyuser         # Створюємо нового користувача з іменем 'limesurveyuser'
sudo usermod -aG sudo limesurveyuser # Додаємо користувача до групи sudo, щоб він міг виконувати команди з правами адміністратора

Тепер вийдіть із сесії root і увійдіть під новим користувачем:


exit
ssh limesurveyuser@ВАШ_IP_АДРЕС

3. Налаштування автентифікації за SSH-ключами (рекомендується)

Для підвищення безпеки рекомендується відключити вхід за паролем і використовувати лише SSH-ключі. Якщо у вас ще немає SSH-ключа, згенеруйте його на вашій локальній машині:


# На вашій локальній машині
ssh-keygen -t rsa -b 4096 -C "[email protected]"

Скопіюйте публічний ключ на сервер:


# На вашій локальній машині
ssh-copy-id limesurveyuser@ВАШ_IP_АДРЕС

Потім на сервері відредагуйте файл конфігурації SSH-демона, щоб відключити вхід за паролем:


sudo nano /etc/ssh/sshd_config

Знайдіть і змініть наступні рядки:


PasswordAuthentication no
PermitRootLogin no

Збережіть файл (Ctrl+O, Enter) і вийдіть (Ctrl+X). Перезапустіть SSH-сервіс:


sudo systemctl restart sshd

Важливо: Переконайтеся, що ви можете увійти за SSH-ключем, перш ніж відключати автентифікацію за паролем!

4. Налаштування файрволу (UFW)

Налаштуємо UFW (Uncomplicated Firewall) для дозволу лише необхідного трафіку:


sudo ufw allow OpenSSH         # Дозволяємо SSH-з'єднання
sudo ufw allow http            # Дозволяємо HTTP (порт 80)
sudo ufw allow https           # Дозволяємо HTTPS (порт 443)
sudo ufw enable                # Вмикаємо файрвол
sudo ufw status                # Перевіряємо статус файрволу

Підтвердіть увімкнення файрволу, ввівши y.

5. Встановлення Fail2ban

Fail2ban захищає сервер від атак методом підбору паролів, блокуючи IP-адреси, з яких відбуваються невдалі спроби входу:


sudo apt install fail2ban -y   # Встановлення Fail2ban
sudo systemctl enable fail2ban # Вмикаємо автозапуск при старті системи
sudo systemctl start fail2ban  # Запускаємо сервіс
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # Копіюємо конфіг для подальших змін
sudo nano /etc/fail2ban/jail.local # Редагуємо локальний конфіг

У файлі jail.local ви можете налаштувати параметри, наприклад, час блокування (bantime) та кількість невдалих спроб (maxretry). Переконайтеся, що секція [sshd] активна (тобто не закоментована):


[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h

Збережіть файл і перезапустіть Fail2ban:


sudo systemctl restart fail2ban
sudo fail2ban-client status sshd # Перевіряємо статус роботи для SSH

Тепер ваш сервер має базовий, але ефективний захист і готовий до встановлення основного ПЗ.

Встановлення ПЗ — покроково

Схема: Встановлення ПЗ — покроково
Схема: Встановлення ПЗ — покроково

Для роботи LimeSurvey нам знадобиться веб-сервер (Nginx), база даних (MariaDB) та інтерпретатор PHP з необхідними розширеннями. Ми будемо встановлювати актуальні версії, доступні в репозиторіях Ubuntu 24.04 LTS на 2026 рік.

1. Встановлення Nginx

Nginx — це високопродуктивний веб-сервер, який чудово підходить для обслуговування статичного контенту та проксіювання запитів до PHP-FPM.


sudo apt install nginx -y           # Встановлення веб-сервера Nginx
sudo systemctl enable nginx         # Вмикаємо автозапуск Nginx при старті системи
sudo systemctl start nginx          # Запускаємо Nginx
sudo ufw allow 'Nginx Full'         # Дозволяємо трафік для Nginx (HTTP та HTTPS) у файрволі
sudo ufw delete allow 'Nginx HTTP'  # Видаляємо старе правило HTTP, якщо воно було
sudo ufw delete allow http          # Видаляємо старе правило http, якщо воно було
sudo ufw delete allow https         # Видаляємо старе правило https, якщо воно було
sudo ufw status                     # Перевіряємо статус UFW

Ви повинні побачити, що Nginx Full дозволено. Перевірте роботу Nginx, відкривши в браузері IP-адресу вашого сервера. Ви повинні побачити стандартну сторінку привітання Nginx.

2. Встановлення MariaDB

MariaDB — це потужна та швидка система управління базами даних, сумісна з MySQL. LimeSurvey активно використовує базу даних для зберігання всіх опитувань, відповідей та конфігурацій.


sudo apt install mariadb-server -y  # Встановлення MariaDB сервера
sudo systemctl enable mariadb       # Вмикаємо автозапуск MariaDB
sudo systemctl start mariadb        # Запускаємо MariaDB

Запустіть скрипт для початкового налаштування безпеки MariaDB:


sudo mysql_secure_installation      # Запускаємо скрипт безпеки MariaDB

Дотримуйтесь інструкцій: встановіть пароль для користувача root бази даних, видаліть анонімних користувачів, забороніть віддалений вхід для root та видаліть тестову базу даних. На всі питання відповідайте Y.

3. Встановлення PHP 8.3 та необхідних розширень

LimeSurvey написаний на PHP, і для його роботи потрібен відповідний інтерпретатор та набір розширень. На 2026 рік PHP 8.3 є актуальною та рекомендованою версією.


sudo apt install php8.3-fpm php8.3-mysql php8.3-mbstring php8.3-xml php8.3-gd php8.3-zip php8.3-curl php8.3-json php8.3-intl php8.3-ldap php8.3-gmp php8.3-apcu -y # Встановлення PHP-FPM 8.3 та необхідних розширень
sudo systemctl enable php8.3-fpm    # Вмикаємо автозапуск PHP-FPM
sudo systemctl start php8.3-fpm     # Запускаємо PHP-FPM

Примітка: Розширення php8.3-apcu рекомендується для кешування в LimeSurvey, підвищує продуктивність.

4. Створення бази даних та користувача для LimeSurvey

Підключіться до MariaDB від імені користувача root (бази даних) та створіть базу даних і користувача для LimeSurvey.


sudo mysql -u root -p               # Підключення до MariaDB, введіть пароль root БД, який ви встановили раніше

Виконайте наступні команди SQL (замініть limesurvey_db, limesurvey_user та ВАШ_НАДІЙНИЙ_ПАРОЛЬ на свої значення):


CREATE DATABASE limesurvey_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # Створюємо базу даних
CREATE USER 'limesurvey_user'@'localhost' IDENTIFIED BY 'ВАШ_НАДІЙНИЙ_ПАРОЛЬ'; # Створюємо користувача
GRANT ALL PRIVILEGES ON limesurvey_db. TO 'limesurvey_user'@'localhost'; # Надаємо всі права на базу даних
FLUSH PRIVILEGES; # Оновлюємо привілеї
EXIT; # Виходимо з MariaDB

5. Завантаження та розпакування LimeSurvey

Перейдіть до тимчасової директорії, завантажте останню стабільну версію LimeSurvey (передбачається LimeSurvey 7.x для 2026 року) та розпакуйте її.


cd /tmp
wget https://download.limesurvey.org/latest-stable-release/limesurvey7.x.zip # Завантаження актуальної версії LimeSurvey 7.x (замініть на точне посилання на 2026 рік)
sudo apt install unzip -y           # Встановлення утиліти для розпакування ZIP-архівів
sudo unzip limesurvey7.x.zip        # Розпакування архіву

Перемістіть розпаковані файли до директорії, де Nginx буде їх обслуговувати. Зазвичай це /var/www/html або спеціально створена директорія.


sudo mkdir -p /var/www/limesurvey   # Створюємо директорію для LimeSurvey
sudo mv /tmp/limesurvey/ /var/www/limesurvey/ # Переміщуємо файли LimeSurvey
sudo chown -R www-data:www-data /var/www/limesurvey # Встановлюємо власника директорії для Nginx/PHP-FPM
sudo chmod -R 755 /var/www/limesurvey # Встановлюємо права на файли

Тепер усі компоненти встановлені, і ми готові до їх конфігурації.

Конфігурація

Схема: Конфігурація
Схема: Конфігурація

Після встановлення всіх компонентів необхідно правильно їх налаштувати, щоб LimeSurvey міг функціонувати. Це включає налаштування Nginx, PHP-FPM та отримання SSL-сертифіката для HTTPS.

1. Налаштування Nginx для LimeSurvey

Створимо новий файл конфігурації Nginx для вашого домену. Замініть yourdomain.com на ваш реальний домен.


sudo nano /etc/nginx/sites-available/yourdomain.com

Вставте наступний вміст:


server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/limesurvey;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

    # Заборона доступу до конфіденційних директорій LimeSurvey
    location ~ /(application|framework|installer)/ {
        deny all;
        return 404;
    }
    location ~ /(config|protected|tmp|upload)/ {
        deny all;
        return 404;
    }

    # Заборона доступу до конфіденційних файлів
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
}

Збережіть файл і створіть символічне посилання на нього в sites-enabled, потім перевірте конфігурацію Nginx і перезапустіть його:


sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t                 # Перевірка синтаксису конфігурації Nginx
sudo systemctl restart nginx  # Перезапуск Nginx

2. Встановлення та налаштування Caddy для HTTPS (рекомендовано)

Caddy — це сучасний веб-сервер, який автоматично керує SSL-сертифікатами Let's Encrypt, роблячи налаштування HTTPS неймовірно простим. Ми будемо використовувати Caddy як зворотний проксі перед Nginx, щоб він обробляв HTTPS-з'єднання та видавав сертифікати.


sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https # Встановлення необхідних пакетів
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg # Додавання GPG ключа Caddy
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list # Додавання репозиторію Caddy
sudo apt update                       # Оновлення списку пакетів
sudo apt install caddy -y             # Встановлення Caddy
sudo systemctl enable caddy           # Вмикаємо автозапуск Caddy
sudo systemctl start caddy            # Запускаємо Caddy

Тепер налаштуємо Caddyfile. Видаліть або закоментуйте існуючий Nginx server блок для порту 80, оскільки Caddy оброблятиме вхідні запити. Відкрийте файл конфігурації Nginx для вашого домену та закоментуйте рядки listen 80; та server_name yourdomain.com www.yourdomain.com;. Nginx тепер слухатиме лише на локальному порту, наприклад 127.0.0.1:8080.


sudo nano /etc/nginx/sites-available/yourdomain.com

Змініть секцію server так, щоб вона виглядала приблизно так (додайте listen 127.0.0.1:8080;):


server {
    listen 127.0.0.1:8080; # Nginx слухатиме на локальному порту
    # server_name yourdomain.com www.yourdomain.com; # Закоментуйте або видаліть
    root /var/www/limesurvey;
    index index.php index.html index.htm;

    # ... решта конфігурації Nginx без змін ...
}

sudo nginx -t
sudo systemctl restart nginx

Тепер створіть Caddyfile:


sudo nano /etc/caddy/Caddyfile

Вставте наступний вміст (замініть yourdomain.com):


yourdomain.com {
    reverse_proxy 127.0.0.1:8080
    file_server {
        root /var/www/limesurvey
    }
}

Збережіть файл і перезапустіть Caddy:


sudo systemctl reload caddy

Caddy автоматично отримає та встановить SSL-сертифікати. Тепер ви можете перейти на https://yourdomain.com.

3. Завершення встановлення LimeSurvey через веб-інтерфейс

Відкрийте ваш домен у браузері (наприклад, https://yourdomain.com). Вас буде перенаправлено на сторінку встановлення LimeSurvey. Дотримуйтесь інструкцій:

  1. Вибір мови: Виберіть мову та натисніть "Start".
  2. Ліцензія: Прийміть ліцензійну угоду.
  3. Перевірка попередніх вимог: Переконайтеся, що всі необхідні розширення PHP та права доступу до файлів позначені як "OK". Якщо є попередження, поверніться та встановіть відсутні розширення або виправте права доступу (sudo chown -R www-data:www-data /var/www/limesurvey).
  4. Конфігурація бази даних:
    • Тип бази даних: MySQL (або MariaDB)
    • Ім'я хоста: localhost
    • Порт: 3306
    • Ім'я бази даних: limesurvey_db (те, що ви створили)
    • Ім'я користувача бази даних: limesurvey_user (те, що ви створили)
    • Пароль бази даних: ВАШ_НАДІЙНИЙ_ПАРОЛЬ
    Натисніть "Next".
  5. Створення таблиць: LimeSurvey створить необхідні таблиці у вашій базі даних.
  6. Налаштування адміністратора: Задайте ім'я користувача (наприклад, admin), пароль, адресу електронної пошти та ім'я адміністратора для входу в LimeSurvey.

Після завершення встановлення вас буде перенаправлено на сторінку входу до адміністративної панелі LimeSurvey. Обов'язково видаліть директорію /var/www/limesurvey/install для безпеки!


sudo rm -rf /var/www/limesurvey/install

4. Перевірка працездатності

Відкрийте https://yourdomain.com/admin у браузері та увійдіть під обліковим записом адміністратора. Перевірте, що ви можете створювати нові опитування, керувати користувачами та переглядати налаштування системи.

За допомогою curl можна перевірити доступність головної сторінки:


curl -I https://yourdomain.com # Перевіряємо HTTP-заголовки, переконуємося в наявності HTTPS

Ви повинні побачити статус HTTP/2 200 та заголовки, що вказують на успішне з'єднання.

На цьому етапі ваша інсталяція LimeSurvey повністю налаштована та готова до роботи.

Резервні копії та обслуговування

Схема: Резервні копії та обслуговування
Схема: Резервні копії та обслуговування

Регулярне резервне копіювання та своєчасне обслуговування є критично важливими для будь-якої production-системи, включаючи LimeSurvey. Це гарантує збереження ваших даних опитувань та стабільність роботи платформи.

1. Що резервувати

Для повного відновлення LimeSurvey необхідно резервувати два основні компоненти:

  • База даних LimeSurvey: Містить усі опитування, запитання, відповіді, користувачів та системні налаштування. Це найважливіший компонент.
  • Файли LimeSurvey: Включають ядро програми, плагіни, теми, а також завантаження користувачів (наприклад, зображення, прикріплені до запитань або відповідей). Директорія /var/www/limesurvey.

2. Простий скрипт авторезервування

Створимо простий bash-скрипт, який виконуватиме резервне копіювання бази даних та файлів, а потім архівуватиме їх. Ми будемо використовувати mariadb-dump для бази даних та tar для файлів.


sudo mkdir -p /opt/backups/limesurvey # Створюємо директорію для зберігання резервних копій
sudo chown -R limesurveyuser:limesurveyuser /opt/backups # Встановлюємо власника для нового користувача
nano /opt/backups/limesurvey/backup_script.sh

Вставте наступний вміст, замінивши дані вашої БД:


#!/bin/bash

# Налаштування бази даних
DB_NAME="limesurvey_db"
DB_USER="limesurvey_user"
DB_PASS="ВАШ_НАДІЙНИЙ_ПАРОЛЬ" # Використовуйте пароль користувача БД, створеного для LimeSurvey

# Директорії
BACKUP_DIR="/opt/backups/limesurvey"
LIME_DIR="/var/www/limesurvey"

# Ім'я файлу резервної копії
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
DB_BACKUP_FILE="${BACKUP_DIR}/limesurvey_db_${TIMESTAMP}.sql"
FILES_BACKUP_FILE="${BACKUP_DIR}/limesurvey_files_${TIMESTAMP}.tar.gz"

echo "Починаємо резервне копіювання LimeSurvey..."

# 1. Резервна копія бази даних
echo "Створення резервної копії бази даних..."
if mariadb-dump -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$DB_BACKUP_FILE"; then
    echo "Резервна копія бази даних успішно створена: ${DB_BACKUP_FILE}"
else
    echo "Помилка при створенні резервної копії бази даних!"
    exit 1
fi

# 2. Резервна копія файлів LimeSurvey
echo "Створення резервної копії файлів LimeSurvey..."
if tar -czf "$FILES_BACKUP_FILE" -C "${LIME_DIR}" .; then
    echo "Резервна копія файлів успішно створена: ${FILES_BACKUP_FILE}"
else
    echo "Помилка при створенні резервної копії файлів!"
    exit 1
fi

# 3. Видалення старих резервних копій (зберігаємо останні 7 днів)
echo "Видалення старих резервних копій (старших за 7 днів)..."
find "$BACKUP_DIR" -type f -name ".sql" -mtime +7 -delete
find "$BACKUP_DIR" -type f -name ".tar.gz" -mtime +7 -delete
echo "Завершено."

Зробіть скрипт виконуваним:


sudo chmod +x /opt/backups/limesurvey/backup_script.sh

Протестуйте скрипт, запустивши його вручну:


/opt/backups/limesurvey/backup_script.sh

3. Налаштування Cron для автоматичного запуску резервних копій

Додамо завдання в Cron, щоб скрипт запускався щодня, наприклад, о 3 годині ночі.


crontab -e # Відкриваємо crontab для поточного користувача (limesurveyuser)

Додайте наступну строку в кінець файлу:


0 3   * /opt/backups/limesurvey/backup_script.sh >> /var/log/limesurvey_backup.log 2>&1

Цей рядок означає: о 03:00 щодня, щомісяця, кожного дня тижня запускати скрипт і перенаправляти його вивід у файл логу.

4. Куди зберігати резервні копії (зовнішнє сховище)

Зберігання резервних копій на тому ж сервері, що й робоча система, не забезпечує повного захисту від збоїв сервера. Вкрай рекомендується переміщувати резервні копії до зовнішнього сховища:

  • S3-сумісне сховище: Хмарні сервіси, такі як Amazon S3, DigitalOcean Spaces, Backblaze B2, пропонують надійне та недороге зберігання. Використовуйте утиліти типу s3cmd або rclone для автоматичної синхронізації.
  • Окремий VPS: Якщо у вас є інший VPS, ви можете використовувати rsync або scp для копіювання резервних копій на нього.
  • Локальне мережеве сховище (NAS): Для корпоративних середовищ.

Приклад додавання rsync для перенесення на віддалений сервер (передбачається налаштований SSH-доступ без пароля):


# Додайте до вашого backup_script.sh після створення резервних копій:
echo "Копіювання резервних копій на віддалений сервер..."
rsync -avz --remove-source-files "$BACKUP_DIR/" user@remote_server:/path/to/remote/backups/limesurvey/
echo "Копіювання завершено."

5. Оновлення: Rolling vs. Maintenance Window

Оновлення LimeSurvey та системного ПЗ вимагає обережності:

  • Системні оновлення (Rolling): Регулярно запускайте sudo apt update && sudo apt upgrade -y для встановлення патчів безпеки та оновлень ОС. Це можна робити відносно часто.
  • Оновлення LimeSurvey (Maintenance Window): Оновлення самої платформи LimeSurvey (наприклад, з 7.0 до 7.1 або 7.x до 8.x) можуть вносити суттєві зміни.
    • Завжди робіть повну резервну копію перед оновленням LimeSurvey.
    • Проводьте оновлення у "вікно обслуговування", коли очікується мінімальна кількість респондентів.
    • Уважно читайте changelog та інструкції з оновлення на офіційному сайті LimeSurvey.
    • Розгляньте можливість використання staging-середовища (копії вашого production-сервера) для тестування оновлень перед застосуванням на робочому сервері.

Підтримуйте ваш сервер та LimeSurvey в актуальному стані для забезпечення безпеки та доступу до нових функцій.

Вирішення проблем + FAQ

У цьому розділі зібрано типові проблеми, які можуть виникнути при встановленні та експлуатації LimeSurvey на VPS, а також відповіді на часті запитання.

Який VPS-конфіг мінімально підійде для LimeSurvey?

Для невеликої інсталяції LimeSurvey з кількома активними опитуваннями та до 1000 респондентів на місяць мінімально знадобиться VPS з 2 ядрами CPU, 4 ГБ RAM, 50 ГБ SSD-диска та стабільним мережевим підключенням 100 Мбіт/с. Важливо, щоб диск був SSD, оскільки продуктивність бази даних сильно залежить від швидкості читання/запису.

Що вибрати — VPS чи dedicated для цього завдання?

У переважній більшості випадків VPS буде оптимальним вибором для LimeSurvey. Він надає достатню продуктивність, гнучкість та економічність. Dedicated server виправданий лише при дуже високих навантаженнях (десятки тисяч одночасних респондентів), суворих вимогах до ізоляції ресурсів, максимальної конфіденційності даних або необхідності обробляти величезні обсяги даних (сотні ГБ і більше). Для більшості користувачів VPS є ідеальним балансом.

Чому LimeSurvey видає помилку 500 (Internal Server Error)?

Помилка 500 зазвичай вказує на проблему на стороні сервера. Найчастіші причини для LimeSurvey:

  • Помилки PHP: Перевірте логи PHP-FPM (sudo tail -f /var/log/php8.3-fpm.log або /var/log/nginx/error.log). Можливо, відсутні критично важливі розширення PHP або є синтаксичні помилки в конфігурації LimeSurvey.
  • Неправильні права доступу до файлів/директорій: Переконайтеся, що веб-сервер (користувач www-data) має права на читання файлів LimeSurvey та запис у директорії /var/www/limesurvey/application/config, /var/www/limesurvey/upload, /var/www/limesurvey/tmp. Виконайте sudo chown -R www-data:www-data /var/www/limesurvey та sudo chmod -R 755 /var/www/limesurvey.
  • Помилка в конфігурації Nginx: Перевірте синтаксис Nginx (sudo nginx -t) та переконайтеся, що всі шляхи до файлів та сокету PHP-FPM вказані коректно.

Як налаштувати відправку електронної пошти в LimeSurvey?

Для відправки запрошень, сповіщень та підтверджень LimeSurvey потрібен налаштований поштовий сервер. В адміністративній панелі LimeSurvey перейдіть до Configuration -> Email settings. Ви можете вибрати один з наступних методів:

  • PHP (default): Використовує функцію mail() PHP, яка вимагає налаштованого локального MTA (наприклад, Postfix). Це найпростіший, але найменш надійний варіант для масових розсилок.
  • SMTP: Рекомендований метод. Вкажіть дані вашого SMTP-сервера (хост, порт, ім'я користувача, пароль, тип шифрування - TLS/SSL). Це може бути ваш власний поштовий сервер або сторонній сервіс (SendGrid, Mailgun, Яндекс.Почта для домена тощо).

Переконайтеся, що порт SMTP (зазвичай 587 для TLS або 465 для SSL) відкритий у вашому файрволі (UFW).

Як оновити LimeSurvey без втрати даних?

Оновлення LimeSurvey завжди повинно починатися з повного резервного копіювання бази даних та файлів. Потім:

  1. Завантажте нову версію LimeSurvey з офіційного сайту.
  2. Розпакуйте архів.
  3. Перемістіть файли нової версії поверх старої, крім директорії /application/config (щоб зберегти ваші налаштування). Деякі файли в інших директоріях можуть бути виключені, дотримуйтесь інструкцій на офіційному сайті LimeSurvey.
  4. Після заміни файлів відкрийте ваш домен у браузері. LimeSurvey автоматично запропонує оновити базу даних. Дотримуйтесь інструкцій майстра оновлення.
  5. Очистіть кеш LimeSurvey, якщо це необхідно.

Завжди читайте офіційні інструкції з оновлення для вашої конкретної версії.

Проблеми з правами доступу до файлів LimeSurvey.

Якщо ви бачите помилки, пов'язані з неможливістю запису або читання файлів, це майже завжди пов'язано з неправильними правами. Переконайтеся, що веб-сервер (користувач www-data) є власником директорії LimeSurvey та має необхідні права:


sudo chown -R www-data:www-data /var/www/limesurvey
sudo chmod -R 755 /var/www/limesurvey
# Для деяких директорій можуть знадобитися права на запис для www-data
sudo chmod -R 775 /var/www/limesurvey/upload
sudo chmod -R 775 /var/www/limesurvey/tmp
sudo chmod -R 775 /var/www/limesurvey/application/config # Для config.php

Після зміни прав перезапустіть Nginx та PHP-FPM.

LimeSurvey повільно працює, що робити?

Повільна робота може бути викликана кількома факторами:

  • Недостатні ресурси VPS: Перевірте завантаження CPU, RAM та IOPS диска (htop, iotop, free -h). Можливо, потрібен апгрейд VPS.
  • Неоптимізована база даних: Переконайтеся, що MariaDB налаштована для оптимальної роботи. Увімкніть кешування запитів, якщо воно вимкнене.
  • Відсутність PHP-кешування: Переконайтеся, що розширення php8.3-apcu встановлено та активне. Це значно прискорює роботу PHP-додатків.
  • Складні опитування: Дуже складні опитування з великою кількістю умов та логіки можуть уповільнювати роботу. Оптимізуйте структуру опитувань.
  • Мережеві затримки: Якщо респонденти знаходяться далеко від сервера, затримка може впливати на сприйняття швидкості.

Висновки та наступні кроки

Схема: Висновки та наступні кроки
Схема: Висновки та наступні кроки

Вітаємо! Ви успішно встановили та налаштували потужну платформу LimeSurvey на вашому власному VPS, забезпечивши повний контроль над даними, безпекою та функціональністю. Ви освоїли ключові аспекти розгортання веб-додатків: від підготовки сервера та встановлення базового ПЗ до налаштування HTTPS та автоматизованого резервного копіювання. Тепер ви готові створювати професійні опитування та збирати цінну інформацію.

Для подальшого розвитку вашої платформи LimeSurvey розгляньте наступні кроки:

  • Вивчення розширених функцій LimeSurvey: Ознайомтеся з можливостями логіки розгалуження, оцінками, токенами доступу, квотами та різними типами питань для створення більш складних та інтерактивних опитувань.
  • Моніторинг продуктивності: Налаштуйте інструменти моніторингу (наприклад, Prometheus + Grafana або Zabbix) для відстеження завантаження сервера, споживання ресурсів та продуктивності LimeSurvey, що дозволить своєчасно реагувати на проблеми та масштабувати систему.
  • Оптимізація та масштабування: Для високонавантажених проектів розгляньте можливість використання Redis або Memcached для кешування, а також налаштування кластера бази даних або балансування навантаження між кількома веб-серверами.
  • Інтеграція із зовнішніми системами: Використовуйте API LimeSurvey для інтеграції з CRM-системами, аналітичними платформами або іншими бізнес-інструментами для автоматизації процесів та поглибленого аналізу даних.

Чи був цей гайд корисним?

Ваш відгук допомагає нам покращувати гайди.

Share this post:

Надішліть гайд тому, кому він може стати в пригоді.

Telegram VKVK WhatsApp Facebook LinkedIn XX

встановлення limesurvey на vps: налаштування опитувань та баз даних
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.