Гид по технологиям

Установка Tiki Wiki CMS Groupware на Ubuntu 20.04 (Apache, MySQL, PHP 7.4)

• 8 min read • Инструкции • Обновлено 25 Nov 2025
Установка Tiki Wiki на Ubuntu 20.04
Установка Tiki Wiki на Ubuntu 20.04

Важно: перед началом убедитесь, что ваш домен указывает на 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).
  • Базовые знания работы с терминалом и текстовыми редакторами.

Содержание

  1. Установка зависимостей пакетов
  2. Установка Apache
  3. Установка и настройка MySQL
  4. Установка и настройка PHP 7.4
  5. Скачивание исходников Tiki
  6. Получение SSL Let’s Encrypt
  7. Настройка виртуального хоста Apache
  8. Постустановка через веб-интерфейс Tiki
  9. Резервное копирование и восстановление
  10. Жёсткая настройка безопасности и рекомендации по эксплуатации
  11. Отладка и типичные ошибки
  12. Альтернативные подходы (Docker, MariaDB)
  13. Роли и чек-листы
  14. Краткое резюме

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:/// (например http://10.5.5.25/). Должна отображаться стандартная страница Apache.

Стандартная страница Apache

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” на вопросы, связанные с удалением анонимных пользователей, ограничением удалённого входа и удалением тестовой базы.

Интерфейс утилиты выглядит примерно так:

Настройка пароля root для MySQL

Создайте базу данных и пользователя для 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’ на надёжный пароль. После создания вы увидите подтверждение в консоли.

Создание базы данных для Tiki

Совет: используйте менеджер секретов или файл конфигурации вне репозитория для хранения реального пароля.

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.

Конфигурация PHP 7.4

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.

Скачивание исходников Tiki

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

Настройка виртуального хоста Apache

8. Постустановка через веб-интерфейс Tiki

Откройте браузер и перейдите по HTTPS адресу вашего домена:

https://tiki.hakase-labs.to/

Вы увидите страницу установщика Tiki. Далее стандартные шаги:

  • Выбор языка и принятие лицензии LGPL.
  • Проверка системных требований (все тесты должны быть зелёными).
  • Ввод данных базы данных (tikidb, tikiuser, пароль).
  • Выбор движка базы данных (InnoDB рекомендован).
  • Запуск установки и создание административного пользователя.

Иллюстрации процесса (примеры экранов):

Экран установщика Tiki Лицензия Tiki Проверка системных требований Конфигурация базы данных в установщике

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

Установка завершена

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)

  1. Если обновление Tiki сломало сайт — восстановите файлы из последнего архива и импортируйте дамп базы в тестовую среду.
  2. Если 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.

TikiWiki домашняя страница

Панель администратора Tiki

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро