Встановлення 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 критичний для стабільної та швидкої роботи 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 (для максимальної швидкості читання/запису БД)
У більшості випадків VPS буде достатнім для LimeSurvey. Однак, якщо ви плануєте:
Дуже високі навантаження: Десятки тисяч одночасних респондентів, сотні тисяч опитувань на місяць.
Критично важлива продуктивність: Мінімальна затримка при відповідях на опитування, дуже швидкий аналіз даних.
Максимальна ізоляція: Вимоги безпеки або регуляторів, які не допускають віртуалізації на спільній інфраструктурі.
Величезні обсяги даних: Бази даних, що вимірюються сотнями гігабайт або терабайтами.
У таких сценаріях dedicated server (виділений сервер) надасть вам ексклюзивний доступ до всіх фізичних ресурсів, що забезпечить максимальну продуктивність та контроль. Підібрати відповідний виділений сервер можна тут: відповідний dedicated.
Локація: на що впливає
Вибір географічного розташування вашого VPS або dedicated сервера важливий з кількох причин:
Затримка (Latency): Розміщуйте сервер якомога ближче до вашої основної аудиторії респондентів. Менша затримка покращує користувацький досвід та швидкість завантаження сторінок опитувань.
Законодавство: У деяких юрисдикціях існують суворі вимоги до зберігання персональних даних (наприклад, GDPR у Європі). Переконайтеся, що обрана локація відповідає всім застосовним законам та нормативним актам.
Доступність: Вибирайте провайдерів з хорошою репутацією щодо аптайму та стабільності мережі в обраному регіоні.
Ретельний підхід до вибору конфігурації та локації сервера закладе міцний фундамент для стабільної та ефективної роботи вашої платформи LimeSurvey.
Підготовка сервера
Схема: Підготовка сервера
Перед встановленням LimeSurvey необхідно провести базове налаштування та посилення безпеки вашого нового VPS. Ми будемо використовувати Ubuntu Server 24.04 LTS, оскільки це актуальна та підтримувана версія на 2026 рік, що пропонує стабільність та свіжі пакети.
1. Підключення до сервера та оновлення системи
Підключіться до вашого сервера через SSH під обліковим записом root або користувачем, наданим провайдером:
ssh root@ВАШ_IP_АДРЕС
Насамперед оновіть список пакетів та встановлені пакети до останніх версій:
Робота під користувачем root небезпечна. Створимо нового користувача, через якого будемо працювати:
sudo adduser limesurveyuser # Створюємо нового користувача з іменем 'limesurveyuser'
sudo usermod -aG sudo limesurveyuser # Додаємо користувача до групи sudo, щоб він міг виконувати команди з правами адміністратора
Тепер вийдіть із сесії root і увійдіть під новим користувачем:
exit
ssh limesurveyuser@ВАШ_IP_АДРЕС
3. Налаштування автентифікації за SSH-ключами (рекомендується)
Для підвищення безпеки рекомендується відключити вхід за паролем і використовувати лише SSH-ключі. Якщо у вас ще немає SSH-ключа, згенеруйте його на вашій локальній машині:
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] активна (тобто не закоментована):
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 активно використовує базу даних для зберігання всіх опитувань, відповідей та конфігурацій.
Запустіть скрипт для початкового налаштування безпеки MariaDB:
sudo mysql_secure_installation # Запускаємо скрипт безпеки MariaDB
Дотримуйтесь інструкцій: встановіть пароль для користувача root бази даних, видаліть анонімних користувачів, забороніть віддалений вхід для root та видаліть тестову базу даних. На всі питання відповідайте Y.
3. Встановлення PHP 8.3 та необхідних розширень
LimeSurvey написаний на PHP, і для його роботи потрібен відповідний інтерпретатор та набір розширень. На 2026 рік PHP 8.3 є актуальною та рекомендованою версією.
Примітка: Розширення 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 на ваш реальний домен.
2. Встановлення та налаштування Caddy для HTTPS (рекомендовано)
Caddy — це сучасний веб-сервер, який автоматично керує SSL-сертифікатами Let's Encrypt, роблячи налаштування HTTPS неймовірно простим. Ми будемо використовувати Caddy як зворотний проксі перед Nginx, щоб він обробляв HTTPS-з'єднання та видавав сертифікати.
Тепер налаштуємо Caddyfile. Видаліть або закоментуйте існуючий Nginx server блок для порту 80, оскільки Caddy оброблятиме вхідні запити. Відкрийте файл конфігурації Nginx для вашого домену та закоментуйте рядки listen 80; та server_name yourdomain.com www.yourdomain.com;. Nginx тепер слухатиме лише на локальному порту, наприклад 127.0.0.1:8080.
Змініть секцію 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):
Caddy автоматично отримає та встановить SSL-сертифікати. Тепер ви можете перейти на https://yourdomain.com.
3. Завершення встановлення LimeSurvey через веб-інтерфейс
Відкрийте ваш домен у браузері (наприклад, https://yourdomain.com). Вас буде перенаправлено на сторінку встановлення LimeSurvey. Дотримуйтесь інструкцій:
Вибір мови: Виберіть мову та натисніть "Start".
Ліцензія: Прийміть ліцензійну угоду.
Перевірка попередніх вимог: Переконайтеся, що всі необхідні розширення PHP та права доступу до файлів позначені як "OK". Якщо є попередження, поверніться та встановіть відсутні розширення або виправте права доступу (sudo chown -R www-data:www-data /var/www/limesurvey).
Конфігурація бази даних:
Тип бази даних: MySQL (або MariaDB)
Ім'я хоста: localhost
Порт: 3306
Ім'я бази даних: limesurvey_db (те, що ви створили)
Ім'я користувача бази даних: limesurvey_user (те, що ви створили)
Пароль бази даних: ВАШ_НАДІЙНИЙ_ПАРОЛЬ
Натисніть "Next".
Створення таблиць: LimeSurvey створить необхідні таблиці у вашій базі даних.
Налаштування адміністратора: Задайте ім'я користувача (наприклад, 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 "Завершено."
Цей рядок означає: о 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 завжди повинно починатися з повного резервного копіювання бази даних та файлів. Потім:
Завантажте нову версію LimeSurvey з офіційного сайту.
Розпакуйте архів.
Перемістіть файли нової версії поверх старої, крім директорії /application/config (щоб зберегти ваші налаштування). Деякі файли в інших директоріях можуть бути виключені, дотримуйтесь інструкцій на офіційному сайті LimeSurvey.
Після заміни файлів відкрийте ваш домен у браузері. LimeSurvey автоматично запропонує оновити базу даних. Дотримуйтесь інструкцій майстра оновлення.
Очистіть кеш 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:
Надішліть гайд тому, кому він може стати в пригоді.