#12 Knowledgeセットアップ手順(Windows 7 Professional SP1 64bit)

icon QWER was written at May 10, 2017 2:44 PM ( icon QWER was updated at Nov 6, 2017 10:15 AM <History> )
  Edit(Sign in)
  Stock
  Answer survey

  TOC

構築テストを行った際のセットアップ手順を記載します。
PostgreSQLの設定は、現在試行錯誤中です。

Koda様
おかしな点や、推奨されない手順がありましたら、修正をお願い致します。

構築環境

Windows 7 Professional SP1 64bit

Javaのセットアップ

JDK(Java SE Development Kit)のダウンロード

「jdk-8u131-windows-x64.exe」

JDKのインストール

ダウンロードした「jdk-8u131-windows-x64.exe」をダブルクリックし、表示に従ってインストールする。

システム環境変数の登録

[コントロールパネル]-[システム]-[システムの詳細]-[詳細設定タブ]-[環境変数]

  • 変数名:JAVA_HOME
  • 変数値:C:\Program Files\Java\jdk1.8.0_131

Tomcatのセットアップ

Windows 64Bit用のZip版(Binary)のダウンロード

※ 運用環境をシステムドライブと分けるために(Eドライブにセットアップする為に)Zip版を使用した。

Zipファイルの解凍

  • Zipファイルを解凍すると「apache-tomcat-9.0.0.M20」というフォルダができる。

フォルダの配置

OSのシステム環境(Cドライブ)と、Tomcatの環境を分けるために、TomcatはEドライブ上に設置した。

  • E:\Tomcat\apache-tomcat-9.0.0.M20

Tomcatのサービス登録

システム環境変数の登録

[コントロールパネル]-[システム]-[システムの詳細]-[詳細設定タブ]-[環境変数]

  • 変数名:CATALINA_HOME
  • 変数値:E:\Tomcat\apache-tomcat-9.0.0.M20

サービスの登録

  • コマンドプロンプトにて、"E:\Tomcat\apache-tomcat-9.0.0.M20\bin\service.bat" install の入力し、Enter。
  • 「The service 'Tomcat9' has been installed.」と表示されれば成功。

自動スタートアップ設定

[コントロールパネル]-[管理ツール]-[サービス]

  • Apache Tomcat 9.0 Tomcat9 をクリック。
  • [スタートアップの種類]を[自動]に設定。

Tomcatの動作確認

Tomcatの起動

  • E:\Tomcat\apache-tomcat-9.0.0.M20\bin\startup.bat をクリックしてTomcatを起動。

Tomcatの動作確認

  • http://localhost:8080/
    にアクセス。
  • 「If you're seeing this, you've successfully installed Tomcat. Congratulations!」と表示されたら成功。

Knowledgeのセットアップ

Tomcatの停止

  • E:\Tomcat\apache-tomcat-9.0.0.M20\bin\shutdown.bat をクリックしてTomcatを停止。

knowledge.war のダウンロード

https://github.com/support-project/knowledge/releases

knowledge.warの設置

  • E:\Tomcat\apache-tomcat-9.0.0.M20\webapps\knowledge.war に設置する。

Knowledgeの起動

  • E:\Tomcat\apache-tomcat-9.0.0.M20\bin\startup.bat をクリックしてTomcatを起動。
  • knowledge.warが配備され起動する。

Knowledgeの動作確認

Knowledgeの公開

ファイアウォールの設定

[コントロールパネル]-[Windowsファイアウォール]-[詳細設定]-[受信の規則]-[新しい規則]

ファイヤーウォール_01.png

  • 規則の種類:ポート

ファイヤーウォール_02.png

  • プロトコルおよびポート
    • TCPにチェック。
    • 特定のローカルポートにチェックを入れ「8080」と入力。

ファイヤーウォール_03.png

  • 操作:接続を許可する

ファイヤーウォール_04.png

  • プロファイル:全てにチェック。

ファイヤーウォール_05.png

  • 名前:Tomcat9.0

ファイヤーウォール_06.png

アクセステスト

イントラネット内の他のPCから
http://<セットアップしたPCのIPアドレス>:8080/knowledge
にアクセス。


 Comment
[Registration] May 10, 2017 10:26 PM [Koda]
icon

QWERさん
詳細な説明の記述ありがとうございます :bow:
Windows環境に導入する際に、参考になると思いました。


 Like! × 0  
Collapsed
[Registration] May 10, 2017 10:30 PM [Koda]
icon

一点、記載ミスかもという点があります。

