如何在Ubuntu 16.04 LTS上安装XWiki 9.11.x

XWiki是用Java编写的流行的企业级开源Wiki平台。由于具有可扩展性和易用性,XWiki已作为知识存储库,公共门户等在各种公司中部署。

在本文中,我将指导您完成在Ubuntu 16.04 LTS服务器实例上安装XWiki 9.11.2的过程。在安装过程中,OpenJDK 8,Tomcat 8和MySQL 5.7将作为依赖项自动安装。

先决条件

  • 全新的Vultr Ubuntu 16.04 LTS x64服​​务器实例,其内存至少为2GB,建议至少为4GB。假设其IP地址为203.0.113.1
  • 一个sudo的用户
  • 已使用将该服务器实例更新为最新的稳定状态apt

设置XWiki LTS APT回购

以sudo用户身份登录,然后在您的服务器实例上下载并设置XWiki 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容器和数据库软件。作为一个灵活的Wiki平台,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

在安装过程中,系统将要求您多次为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

在此过程中,程序将询问您一些问题。回复他们如下:

  • 您要设置“验证密码”插件吗? 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。您需要按如下所述增加默认内存配额,然后才能在Tomcat 8中正确启动XWiki实例。

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防火墙规则,以允许在端口上进行Web访问8080

sudo ufw allow 8080
sudo ufw enable

在“ Distribution Wizard”网络界面上初始化XWiki

至此,您已经建立了一个功能正常但空白的XWiki网站。为了填写内容,您需要在初始XWiki Web界面“ Distribution Wizard” 上完成几项后续任务,包括创建管理员用户以及为此Wiki安装风味和所需的扩展。

将您喜欢的网络浏览器指向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仪表板。

(可选)缩短XWiki网站URL

默认情况下,由于Tomcat可以同时服务多个应用程序,因此您需要通过URL访问XWiki站点http://203.0.113.1:8080/xwiki。但是,如果XWiki是在Tomcat中运行的唯一应用程序,并且您想通过删除/xwiki后缀来缩短XWiki站点的URL ,则应按如下所示修改三个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">

修改path参数的值:

<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

从现在开始,您将http://203.0.113.1:8080/直接从XWiki网站访问。

(可选)设置Nginx反向代理

默认情况下,Tomcat 8在port上运行8080,并且您只能从同一端口访问XWiki站点。如果要通过删除端口号部分来方便访问者访问,可以将Nginx安装为XWiki与访问者之间的反向代理。

首先,使用apt安装Nginx:

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/



Leave a Comment

如何在CentOS 7上安装Oxwall

如何在CentOS 7上安装Oxwall

Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,

如何在Ubuntu 16.10上安装Review Board

如何在Ubuntu 16.10上安装Review Board

使用其他系统?Review Board是一个免费且开源的工具,用于检查源代码,文档,图像等。这是基于网络的软件战

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

如何在Debian 9 LAMP VPS上安装October 1.0 CMS

使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

如何使用Ubuntu 15.10在Vultr服务器上安装Xubuntu桌面

Xubuntu是XFCE + Ubuntu!XFCE是Ubuntu的轻量级GUI /桌面。Vultr服务器需要其他依赖项,默认情况下未安装这些依赖项。

如何在Debian 9上安装Monica

如何在Debian 9上安装Monica

使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具

如何使用SSL和安全密码保护由Nginx驱动的网站

如何使用SSL和安全密码保护由Nginx驱动的网站

简介SSL(代表安全套接字层)及其后续版本TLS(代表传输层安全性)是需要加密的加密协议。

如何在Fedora 26 LAMP VPS上安装MODX Revolution

如何在Fedora 26 LAMP VPS上安装MODX Revolution

使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由

如何在Ubuntu 17.04上安装JuliaLang

如何在Ubuntu 17.04上安装JuliaLang

朱莉娅(Julia)通常称为JuliaLang,是一种用于数值计算的编程语言。Julia的速度和C一样快,但是却不牺牲可读性

在Ubuntu 14.04上安装Ruby on Rails

在Ubuntu 14.04上安装Ruby on Rails

Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。

在Fedora 28上安装Anchor CMS

在Fedora 28上安装Anchor CMS

使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示

将Debian 9升级到Debian 10

将Debian 9升级到Debian 10

简介Debian 10(Buster)是Debian 9(Stretch)的后继产品。它于2019年7月6日发布。在本教程中,我们将升级一个existin

如何管理Linux服务器时区设置

如何管理Linux服务器时区设置

在Linux服务器上正确设置日期和时间非常重要。您的服务器日志和其他重要信息都将反映时区

如何在Ubuntu 16.04上安装Taiga项目管理工具

如何在Ubuntu 16.04上安装Taiga项目管理工具

使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量

在Ubuntu上配置Nagios:第1部分-Nagios服务器

在Ubuntu上配置Nagios:第1部分-Nagios服务器

本文是有关在Ubuntu 14.04上安装和配置Nagios的2部分系列文章的一部分。第1部分:Nagios服务器第2部分:远程主机概述Nagio

如何访问Vultr VPS

如何访问Vultr VPS

Vultr提供了几种不同的方式来访问VPS以进行配置,安装和使用。访问凭据VPS ar的默认访问凭据

如何在Debian 9上安装Grav CMS

如何在Debian 9上安装Grav CMS

使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

如何在Fedora 26 LAMP VPS上安装Pagekit 1.0 CMS

使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

如何在Ubuntu 16.04 LAMP VPS上安装BigTree CMS

使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。

如何在CentOS 7上设置vsFTPd

如何在CentOS 7上设置vsFTPd

FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o

在Debian / Ubuntu中使用Rsync设置文件镜像

在Debian / Ubuntu中使用Rsync设置文件镜像

简介如果您经营一个重要的网站,则最好将文件镜像到辅助服务器。如果您的主服务器有网络

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息