如何在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

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 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。