Установка TikiWiki на Debian 10

TikiWiki — свободная и открытая система управления контентом (CMS) на PHP. Она мощная и функциональная: подходит для сайтов, вики, веб-приложений, баз знаний, порталов, галерей изображений и многого другого. Основные блоки TikiWiki: инструменты создания и управления контентом, коммуникационные модули, администрирование и настройки, а также средства организации и навигации. Среди встроенных функций — форумы, блог, карты, рабочие области, слайд-шоу, корзина покупок, трекер задач, мультиязычность, файловая и графическая галереи, события и многое другое.
Это пошаговое руководство объясняет, как установить TikiWiki на Debian 10 и довести сайт до безопасного рабочегo состояния.
Требования
- Сервер с Debian 10 (Buster).
- Доступ root или пользователь с sudo.
- Зарезервированное доменное имя example.com (замените на своё).
- Основные навыки работы в терминале и базовое понимание Apache/PHP/MySQL.
Важно: в инструкции используются примеры (имя базы tikidb, пользователь tiki, пароль password, домен example.com). Всегда заменяйте их на безопасные значения перед применением.
Подготовка сервера
Перед началом обновите систему до последних пакетов и перезагрузите сервер при необходимости.
apt-get update -y
apt-get upgrade -yПосле обновления рекомендуется перезагрузить сервер:
rebootУстановка стека LAMP
TikiWiki работает на Apache (или Nginx), использует PHP и MariaDB/MySQL. В Debian 10 по умолчанию доступен PHP 7.3, но текущая версия Tiki, указанная в оригинальной инструкции, требует PHP 7.2. Мы установим PHP 7.2 из SURY-репозитория.
Установите Apache, MariaDB и unzip:
apt-get install apache2 mariadb-server unzip -yДобавьте GPG-ключ SURY и репозиторий для PHP 7.2:
wget https://packages.sury.org/php/apt.gpg
apt-key add apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
apt-get update -yУстановите PHP 7.2 и необходимые расширения:
apt-get install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip -yНастройте php.ini для Apache (измените timezone на ваш регион, в примере — Europe/Moscow):
nano /etc/php/7.2/apache2/php.iniДобавьте или измените параметры:
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Europe/MoscowСохраните и закройте файл. Затем перезапустите Apache:
systemctl restart apache2Примечание: если вы предпочитаете PHP 7.3 или 7.4, проверьте совместимость версии Tiki, которую устанавливаете. Если используете более новые версии PHP, возможно потребуется обновлённая версия Tiki.
Создание базы данных для TikiWiki
По умолчанию MariaDB нужно защитить. Выполните скрипт безопасности:
mysql_secure_installationОтвечайте на вопросы, рекомендуем: удалить анонимных пользователей, запретить удалённый вход root и удалить тестовую базу.
Затем войдите в MariaDB:
mysql -u root -pСоздайте базу данных и пользователя (замените password на сложный пароль):
CREATE DATABASE tikidb;
CREATE USER 'tiki'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON tikidb.* TO 'tiki'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;Совет безопасности: используйте уникальное имя пользователя и длинный пароль. При необходимости примените привилегии только к нужным операциям, а не ALL.
Загрузка TikiWiki
Скачайте последнюю версию с SourceForge и распакуйте в /var/www/html:
cd /var/www/html/
wget https://sourceforge.net/projects/tikiwiki/files/latest/download -O tikiwiki.zip
unzip tikiwiki.zipИмя распакованной директории может отличаться (например tiki-20.0). Проверьте вывод ls и переименуйте в tikiwiki:
mv tiki-20.0 tikiwikiЕсли имя папки другое, замените tiki-20.0 на фактическое имя.
Установите владельца и права доступа:
chown -R www-data:www-data /var/www/html/tikiwiki/
chmod -R 755 /var/www/html/tikiwiki/Для безопасности: не давайте 777; права 755 для директорий и 644 для файлов — хорошая отправная точка. Файлы конфигурации, содержащие секреты, должны быть доступны только привилегированным пользователям.
Настройка Apache для TikiWiki
Создайте виртуальный хост:
nano /etc/apache2/sites-available/tikiwiki.confВставьте конфигурацию и замените example.com на ваш домен и email на адрес администратора:
ServerAdmin [email protected]
DocumentRoot /var/www/html/tikiwiki
ServerName example.com
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/tikiwiki_error.log
CustomLog ${APACHE_LOG_DIR}/tikiwiki_access.log combined
Сохраните файл, затем активируйте сайт и модуль rewrite:
a2ensite tikiwiki.conf
a2enmod rewrite
systemctl restart apache2Если ваш сервер использует UFW, откройте порты 80 и 443:
ufw allow 'Apache Full'Доступ к веб-интерфейсу TikiWiki
Откройте в браузере http://example.com (замените на ваш домен). Вы увидите мастер установки TikiWiki и пройдёте шаги: выбор языка, соглашение лицензии, проверка требований, ввод данных базы, выбор движка базы данных и завершение установки.

