Установка Tiki Wiki CMS Groupware на Ubuntu 20.04 (Apache, MySQL, PHP 7.4)
Важно: перед началом убедитесь, что ваш домен указывает на IP сервера и у вас есть root-доступ или учетная запись с sudo.
Что такое Tiki Wiki (в одну строку)
Tiki Wiki — это свободная система управления контентом и групповой работы (CMS/Groupware), реализованная на PHP и распространяемая под лицензией GNU GPL v3.
Цели этой инструкции
- Установить зависимости и LAMP-стек (Linux, Apache, MySQL, PHP 7.4).
- Развернуть код Tiki в /var/www/tikiwiki.
- Получить SSL-сертификат Let’s Encrypt.
- Настроить виртуальный хост Apache и предоставить рекомендации по безопасности, резервному копированию и отладке.
Кому подойдёт этот материал
- Системным администраторам и DevOps-инженерам, знакомым с базовыми командами Ubuntu.
- Разработчикам, которым нужна локальная или удалённая инсталляция Tiki для проектов.
Подготовка (требования)
- Сервер Ubuntu 20.04.
- Права root или sudo.
- Домен, указывающий на IP сервера (для получения SSL).
- Базовые знания работы с терминалом и текстовыми редакторами.
Содержание
- Установка зависимостей пакетов
- Установка Apache
- Установка и настройка MySQL
- Установка и настройка PHP 7.4
- Скачивание исходников Tiki
- Получение SSL Let’s Encrypt
- Настройка виртуального хоста Apache
- Постустановка через веб-интерфейс Tiki
- Резервное копирование и восстановление
- Жёсткая настройка безопасности и рекомендации по эксплуатации
- Отладка и типичные ошибки
- Альтернативные подходы (Docker, MariaDB)
- Роли и чек-листы
- Краткое резюме
1. Установка зависимостей пакетов
Сначала установим набор утилит и библиотек, которые могут понадобиться Tiki для обработки документов, кэша и преобразования форматов.
Выполните:
sudo apt install curl memcached poppler-utils bsdmainutils catdoc elinks man-db odt2txt pstotext unzipПримечание: перечисленные пакеты полезны для обработки разных форматов файлов (PDF, ODT, PST, DOC) и кеширования.
2. Установка Apache Web Server
Tiki в этой инструкции разворачивается на Apache.
Установка и запуск:
sudo apt install apache2
systemctl start apache2
systemctl enable apache2Проверка статуса:
systemctl status apache2Откройте порты в ufw:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enableПосле включения ufw подтвердите вводом “y” при запросе.
Проверьте веб-сервер, открыв в браузере http://

3. Установка и конфигурация MySQL Server
Установите MySQL Server и клиент:
sudo apt install mysql-server mysql-client
systemctl start mysql
systemctl enable mysqlЗащитите инсталляцию MySQL и задайте пароль root:
mysql_secure_installationСледуйте подсказкам, устанавливая пароль root и отвечая “Y” на вопросы, связанные с удалением анонимных пользователей, ограничением удалённого входа и удалением тестовой базы.
Интерфейс утилиты выглядит примерно так:

Создайте базу данных и пользователя для Tiki:
mysql -u root -p
CREATE DATABASE tikidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'tikiuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON tikidb.* TO 'tikiuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;Замените ‘password’ на надёжный пароль. После создания вы увидите подтверждение в консоли.

Совет: используйте менеджер секретов или файл конфигурации вне репозитория для хранения реального пароля.
4. Установка и конфигурация PHP 7.4
Установите PHP 7.4 и необходимые расширения:
sudo apt install php php-tidy php-pear php-gd php-xmlrpc php-mbstring libapache2-mod-php php-mysql php-apcu php-curl php-intl php-sqlite3 php-zip php-memcache php-pspell php-memcached php-common php7.4-opcache php-xml composerПримечание: в списке повторяются некоторые пакеты (php-zip, php-intl и т.д.) — apt корректно обработает их.
Отредактируйте php.ini для Apache:
cd /etc/php/7.4/apache2/
sudo vim php.iniИзмените (или добавьте) следующие параметры:
date.timezone = Asia/Singapore
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360Подберите часовой пояс под ваш регион, например Europe/Moscow для России.
Перезапустите Apache:
systemctl restart apache2Проверьте логи при ошибках: /var/log/apache2/error.log.

5. Скачивание исходников Tiki
Скачивание последней версии с SourceForge и распаковка в /var/www:
cd /var/www/
wget -q https://sourceforge.net/projects/tikiwiki/files/latest/download -O tikiwiki.zip
unzip tikiwiki.zip
mv tiki-21.1 tikiwiki
chown -R www-data:www-data /var/www/tikiwikiПримечание: название распакованной папки может отличаться в зависимости от версии — проверьте точное имя и при необходимости исправьте mv.

6. Получение SSL Let’s Encrypt
Убедитесь, что домен указывает на сервер. Установите certbot:
sudo apt install certbot -yОстановите Apache на время генерации сертификата и создайте сертификат (замените email и домен на ваши):
systemctl stop apache2
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d tiki.hakase-labs.toПосле успешного выполнения сертификаты будут в каталоге /etc/letsencrypt/live/yourdomain.com. Запустите Apache снова после получения сертификатов.
Совет: для автоматического обновления certbot устанавливает systemd таймер или cron job; проверьте наличие и настройте уведомления.
7. Настройка виртуального хоста Apache для Tiki
Создайте конфигурацию виртуального хоста:
cd /etc/apache2/sites-available/
sudo vim tikiwiki.confВставьте конфигурацию, заменив домены и пути к сертификатам на ваши:
ServerAdmin [email protected]
ServerName tiki.hakase-labs.to
ServerAlias tiki.hakase-labs.to
# Redirect all to safe connections
Redirect permanent / https://tiki.hakase-labs.to/
ServerAdmin [email protected]
ServerName tiki.hakase-labs.to
ServerAlias tiki.hakase-labs.to
DocumentRoot /var/www/tikiwiki/
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/tiki.hakase-labs.to/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/tiki.hakase-labs.to/privkey.pem
ErrorLog ${APACHE_LOG_DIR}/tikiwiki_error.log
CustomLog ${APACHE_LOG_DIR}/tikiwiki_access.log combined
Require all granted
AllowOverride All
# Deny all for db/
Order Deny,Allow
Deny from all
Options None
AllowOverride None
# Deliver only png, pdf, html, js, css from temp/ folder
Order Deny,Allow
Deny from all
Options Indexes FollowSymLinks
AllowOverride None
php_flag engine Off
Order Deny,Allow
Allow from all
# Turn off php and deny some special types
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
php_flag engine Off
Order allow,deny
Deny from all
Активируйте сайт и SSL-модуль, проверьте конфигурацию Apache и перезапустите:
a2ensite tikiwiki
a2enmod ssl
apachectl configtest
systemctl restart apache2Проверьте логи при ошибке: sudo tail -n 50 /var/log/apache2/tikiwiki_error.log

8. Постустановка через веб-интерфейс Tiki
Откройте браузер и перейдите по HTTPS адресу вашего домена:
Вы увидите страницу установщика Tiki. Далее стандартные шаги:
- Выбор языка и принятие лицензии LGPL.
- Проверка системных требований (все тесты должны быть зелёными).
- Ввод данных базы данных (tikidb, tikiuser, пароль).
- Выбор движка базы данных (InnoDB рекомендован).
- Запуск установки и создание административного пользователя.
Иллюстрации процесса (примеры экранов):

После завершения установки войдите под админом, настройте внешний вид и права доступа.

