XWiki установка на Ubuntu: Пошаговая инструкция с Docker и без | AdminWiki

XWiki установка на Ubuntu: Полное руководство для разработчиков и DevOps

01 января 2026 6 мин. чтения #devops #docker #postgresql #tomcat #ubuntu #wiki #xwiki #настройка #установка

Представь, что тебе нужно развернуть корпоративную вики-систему для команды разработки или документации проекта. XWiki — мощное решение, но его установка на Ubuntu может показаться запутанной. Давай разберем этот процесс от начала до конца, как настоящие DevOps-инженеры.

Что такое XWiki и зачем он нужен?

XWiki — это enterprise-вики платформа с расширенными возможностями: управление документацией, совместная работа, встроенные приложения. В отличие от MediaWiki, он предлагает структурированные данные и работает на Java-стеке.

Важно: Для production-среды рекомендуется использовать связку XWiki + Tomcat + PostgreSQL. Это обеспечит стабильность и производительность.

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

Начнем с базовой настройки системы. Я рекомендую Ubuntu 22.04 LTS или новее.

1. Обновление системы и установка Java

XWiki требует Java 11 или выше. Установим OpenJDK 17:

bash
sudo apt update && sudo apt upgrade -y
sudo apt install openjdk-17-jdk -y

# Проверяем установку
java -version
# Должно быть: openjdk version "17.0.x"

2. Установка и настройка PostgreSQL

XWiki официально рекомендует PostgreSQL как основную СУБД. Установим и настроим:

bash
sudo apt install postgresql postgresql-contrib -y
sudo systemctl start postgresql
sudo systemctl enable postgresql

# Переключаемся на пользователя postgres
sudo -i -u postgres

# Создаем базу данных и пользователя для XWiki
createdb xwiki
dropuser --if-exists xwiki
createuser --pwprompt xwiki
# Запомни пароль! Он понадобится в конфиге

# Выходим из сессии postgres
exit

Установка Tomcat для XWiki

Tomcat — это сервер приложений, на котором будет работать XWiki. Установим последнюю версию:

bash
sudo apt install tomcat10 tomcat10-admin tomcat10-user -y

# Создаем симлинк для удобства
sudo ln -s /var/lib/tomcat10 /usr/share/tomcat10

# Проверяем работу
sudo systemctl status tomcat10
Внимание: По умолчанию Tomcat слушает порт 8080. Убедись, что он не конфликтует с другими сервисами.

Настройка Tomcat для XWiki

Создадим отдельный контекст для XWiki с увеличенными лимитами памяти:

bash
sudo nano /etc/tomcat10/Catalina/localhost/xwiki.xml

Добавь содержимое:

xml
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/xwiki" docBase="/var/lib/tomcat10/webapps/xwiki">
    <Manager pathname="" />
    <Resources
        cachingAllowed="true"
        cacheMaxSize="100000"
    />
</Context>

Установка и настройка XWiki

1. Скачивание XWiki

Скачаем последнюю стабильную версию с официального сайта:

bash
cd /tmp
wget https://maven.xwiki.org/releases/org/xwiki/platform/xwiki-platform-distribution-war/15.10.7/xwiki-platform-distribution-war-15.10.7.war

# Создаем директорию и распаковываем WAR
sudo mkdir -p /var/lib/tomcat10/webapps/xwiki
cd /var/lib/tomcat10/webapps/xwiki
sudo jar -xvf /tmp/xwiki-platform-distribution-war-15.10.7.war

# Устанавлим правильные права
sudo chown -R tomcat:tomcat /var/lib/tomcat10/webapps/xwiki

2. Настройка подключения к PostgreSQL

Создадим файл конфигурации базы данных:

bash
sudo nano /var/lib/tomcat10/webapps/xwiki/WEB-INF/hibernate.cfg.xml

Найди секцию connection и замени ее:

xml
<property name="connection.url">jdbc:postgresql://localhost:5432/xwiki</property>
<property name="connection.username">xwiki</property>
<property name="connection.password">ТВОЙ_ПАРОЛЬ</property>
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>

3. Настройка xwiki.cfg

Основной конфигурационный файл:

bash
sudo nano /var/lib/tomcat10/webapps/xwiki/WEB-INF/xwiki.cfg

Установи важные параметры:

properties
xwiki.work.dir=/var/lib/tomcat10/work/xwiki
xwiki.permanent.directory=/var/lib/tomcat10/data/xwiki
xwiki.authentication.validationKey=ТВОЙ_СЕКРЕТНЫЙ_КЛЮЧ

Запуск и первоначальная настройка

bash
# Перезапускаем Tomcat
sudo systemctl restart tomcat10

# Следим за логами
sudo tail -f /var/log/tomcat10/catalina.out

Открой браузер и перейди по адресу: http://ваш-сервер:8080/xwiki

Первая загрузка может занять 3-5 минут. XWiki инициализирует базу данных и создает необходимые таблицы.

Установка через Docker (альтернативный способ)

Для быстрого развертывания используй Docker Compose:

yaml
version: '3'
services:
  xwiki:
    image: xwiki:latest
    container_name: xwiki
    ports:
      - "8080:8080"
    environment:
      - DB_DATABASE=xwiki
      - DB_USER=xwiki
      - DB_PASSWORD=xwiki_password
      - DB_HOST=database
    volumes:
      - ./xwiki_data:/usr/local/xwiki
    depends_on:
      - database

  database:
    image: postgres:15
    container_name: xwiki-db
    environment:
      - POSTGRES_DB=xwiki
      - POSTGRES_USER=xwiki
      - POSTGRES_PASSWORD=xwiki_password
    volumes:
      - ./postgres_data:/var/lib/postgresql/data

Настройка Nginx как reverse proxy

Для production-среды настрой SSL и проксирование:

nginx
server {
    listen 80;
    server_name wiki.ваш-домен.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name wiki.ваш-домен.com;

    ssl_certificate /etc/letsencrypt/live/wiki.ваш-домен.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/wiki.ваш-домен.com/privkey.pem;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Сравнение методов установки

Метод Сложность Гибкость Для production Рекомендация
Ручная установка (Tomcat+PostgreSQL) Высокая Максимальная ✅ Да Для корпоративного использования
Docker Compose Средняя Хорошая ⚠️ С оговорками Для тестирования и небольших команд
Standalone (встроенный Jetty) Низкая Ограниченная ❌ Нет Только для ознакомления

Оптимизация производительности

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

  • Кэширование: Включи кэш в xwiki.properties
  • Оптимизация БД: Настрой индексы PostgreSQL
  • Tomcat пулы: Увеличь maxThreads в server.xml
  • Память: Добавь в tomcat10.conf: JAVA_OPTS="-Xmx2048m -Xms1024m"

Частые проблемы и решения

Проблема: XWiki не запускается, ошибка подключения к БД
Решение: Проверь логи PostgreSQL: sudo journalctl -u postgresql
Проблема: Медленная работа интерфейса
Решение: Увеличь память Tomcat и включи кэширование
Проблема: Ошибка 403 при доступе
Решение: Проверь права на директории: /var/lib/tomcat10/webapps/xwiki

FAQ: Ответы на частые вопросы

Как сделать резервное копирование XWiki?

Используй pg_dump для БД и копируй директории:

bash
# Бэкап базы данных
pg_dump -U xwiki xwiki > xwiki_backup_$(date +%Y%m%d).sql

# Бэкап файлов
tar -czf xwiki_data_$(date +%Y%m%d).tar.gz /var/lib/tomcat10/data/xwiki

Как обновить XWiki на Ubuntu?

1. Сделай полный бэкап
2. Останови Tomcat
3. Замени WAR файл
4. Запусти Tomcat
5. Выполни миграцию через веб-интерфейс

Какие альтернативы XWiki существуют?

Confluence, MediaWiki, DokuWiki, BookStack. Выбор зависит от требований к функциональности и стеку технологий.

Как настроить аутентификацию через LDAP?

Установи расширение LDAP Authenticator через Extension Manager в админке XWiki.

Заключение

Установка XWiki на Ubuntu — многоэтапный процесс, но результат стоит усилий. Ты получаешь мощную enterprise-вики систему с:

  • Расширенными возможностями редактирования
  • Поддержкой структурированных данных
  • Возможностями для разработки расширений
  • Интеграцией с другими системами

Для production-среды всегда используй связку Tomcat + PostgreSQL, настраивай мониторинг и регулярно делай бэкапы. Docker-вариант отлично подходит для тестирования и разработки.

Совет от DevOps: Автоматизируй установку с помощью Ansible или Terraform для воспроизводимости конфигурации.

Теперь у тебя есть полностью рабочая XWiki установка на Ubuntu. Осталось только наполнить ее полезным контентом для твоей команды!

Поделиться:
Сохранить гайд? В закладки браузера