無料情報共有ツール「knowledge」CentOS7へインストールする手順。ナレッジを手軽に導入して業務効率化

様々な情報を共有するなら「knowledge」 AWS Centos7へJava8+Tomcat8+httpd(Apache)でインストール備忘

情報の共有ツールとして「knowledge」をAWSのCentOS7へインストールした際のセットアップログを備忘します。

「knowledge」については下記のページを参照してください。

Knowledge - オープンソースのナレッジベース
Knowledgeはオープンソースのナレッジベースです。無料で利用できます。社内イントラネットでの情報の共有にご利用ください。

 
AWSのAMI ID
CentOS Linux 7 x86_64 HVM EBS 1602-b7ee8a69-ee97-4a49-9e68-afaee216db2e-ami-d7e1d2bd.3 (ami-eec1c380)
を利用しました。

OSのアップデートとjavaのJDKをインストールしてjavaヴァージョンを1.8.0系を指定

sudo yum update
sudo yum install java-1.8.0-openjdk
sudo alternatives --config java

tomcatをダウンロードして展開

sudo yum install wget
wget http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.5.13/bin/apache-tomcat-8.5.13.tar.gz
tar -xzvf apache-tomcat-8.5.13.tar.gz

tomcatのユーザーとtomcatディレクトリを作成

sudo useradd tomcat
sudo mkdir /opt/apache-tomcat
sudo mv apache-tomcat-8.5.13 /opt/apache-tomcat
sudo chown -R tomcat:tomcat /opt/apache-tomcat

プロファイルを編集してJREやtomcatを設定する

sudo cp /etc/profile /etc/profile_20170408
sudo vi /etc/profile
# 以下を末尾に追記
JRE_HOME=/usr/java/default
CATALINA_HOME=/opt/apache-tomcat/apache-tomcat-8.5.13
export JRE_HOME CATALINA_HOME

source /etc/profile

次にtomcatのサービス起動スクリプトを作成します

sudo vi /etc/init.d/tomcat

#!/bin/bash
#
# Startup script for the Tomcat Servlet Container
#
# chkconfig: 2345 35 65
# description: Tomcat is the servlet container that is used in the official \
# Reference Implementation for the Java Servlet and JavaServer \
# Pages technologies

TOMCAT_USER=tomcat
CATALINA_HOME=/opt/apache-tomcat/apache-tomcat-8.5.13

. /etc/rc.d/init.d/functions
prog=tomcat

start() {
echo -n $"Starting $prog: "
daemon --user $TOMCAT_USER $CATALINA_HOME/bin/startup.sh > /dev/null
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo_success
else
echo_failure
fi
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
daemon --user $TOMCAT_USER $CATALINA_HOME/bin/shutdown.sh > /dev/null
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo_success
else
echo_failure
fi
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog
return $RETVAL
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
INSTANCES=`ps --columns 512 -aef|grep java|grep tomcat|grep org.apache.catalina.startup.Bootstrap|wc -l`
if [ $INSTANCES -eq 0 ]; then
echo $prog is stopped
RETVAL=3
else
if [ $INSTANCES -eq 1 ]; then
echo $prog is running 1 instance...
else
echo $prog is running $INSTANCES instances...
fi
RETVAL=0
fi
;;
*)
echo $"Usage: $prog {start|stop|restart|status|help}"
exit 1
esac

exit $RETVAL

続いて、tomcatの自動起動とhttpd(apache)を連携して80ポートでtomcatが動くようにプロキシ設定する

sudo chmod +x /etc/init.d/tomcat
sudo chkconfig --add tomcat

sudo yum install httpd

sudo vi /etc/httpd/conf.d/httpd-proxy.conf
$sudo vi /etc/httpd/conf.d/httpd-proxy.conf
# 以下を記述
追記 http://XXX.XXX.XXX.XXX/knowledge
ProxyPass ajp://localhost:8009/knowledge

tomcatも同様にプロキシからの通信を受けれるように設定

sudo cp /opt/apache-tomcat/apache-tomcat-8.5.13/conf/server.xml /opt/apache-tomcat/apache-tomcat-8.5.13/conf/server.xml_20170408
sudo vi /opt/apache-tomcat/apache-tomcat-8.5.13/conf/server.xml
# 以下のように編集


knowledgeのwarファイルをダウンロードしてtomcatのホームへ移動する

wget https://github.com/support-project/knowledge/releases/download/v1.8.1/knowledge.war
sudo mv knowledge.war /opt/apache-tomcat/apache-tomcat-8.5.13/webapps
sudo chkconfig httpd on
sudo service httpd start
sudo service tomcat start

後はhttp(s)://ホスト名(ドメインorIPアドレス)/knowledge でアクセスすれば下記の画面が表示されます。


環境にもよるのでしょうけど、knowledgeのwarファイルを展開後の初回起動時に3分程度80ポートは無反応でミスった?と思いましたが、しばらくすると表示されました。

利用後のレビューと組み込みDBからPostgressへのDB切り替えは後日

Knowledge - オープンソースのナレッジベース
Knowledgeはオープンソースのナレッジベースです。無料で利用できます。社内イントラネットでの情報の共有にご利用ください。
タイトルとURLをコピーしました