9. Резервное копирование и восстановление (минимальный SOP)
Регулярное резервное копирование важно для восстановления после сбоев.
Что копировать:
- Базу данных MySQL (полный дамп).
- Файловую структуру /var/www/tikiwiki (все файлы, включая uploaded files).
- Конфигурации Apache (/etc/apache2/sites-available/*.conf) и SSL-сертификаты (с осторожностью).
Пример скрипта резервного копирования (черновик):
#!/bin/bash
BACKUP_DIR=/root/backups/tiki
mkdir -p $BACKUP_DIR
DATE=$(date +%F_%H%M)
# Database dump
mysqldump -u root -p'MYSQL_ROOT_PASSWORD' tikidb > $BACKUP_DIR/tikidb_$DATE.sql
# Files backup
tar -czf $BACKUP_DIR/tiki_www_$DATE.tar.gz -C /var/www tikiwiki
# Rotate backups: оставить последние 7
ls -1tr $BACKUP_DIR | head -n -7 | xargs -d '\n' -r rm -f --Критерии приёмки бэкапа:
- Дамп базы успешно восстанавливается на тестовой машине.
- Файлы исходного каталога доступны после распаковки архива.
- Скрипт запускается без ошибок при cron.
Важно: храните бэкап в удалённом месте (S3, FTP, другой хост) и шифруйте дампы, если в них есть чувствительные данные.
10. Жёсткая настройка безопасности и эксплуатационные рекомендации
- Правильные права: владелец /var/www/tikiwiki — www-data, права каталога не должны быть 0777.
- Ограничение доступа к /db и временным каталогам (уже в конфиге Apache).
- Обновления: регулярно обновляйте Ubuntu, PHP, Apache и Tiki.
- SSL: включите HSTS и сильные cipher’ы. Пример добавления в виртуальный хост:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"- Ограничьте доступ к административной панели Tiki по IP (если возможно).
- Мониторинг: подключите мониторинг доступности и резервных копий (Prometheus, Zabbix, Datadog).
- Защитите MySQL: используйте локальный socket, сильные пароли и аудит.
11. Отладка и типичные ошибки
- Ошибка 500: проверьте /var/log/apache2/tikiwiki_error.log и /var/log/apache2/error.log.
- Неправильные права файлов: проверьте chown и chmod для /var/www/tikiwiki.
- Проблемы с расширениями PHP: убедитесь, что установлены php-mbstring, php-xml, php-gd и php-mysql.
- Сертификат не выпускается: проверьте, что порт 80 доступен и домен резолвится.
- Ошибки соединения с БД: проверьте правильность имени БД, пользователя и пароля, а также привилегии.
Типичные команды для диагностики:
sudo tail -n 200 /var/log/apache2/tikiwiki_error.log
sudo journalctl -u apache2 -b --no-pager
php -v
mysql -u tikiuser -p -e "SHOW DATABASES;"12. Альтернативные подходы и варианты развёртывания
- Docker: контейнеризация упрощает воспроизводимость. Официальных контейнеров Tiki может не быть — используйте кастомный Dockerfile с PHP-FPM+Nginx или готовые community-образы.
- MariaDB вместо MySQL: совместима в большинстве случаев и часто используется в продакшне.
- Nginx вместо Apache: потребуется адаптация конфигураций (правила переадресации, location-блоки и отключение .htaccess).
Когда выбрать Docker:
- Нужно быстро развернуть тестовое окружение.
- Требуется изолировать зависимости.
Когда оставить LAMP:
- Привычная среда для многих админов, простая настройка виртуальных хостов и mod_php.
13. Роли и чек-листы (кто за что отвечает)
- Системный администратор: установка ОС, настройка брандмауэра, SSL, автоматические бэкапы.
- DBA: настройка MySQL/MariaDB, мониторинг производительности, резервное копирование баз.
- Владелец контента / администратор Tiki: настройка прав в самом Tiki, управление страницами и модулями.
Чек-лист перед запуском в продакшен:
- SSL установлен и перенаправление с HTTP на HTTPS работает.
- Регулярные бэкапы настроены и протестированы.
- Логи ротации и мониторинг установлены.
- Обновления ОС и зависимостей планируются и автоматизированы.
14. Модель зрелости развертывания (предложения)
- Уровень 0 — Локальная установка для тестирования (ручная установка, нет бэкапов).
- Уровень 1 — Минимальный продакшен (SSL, регулярные бэкапы, базовая безопасность).
- Уровень 2 — Производственный уровень (мониторинг, автоматические обновления, CI/CD для кода).
15. Короткая галерея типичных сценариев ошибок (edge-case gallery)
- Проблемы с правами при обновлении плагинов — решение: временно дать права www-data, затем вернуть строгие права.
- Конфликты версий PHP при установке сторонних модулей — решение: использовать отдельное окружение или контейнеризацию.
- Переполнение tmp/ — решение: очистка папки temp и настройка cron для ротации.
16. Короткий словарь (1-строчный)
- LAMP: Linux + Apache + MySQL + PHP.
- SSL: Протокол безопасности для шифрования HTTPS.
- certbot: клиент Let’s Encrypt для получения SSL.
- php.ini: главный конфигурационный файл для PHP.
17. Примеры тест-кейсов / критерии приёмки
- Приложение доступно по HTTPS и корректно возвращает 200 на главной странице.
- Учетная запись admin успешно создаётся и вход в админ-панель работает.
- Дамп базы можно импортировать на чистую машину без ошибок.
18. Частые сценарии отката (runbook)
- Если обновление Tiki сломало сайт — восстановите файлы из последнего архива и импортируйте дамп базы в тестовую среду.
- Если SSL перестал работать — проверьте, не истёк ли сертификат (certbot certificates) и выполните certbot renew –dry-run.
19. Рекомендации по производительности
- Включите PHP opcache (уже установлен php7.4-opcache).
- Используйте memcached или Redis для кэширования сессий и операций.
- Настройте правильные индексы в базе данных, если у вас большой объём данных.
20. Совместимость и миграция
- При миграции с более старой версии Tiki изучите release notes — возможны изменения структуры таблиц.
- Переход MySQL → MariaDB обычно проходит гладко, но тестируйте в staging среде.
Краткое резюме
- Установка Tiki на Ubuntu 20.04 включает подготовку LAMP-стека, загрузку исходников, настройку виртуального хоста и получение SSL.
- Обязательно настройте бэкапы, права доступа и мониторинг перед выходом в продакшен.
- При необходимости рассмотрите использование Docker для упрощения развёртывания.
Спасибо за внимание — если нужно, могу подготовить Dockerfile и docker-compose.yml для контейнерного развёртывания Tiki или адаптировать инструкции под Nginx/MariaDB.


Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента