Представь, что тебе нужно развернуть корпоративную вики-систему для команды разработки или документации проекта. XWiki — мощное решение, но его установка на Ubuntu может показаться запутанной. Давай разберем этот процесс от начала до конца, как настоящие DevOps-инженеры.
Что такое XWiki и зачем он нужен?
XWiki — это enterprise-вики платформа с расширенными возможностями: управление документацией, совместная работа, встроенные приложения. В отличие от MediaWiki, он предлагает структурированные данные и работает на Java-стеке.
Подготовка Ubuntu сервера
Начнем с базовой настройки системы. Я рекомендую Ubuntu 22.04 LTS или новее.
1. Обновление системы и установка Java
XWiki требует Java 11 или выше. Установим OpenJDK 17:
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 как основную СУБД. Установим и настроим:
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. Установим последнюю версию:
sudo apt install tomcat10 tomcat10-admin tomcat10-user -y
# Создаем симлинк для удобства
sudo ln -s /var/lib/tomcat10 /usr/share/tomcat10
# Проверяем работу
sudo systemctl status tomcat10
Настройка Tomcat для XWiki
Создадим отдельный контекст для XWiki с увеличенными лимитами памяти:
sudo nano /etc/tomcat10/Catalina/localhost/xwiki.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
Скачаем последнюю стабильную версию с официального сайта:
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
Создадим файл конфигурации базы данных:
sudo nano /var/lib/tomcat10/webapps/xwiki/WEB-INF/hibernate.cfg.xml
Найди секцию connection и замени ее:
<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
Основной конфигурационный файл:
sudo nano /var/lib/tomcat10/webapps/xwiki/WEB-INF/xwiki.cfg
Установи важные параметры:
xwiki.work.dir=/var/lib/tomcat10/work/xwiki
xwiki.permanent.directory=/var/lib/tomcat10/data/xwiki
xwiki.authentication.validationKey=ТВОЙ_СЕКРЕТНЫЙ_КЛЮЧ
Запуск и первоначальная настройка
# Перезапускаем Tomcat
sudo systemctl restart tomcat10
# Следим за логами
sudo tail -f /var/log/tomcat10/catalina.out
Открой браузер и перейди по адресу: http://ваш-сервер:8080/xwiki
Установка через Docker (альтернативный способ)
Для быстрого развертывания используй Docker Compose:
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 и проксирование:
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"
Частые проблемы и решения
Решение: Проверь логи PostgreSQL:
sudo journalctl -u postgresql
Решение: Увеличь память Tomcat и включи кэширование
Решение: Проверь права на директории:
/var/lib/tomcat10/webapps/xwiki
FAQ: Ответы на частые вопросы
Как сделать резервное копирование XWiki?
Используй pg_dump для БД и копируй директории:
# Бэкап базы данных
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-вариант отлично подходит для тестирования и разработки.
Теперь у тебя есть полностью рабочая XWiki установка на Ubuntu. Осталось только наполнить ее полезным контентом для твоей команды!