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は、インストールプロセス中に依存関係として自動的にインストールされます。

前提条件

  • 少なくとも2 GBのメモリを備えた、最新のVultr Ubuntu 16.04 LTS x64サーバーインスタンス。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

すべてを1つのXWikiバンドルにインストールします(XWiki LTS 9.11.2、Tomcat 8、MySQL 5.7などを含みます)。

本番環境にデプロイする場合、XWikiはJavaサーブレットコンテナーおよびデータベースソフトウェアと連携する必要があります。XWikiは柔軟なWikiプラットフォームとして、さまざまな統合オプションを公式に提供しています。次のコマンドを使用して、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を使用する場合は、次のように1つのコマンドで必要なすべてのコンポーネントをインストールできます。

sudo apt install xwiki-tomcat8-mysql/lts -y

インストールプロセス中に、MySQL rootユーザーの新しいパスワードを数回セットアップするように求められます。パスワードフィールドを空白のままにし、を押しEnterて今のところこの手順をスキップします。MySQLのインストールを保護しながら、後でこの問題に取り組みます。

するかどうか尋ねられたらConfigure database for xwiki with dbconfig-common?、を選択して<Yes>からを押しENTERます。

を提供するように求められたらMySQL application password for xwiki、特定のMySQLアプリケーションパスワードを入力するか、パスワードフィールドを空白のままにすることができます。後者は、ランダムなMySQLアプリケーションパスワードを使用するようにXWikiに指示します。

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

以下に示す2つの行を見つけます。

xwiki.authentication.validationKey=totototototototototototototototo
xwiki.authentication.encryptionKey=titititititititititititititititi

両方のパラメーターの値を2つの異なるランダム文字列に置き換え、各文字列の長さが他の文字列と同じであることを確認します。次に例を示します。

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

ポートでのWebアクセスを許可するために、UFWファイアウォールルールを変更します8080

sudo ufw allow 8080
sudo ufw enable

" Distribution Wizard" WebインターフェースでXWikiを初期化する

この時点で、機能するが空のXWikiサイトをセットアップしました。コンテンツを入力するには、「Distribution Wizard」という名前の初期XWiki Webインターフェースで、管理ユーザーの作成、このWikiのフレーバーと必要な拡張機能のインストールなど、いくつかのフォローアップタスクを完了する必要があります。

お気に入りのWebブラウザでをポイントするhttp://203.0.113.1:8080/xwikiと、自動的に " Distribution Wizard" Webインターフェイスが表示されます。「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名がadminのユーザーを作成し、次に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を短くしたい場合は、次のように3つの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

これからは、http://203.0.113.1:8080/直接XWikiサイトにアクセスします。

(オプション)Nginxリバースプロキシをセットアップする

デフォルトでは、Tomcat 8はポート上で動作し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にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。