Выберите язык и нажмите Продолжить.

Примите лицензионное соглашение и продолжите.

Проверьте соответствие системы минимальным требованиям.


Укажите имя базы, пользователя и пароль. Далее выберите движок базы и начните установку.

После успешной установки вы увидите экран завершения:

Продолжите к общим настройкам: укажите название вики, email отправителя, настройки логов и прочее.


Прочитайте заметки установки и завершите работу мастера.

Войдите как администратор, задайте пароль и войдите в интерфейс.

После завершения нажмите «Enter Tiki and Lock Installer» и установите пароль администратора.

Защита TikiWiki с помощью Let’s Encrypt
Чтобы включить HTTPS, установите Certbot и получите бесплатный сертификат. Для Debian 10 рекомендуемый способ — установка через snap. В оригинальной инструкции использовался PPA (ubuntu-пакеты), но на Debian лучше предпочесть snap или официальные пакеты.
Установка certbot через snap:
apt-get install snapd -y
snap install core; snap refresh core
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbotЕсли вы всё же используете альтернативу через apt, убедитесь, что репозиторий ваше дистрибутив поддерживает ppa.
Создайте директорию для проверки ACME и конфигурацию Apache:
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt
nano /etc/apache2/conf-available/well-known.confВставьте следующее:
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
AllowOverride None
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
Активируйте конфигурацию и модули:
a2enmod ssl
a2enmod http2
a2enmod headers
a2enconf well-known
systemctl restart apache2Запустите certbot для вашего домена:
certbot --apache -d example.comСледуйте подсказкам: введите email, согласитесь с условиями и выберите перенаправление HTTP на HTTPS (рекомендуется для новых сайтов).
После успешной установки вы увидите путь к сертификатам и напоминание о необходимости регулярного обновления. Certbot настроит автоматическое обновление, но проверьте cron/systemd таймеры:
certbot renew --dry-runПроверка и тестирование
Критерии приёмки
- Сайт доступен по HTTPS: https://example.com
- Вход администратора работает и права корректны
- Разделы контента создаются и сохраняются
- Регистрация и форумы работают (если включены)
- Автоматическое обновление сертификата проходит успешно (dry-run)
Тесты приёмки
- Посетить главную страницу, создать тестовую страницу, отредактировать и удалить её.
- Проверить логи Apache и Tiki на наличие ошибок в /var/log/apache2 и в панели администратора Tiki.
- Выполнить sql-запросы простые на tikidb: SELECT COUNT(*) FROM и проверить подключение.
Безопасность и рекомендации по эксплуатации
Основные меры безопасности
- Блокируйте доступ к /config и файлам конфигурации через .htaccess или конфигурацию Apache.
- Отключите установщик после завершения установки (кнопка «Lock Installer» в интерфейсе) и дополнительно удалите/переименуйте установочные скрипты.
- Регулярно обновляйте PHP, модули и саму Tiki.
- Настройте бэкап базы и файлов: регулярные dump базы (mysqldump) и архивирование каталога /var/www/html/tikiwiki.
- Ограничьте права на файлы: владельцем должен быть www-data, права 644 для файлов и 755 для каталогов.
- Включите брандмауэр (UFW) и разрешите только нужные порты.
- Подумайте о fail2ban для защиты от bruteforce.
Резервное копирование (примерный SOP)
- Остановить кратковременно запись (по возможности).
- Создать дамп базы:
mysqldump -u root -p tikidb > /root/backups/tikidb-$(date +%F).sql- Архивировать файлы:
tar -czvf /root/backups/tiki-www-$(date +%F).tar.gz /var/www/html/tikiwiki- Перенести резерв на удалённый хост или облако.
Проверка отката
- Восстановление базы:
mysql -u root -p tikidb < /root/backups/tikidb-2021-01-01.sql- Распаковка файлов из архива:
tar -xzvf /root/backups/tiki-www-2021-01-01.tar.gz -C /
chown -R www-data:www-data /var/www/html/tikiwikiОтказ и откат при проблемах
Инцидентный план (runbook)
- При падении сайта проверьте статус служб:
systemctl status apache2
systemctl status mariadb- Посмотрите последние строки логов Apache и Tiki:
tail -n 200 /var/log/apache2/tikiwiki_error.log
tail -n 200 /var/log/apache2/error.log- Если проблема связана с базой данных, проверьте диск и соединение, выполните SELECT 1 в MySQL.
- При ошибочном обновлении PHP — переключитесь на рабочую версию PHP (если установлена альтернативная) или восстановите из резервной копии.
Альтернативные подходы
- Использование Nginx вместо Apache: возможна конфигурация с php-fpm. Nginx часто даёт лучшую производительность, но потребует другой конфигурации виртуального хоста и правил для .htaccess.
- Контейнеризация: запуск Tiki в Docker-контейнере (отдельно контейнеры для веба, базы и файлов) упрощает деплой и миграции.
- Управляемый хостинг: для небольших проектов удобнее использовать управляемые VPS с готовыми образами LAMP.
Совместимость и миграция
- Перед обновлением PHP или Tiki сделайте полный бэкап.
- Проверьте требования версии Tiki в релиз-нотах: версии движка иногда требуют более новых расширений PHP.
- При миграции с другой CMS экспортируйте контент в формате, поддерживаемом Tiki (CSV, XML) и импортируйте через панели Tiki или скрипты.
Роли и чек-листы
Системный администратор
- Подготовить сервер и создать пользователя с sudo
- Установить LAMP, Certbot, настроить бэкапы
- Обеспечить мониторинг и обновления
Разработчик
- Проверить совместимость плагинов и тем
- Настроить среду разработки и поставки (CI/CD)
Редактор контента
- Проверить права редактора и корректность шаблонов
- Создать структуру разделов и тестовый контент
Проверочные сценарии
- Установить пользователей с разными ролями и проверить ограничения прав.
- Изменить шаблон страницы, убедиться, что кеш обновляется.
- Имитировать истечение сертификата и проверить процедуру обновления certbot renew.
Краткий глоссарий
- LAMP — стек Linux, Apache, MySQL/MariaDB, PHP.
- Certbot — клиент для автоматической выдачи сертификатов Let’s Encrypt.
- VirtualHost — конфигурация виртуального хоста Apache для домена.
Когда установка может не сработать
- Неверная версия PHP или отсутствие требуемых расширений — проверяйте список расширений в разделе требований Tiki.
- Некорректные права на файлы могут мешать записи в директории upload или cache.
- Неправильная конфигурация DNS/веб-сервера приведёт к проблемам с получением SSL от Let’s Encrypt.
Итоговые рекомендации
- Всегда делайте резервные копии перед изменениями среды.
- Настройте автоматическое обновление сертификатов и проверяйте dry-run.
- Ограничьте доступ к конфигурационным файлам и регулярно отслеживайте логи.
- Тестируйте обновления Tiki на копии окружения перед продакшеном.
Дополнительные ресурсы и ссылки см. в официальной документации TikiWiki и в руководствах по Debian 10 и Certbot.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone