XWiki - это популярная вики-платформа с открытым исходным кодом уровня предприятия, написанная на Java. Благодаря расширяемости и простоте использования XWiki используется в различных компаниях в качестве хранилища знаний, общедоступного портала и многого другого.
В этой статье я проведу вас через процесс установки XWiki 9.11.2 на экземпляр сервера Ubuntu 16.04 LTS. OpenJDK 8, Tomcat 8 и MySQL 5.7 будут автоматически установлены как зависимости в процессе установки.
Предпосылки
- Рекомендуется новый экземпляр сервера Vultr Ubuntu 16.04 LTS x64 с минимум 2 ГБ памяти, 4 ГБ или более. Скажите, что его IP-адрес
203.0.113.1.
- Пользователь Sudo .
- Экземпляр сервера обновлен до последнего стабильного состояния с помощью
apt.
Настройте репозиторий XWiki LTS APT
Войдите в систему как пользователь sudo, а затем загрузите и настройте репозиторий XTiki LTS (долгосрочная поддержка) APT на своем экземпляре сервера:
cd
wget -q "https://maven.xwiki.org/public.gpg" -O- | sudo apt-key add -
sudo wget "https://maven.xwiki.org/lts/xwiki-lts.list" -P /etc/apt/sources.list.d/
sudo apt update
Примечание. Если вы хотите опробовать последний стабильный выпуск XWiki (но НЕ LTS), вы можете загрузить приведенное ниже репозиторий XWiki APT:
cd
wget -q "https://maven.xwiki.org/public.gpg" -O- | sudo apt-key add -
sudo wget "https://maven.xwiki.org/stable/xwiki-stable.list" -P /etc/apt/sources.list.d/
sudo apt update
Установите все в одном пакете XWiki (включая XWiki LTS 9.11.2, Tomcat 8, MySQL 5.7 и другие.)
При развертывании в производстве XWiki необходимо работать с контейнером Java Servlet и программным обеспечением базы данных. Как гибкая вики-платформа, XWiki официально предоставляет различные варианты интеграции. Вы можете использовать следующую команду, чтобы показать все доступные опции в репозитории XWiki LTS APT:
apt search xwiki
Результат поиска будет выглядеть следующим образом:
xwiki-common/lts 9.11.2 all
xwiki-mysql-common/lts 9.11.2 all
xwiki-pgsql-common/lts 9.11.2 all
xwiki-solr-data/lts 9.11.2 all
xwiki-tomcat7-common/lts 9.11.2 all
xwiki-tomcat7-mysql/lts 9.11.2 all
xwiki-tomcat7-pgsql/lts 9.11.2 all
xwiki-tomcat8-common/lts 9.11.2 all
xwiki-tomcat8-mysql/lts 9.11.2 all
xwiki-tomcat8-pgsql/lts 9.11.2 all
Если вы хотите использовать XWiki с наиболее распространенными зависимостями, вы можете установить все необходимые компоненты в одну команду следующим образом:
sudo apt install xwiki-tomcat8-mysql/lts -y
В процессе установки вам будет предложено установить новый пароль для пользователя root MySQL несколько раз. Просто оставьте поле пароля пустым и нажмите, Enterчтобы пропустить этот шаг сейчас. Мы займемся этой проблемой позже, пока будем защищать установку MySQL.
Когда вас спросят, хотите ли вы Configure database for xwiki with dbconfig-common?, выберите, <Yes>а затем нажмите ENTER.
Когда вас попросят предоставить MySQL application password for xwiki, вы можете либо ввести конкретный пароль приложения MySQL, либо оставить поле пароля пустым. Последний скажет XWiki использовать случайный пароль приложения MySQL.
Установив XWiki и все необходимые зависимости, обеспечьте установку MySQL:
sudo /usr/bin/mysql_secure_installation
В процессе работы программа задаст вам несколько вопросов. Ответьте им, как показано ниже:
- Вы хотите установить плагин VALIDATE PASSWORD? Y
- Пожалуйста, введите 0 = НИЗКИЙ, 1 = СРЕДНИЙ и 2 = СИЛЬНЫЙ: 2
- Новый пароль:
a-strong-MySQL-root-password
- Повторно введите новый пароль:
a-strong-MySQL-root-password
- Вы хотите продолжить с предоставленным паролем? Y
- Удалить анонимных пользователей? Y
- Запретить root-вход удаленно? Y
- Удалить тестовую базу данных и получить к ней доступ? Y
- Перезагрузить таблицы привилегий сейчас? Y
Повысить безопасность XWiki, изменив конфигурационный файл XWiki.
Используйте редактор vi, чтобы открыть файл конфигурации XWiki:
sudo vi /etc/xwiki/xwiki.cfg
Найдите две строки, показанные ниже:
xwiki.authentication.validationKey=totototototototototototototototo
xwiki.authentication.encryptionKey=titititititititititititititititi
Замените значения обоих параметров двумя разными случайными строками и просто убедитесь, что длина каждой строки такая же, как и у другой, например:
xwiki.authentication.validationKey=f0130dfa6fc841e920d5e1056184c03e
xwiki.authentication.encryptionKey=z84kf92ko073tgjdnvkdfmms91qa0ke4
Сохранить и выйти:
:wq!
Квота памяти по умолчанию слишком мала для запуска Tomcat 8 и XWiki внутри. Чтобы правильно запустить экземпляр XWiki в Tomcat 8, необходимо увеличить квоту памяти по умолчанию следующим образом.
sudo cp /etc/default/tomcat8 /etc/default/tomcat8.bak
sudo vi /etc/default/tomcat8
Найдите строку:
JAVA_OPTS="-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC"
Измените строку, как показано ниже:
JAVA_OPTS="-Djava.awt.headless=true -Xmx1024m"
Примечание: 1024M памяти - это только минимальная квота для запуска небольшого или среднего сайта XWiki. Возможно, вам придется внести изменения в эту строку в соответствии с вашими конкретными требованиями.
Сохранить и выйти:
:wq!
Перезапустите Tomcat 8, чтобы все ваши изменения вступили в силу:
sudo systemctl restart tomcat8.service
Измените правила брандмауэра UFW, чтобы разрешить веб-доступ через порт 8080:
sudo ufw allow 8080
sudo ufw enable
Инициализируйте XWiki в Distribution Wizardвеб-интерфейсе ""
На данный момент у вас есть настроенный, но пустой сайт XWiki. Чтобы заполнить контент, вам необходимо выполнить несколько последующих задач, включая создание пользователя-администратора и установку версии и необходимых расширений для этой вики в исходном веб-интерфейсе XWiki с именем " Distribution Wizard".
Укажите свой любимый веб-браузер http://203.0.113.1:8080/xwiki, и вы автоматически попадете в " Distribution Wizard" веб-интерфе��с. Нажмите кнопку « Continue», чтобы начать работу мастера.
На Step 1 - Admin userстранице " " вам необходимо ввести учетные данные администратора, например:
FIRST NAME: `John`
LAST NAME: `Doe`
USERNAME (Required): `johndoe`
PASSWORD (Required): `yourpassword`
CONFIRM PASSWORD (Required): `yourpassword`
EMAIL ADDRESS: `[email protected]`
Заполнив все необходимые поля, нажмите кнопку « Register and login», чтобы продолжить.
На следующей странице , которая показывает « You are connected with user John Doe.», нажмите на « Continueкнопку» , чтобы создать пользователя с правами администратора , John Doeчье имя пользователя является johndoeи двигаться дальше.
На Step 2 - Flavorстранице " " нажмите на область " XWiki Standard Flavor 9.11.2", чтобы выделить этот аромат, а затем нажмите кнопку " Install this flavor", чтобы продолжить.
На следующей странице с подробной информацией " XWiki Standard Flavor 9.11.2" нажмите кнопку " Install", чтобы выполнить установку.
После установки версии все необходимые расширения будут перечислены на странице, нажмите кнопку « Continue», чтобы установить их все.
Установив вкус и все необходимые расширения, нажмите кнопку « Continue» в правом нижнем углу, чтобы продолжить.
На Step 4 - Reportстранице " " вы можете просмотреть все созданные страницы.
При необходимости вы можете удалить любые непопулярные страницы, нажав соответствующую красную Xкнопку.
Наконец, нажмите кнопку « Continue», чтобы завершить « Distribution Wizard». Вы попадете на панель управления XWiki в качестве пользователя-администратора, который вы настроили ранее.
(Необязательно) Сократите URL сайта XWiki
По умолчанию, поскольку Tomcat может одновременно обслуживать несколько приложений, вам необходимо получить доступ к своему сайту XWiki по URL-адресу http://203.0.113.1:8080/xwiki. Однако, если XWiki - единственное приложение, работающее в Tomcat, и вы хотите сократить URL-адрес сайта XWiki, удалив /xwikiсуффикс, вам следует изменить три файла конфигурации XWiki следующим образом.
Модификация файла 1:
cd /etc/tomcat8/Catalina/localhost/
sudo cp xwiki.xml ROOT.xml
sudo mv xwiki.xml xwiki.xml.bak
Модификация файла 2:
cd /etc/xwiki
sudo cp xwiki-tomcat8.xml xwiki-tomcat8.xml.bak
sudo vi xwiki-tomcat8.xml
Найдите строку:
<Context path="/xwiki" docBase="/usr/lib/xwiki" privileged="true" crossContext="true">
Измените значение параметра пути:
<Context path="/" docBase="/usr/lib/xwiki" privileged="true" crossContext="true">
Сохранить и выйти:
:wq!
Модификация файла 3:
cd /etc/xwiki
sudo cp xwiki.cfg xwiki.cfg.bak
sudo vi xwiki.cfg
Найдите строку:
# xwiki.webapppath=
Раскомментируйте это:
xwiki.webapppath=
Сохранить и выйти:
:wq!
Наконец, перезапустите Tomcat 8, чтобы применить все ваши модификации:
sudo systemctl restart tomcat8.service
Отныне вы будете посещать свой сайт XWiki http://203.0.113.1:8080/напрямую.
(Необязательно) Настройте обратный прокси-сервер Nginx
По умолчанию Tomcat 8 работает с портом 8080, и вы можете посещать сайт XWiki только с того же порта. Если вы хотите облегчить доступ посетителей, удалив часть номера порта, вы можете установить Nginx в качестве обратного прокси-сервера между XWiki и посетителями.
Сначала установите Nginx, используя apt:
sudo apt install nginx -y
Затем настройте Nginx в качестве обратного прокси-сервера, изменив настройки сайта по умолчанию:
cd /etc/nginx/sites-available
sudo mv default default.bak
sudo vi default
Заполните файл следующим текстом:
server {
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
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-Host $server_name;
}
}
Сохранить и выйти:
:wq!
Запустите службу Nginx и настройте ее на автоматический запуск при запуске системы:
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
Наконец, измените правила брандмауэра UFW соответствующим образом:
sudo ufw allow 80
sudo ufw deny 8080
sudo ufw reload
Отныне посетителям вашего сайта XWiki больше не нужно указывать номер порта. Они должны непосредственно посетить http://203.0.113.1/.