「ファイアウォールの設定」の記載の中で、「特定のローカルポートにチェックを入れ「80」と入力。」という文がありますが、
「8080」ではないでしょうか?
下の「アクセステスト」のURLでは、ポートが「8080」になっているので、差異があるような気がします。
もしくは「80」で統一したほうが良いかと。(その場合、Tomcatのポートを80で起動するように変更が必要かと思います)


 Like! × 0  
Collapsed
[Registration] May 11, 2017 12:01 PM [QWER]
icon

Kodaさん
ご指摘ありがとうございます。
ポート「80」でも動作しておりますが、確かに統一したほうが良いので「8080」に修正しました。
イントラネット内からのアクセスも確認致しました。


 Like! × 0  
Collapsed
[Registration] May 12, 2017 3:43 PM [QWER]
icon

Kodaさん
以下、3点質問をさせてください。

1) Windows Serverでの構築手順について
今回、テスト用にWindows7で構築しましたが、本運用ではWindows Server 2012上で構築したいと考えております。
Windows Server の場合でも、手順はWindows7と同様で問題ないでしょうか?

2) バックアップについて
環境一式(Tomcat, knowledge, knowledge内データ)をバックアップしたい場合、本投稿でのEドライブをまるごと(もしくは、tomcatフォルダ)をバックアップしておけば、万が一の際の復元も可能でしょうか?

3) サービスのURLについて
[システム設定]-[システム設定]にある「サービスのURL」は、どのような設定でしょうか?
個人で使用する場合は、「http://localhost:8080/knowledge」と設定。
共有する場合は、「http://<サーバーIP>:8080/knowledge」に変更する。 といった認識でよろしいでしょうか?

ご回答のほど、よろしくお願いいたします。


 Like! × 0  
Collapsed
[Registration] May 13, 2017 9:17 PM [Koda]
icon

1) Windows Serverでの構築手順について

手順は同じでいけると思います。私が運用している社内環境は、Windows Server 2012で稼働させており、
ほぼ↑と同じ手順で設定しています。

参考までに、違っている部分は以下になります。

  • DBをPostgreSQL 9.5.6 に変更しています
  • Tomcatは 8.5.12を使っています
  • JavaはJDK8の最新
  • リバースプロキシに、Nginx1.11.12を置いています(Https通信)

 Like! × 0  
Collapsed
[Registration] May 13, 2017 9:21 PM [Koda]
icon

2) バックアップについて

  • Knowledgeは、Tomcatの起動ユーザのホームディレクトリに「.knowledge」というフォルダを作成し、その中にデータを格納します
  • このディレクトリをバックアップしてください(TomcatインストールのEドライブとは異なる可能性が高いと思います)
  • このバックアップ対象のディレクトリは、環境変数「KNOWLEDGE_HOME」にて変更することも可能です

以下も参照願います。

https://information-knowledge.support-project.org/backup-ja


 Like! × 0  
Collapsed
[Registration] May 13, 2017 9:29 PM [Koda]
icon

3) サービスのURLについて

個人で使用する場合は、「http://localhost:8080/knowledge」と設定。
共有する場合は、「http://<サーバーIP>:8080/knowledge」に変更する。 といった認識でよろしいでしょうか?

はい。その認識であっています。

特に、共用の場合に、外部からアクセスされるURLをセットしなければいけないことに注意をお願いします。
というのも、CSRFの対策のために、Knowledgeでは、PostやPut、Deleteといったデータを変更する処理を実施する際に、
その送信元が正しい送信元かを、HttpHeaderのrefererを見てチェックもしています。
(「Referer が正しいリンク元かチェックする」「トークンを利用して正しいリクエストかチェックする」の2つで対策)

このチェックに使うのも「サービスのURL」の値ですので、これがあっていないと記事を投稿できなくなります。


 Like! × 0  
Collapsed
[Registration] May 18, 2017 8:17 AM [QWER]
icon

Kodaさん
ご回答頂き、有難うございます。
本運用に向け、とても参考になりました。 特に、「サービスのURL」については気をつけたいと思います。

PostgreSQLについてですが、9.6系に付属するpgAdmin4にバグがあるらしく、Server作成の際に
'utf8' codec can't decode byte 0x82 in position 31: invalid start byte.
とエラーが出て進めませんでした。(SQLの知識に乏しいため、GUIからの構築・管理を前提としています。)

PostgreSQL 9.5系でも問題ないようでしたら、こちらでテストを進めたいと思います。


 Like! × 0  
Collapsed



 Add Comment