CentOS7.3に、プライベート版Qiita "knowledge"をインストールしてみた

# Knowledgeのススメ
自社内だけのヘルプや、外には出せない技術情報をMarkdown形式のサービスでまとめてみたいことってありませんか。
そんなときオススメなのが、knowledgeというOSSの情報共有サービス製品です。
全文検索、公開範囲指定といったQiitaにもある機能の他にも、アンケート機能などもあり、Qiitaの機能拡張版のような製品です。

日本の方が主となって作成しているようです。
ですので、日本語対応が素晴らしい製品だと思います。

追記： ｖ1.10.0がリリースされたので、1.10.0用に変更しました。(2017/07/28)

knowledge:
[https://information-knowledge.support-project.org/ja/](https://information-knowledge.support-project.org/ja/)

# インストール

## インストールしたパッケージ
OS： CentOS7.3

Knowledge： v1.10.0
java: java-1.8.0-openjdk
apache-tomcat: 8.5.16
postgresql: 9.6

## 1. Javaのインストール
```
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel java-1.8.0-openjdk-headless
```

以下のコマンドでJavaの実体があるパスを調べる

```
# dirname $(readlink $(which java))
```

## 2. Apache Tomcatのインストール

OSベースのバージョンでは、7系と必要条件のバージョン(8以上)が満たせていないため、コミュニティからインストールします。
tomcatのバージョンは8以上ということなので、コミュニティからダウンロード＆インストールします。

**注：OSベースのバージョンは 7.0 だからそのまま使えない**

```
# yum info tomcat.noarch
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * remi-safe: mirrors.thzhost.com
 * updates: ftp.iij.ad.jp
利用可能なパッケージ
名前                : tomcat
アーキテクチャー    : noarch
バージョン          : 7.0.69
リリース            : 11.el7_3
容量                : 89 k
リポジトリー        : updates/7/x86_64
要約                : Apache Servlet/JSP Engine, RI for Servlet 3.0/JSP 2.2 API
URL                 : http://tomcat.apache.org/
ライセンス          : ASL 2.0
説明                : Tomcat is the servlet container that is used in the official Reference
                    : Implementation for the Java Servlet and JavaServer Pages technologies.
                    : The Java Servlet and JavaServer Pages specifications are developed by
                    : Sun under the Java Community Process.
                    :
                    : Tomcat is developed in an open and participatory environment and
                    : released under the Apache Software License version 2.0. Tomcat is intended
                    : to be a collaboration of the best-of-breed developers from around the world.
```


コミュニティからパッケージを取得して配置
[http://tomcat.apache.org/download-80.cgi](http://tomcat.apache.org/download-80.cgi)

Core：tar.gzをwgetでサーバにダウンロードします。

```
cd /usr/local/src
wget http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.16.tar.gz
```

配置します。

```
cd /usr/local
tar xvzf /usr/local/src/apache-tomcat-8.5.16.tar.gz
ln -s apache-tomcat-8.5.16 tomcat
```

確認：

```
# ls -al
合計 0
drwxr-xr-x. 13 root root 173  7月 27 18:03 .
drwxr-xr-x. 13 root root 155  7月 27 16:48 ..
drwxr-xr-x.  9 root root 160  7月 27 18:03 apache-tomcat-8.5.16
drwxr-xr-x.  2 root root   6 11月  6  2016 bin
drwxr-xr-x.  2 root root   6 11月  6  2016 etc
drwxr-xr-x.  2 root root   6 11月  6  2016 games
drwxr-xr-x.  2 root root   6 11月  6  2016 include
drwxr-xr-x.  2 root root   6 11月  6  2016 lib
drwxr-xr-x.  2 root root   6 11月  6  2016 lib64
drwxr-xr-x.  2 root root   6 11月  6  2016 libexec
drwxr-xr-x.  2 root root   6 11月  6  2016 sbin
drwxr-xr-x.  5 root root  49  7月 27 16:48 share
drwxr-xr-x.  2 root root  41  7月 27 18:02 src
lrwxrwxrwx.  1 root root  20  7月 27 18:03 tomcat -> apache-tomcat-8.5.16
```

## 3. 環境変数変更
/etc/profileに追記します。

### Java用の環境変数変更

JAVA_HOMEのパスは、利用しているバージョンのパスを適用してください。

```
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
```

### tomcat用の環境変数変更

```
export CATALINA_HOME=/usr/local/tomcat
```

### knowledge用の環境変数変更
```
export KNOWLEDGE_HOME=/home/tomcat/.knowledge
export JAVA_OPTS="-Dfile.encoding=UTF-8 \
  -Dnet.sf.ehcache.skipUpdateCheck=true \
  -XX:+UseConcMarkSweepGC \
  -XX:+CMSClassUnloadingEnabled \
  -XX:+UseParNewGC \
  -XX:MaxPermSize=128m \
  -Xms512m -Xmx512m"
```

適用後、反映させます。

```
# source /etc/profile
```

## 4. knowledgeの配置
knowledge.warをダウンロードして、tomcatのwebapps下に配置します。

```
cd /usr/local/tomcat/webapps/
wget https://github.com/support-project/knowledge/releases/download/v1.10.0/knowledge.war
```

### 5. 起動とログイン

tomcatを起動して、ブラウザから確認します。

・起動

```
/usr/local/tomcat/bin/startup.sh
```

・Firewallの対応
8080番ポートを利用するので、事前に8080番ポートが通るようにしておいてください。

・ブラウザから確認

```
http://IPアドレス:8080/knowledge
```

・ログイン
デフォルトのユーザとパスワードは以下のようになっています。 ログイン後、変更して下さい。

```
ID: admin
Password: admin123
```

別の管理ユーザを作成したら、再ログインしてみましょう。

DBをPostgresqlに切り替える方法は、↓に記載しました。
http://qiita.com/htakeda/items/b4247144cb51edeaedec