IT系の業界に20年。若い頃は諸先輩方の汗と涙の結晶である手順書を参考に作業を行なっていました。今思えば情弱でした。
現在は手軽にナレッジを公開できるブログやCMSが生まれ個人でも情報を発信するのにコストがかからなくなりましたね。
しかし、オープンな情報共有はネットで公開しても問題ないですが、デリケートな情報を共有するにはどうだろう?そこでオープンソース(フリー)の「Knowledge」の登場です。純国産と言っていいでしょうね。本当に素晴らしいです。
既に導入済みだったりします。社内で運用するシステムのナレッジとして利用しております。
素人でも出来た構築
正直に言えば動けば良いと思って構築していたので後先は考えなかった。インストールの手順は残してあったのですが、それだけでは動きませんでしたけど・・・ まぁ 私の仕事はこんなもんです。社内の「Knowledge」はクラウド環境で稼働しています。諸事情がありクラウドから社内のオンプレ環境に移す事になってしまったのです。
旧バージョンからの移行に苦労する
結果から言えばクラウド側Postgres SQLのKnowledge用データベースのダンプを取得してオンプレ環境のPostgres SQLにリストアしただけですが、私が見様見真似で構築した環境だと色々手間取った。
移行手順(非公式)
knowledgeをv1.8.1から最新v1.12.0へバージョンアップした際の備忘録
旧環境:クラウド
OS:Centos7
Ver:knowledge v1.8.1
Tomcat8+httpd(Apache)でリバースプロキシ
新環境:オンプレ(Hyper-V)
OS:Centos7
Ver:knowledge v1.20.0
Tomcat8
手順
旧サーバ(クラウド)のPostgrresSQL knowledgeデータベースを丸ごとdumpする。
pg_dump knowledge > knowledge.sql
新サーバ(オンプレ)でknowledgeの配備まで完了させておく手順は公式もしくはこちらのtomcatの自動起動とhttpd(apache)を連携前までです
wget https://github.com/support-project/knowledge/releases/download/v1.20.0/knowledge.war sudo mv knowledge.war /opt/apache-tomcat/apache-tomcat-8.5.24/webapps sudo service tomcat restart
新サーバ(オンプレ)でknowledgeにアクセスする
http://XXX.XXX.XXX.XXX:8080/knowledge/
ID:admin パスワード:admin123 でログインしてみる
新サーバ(オンプレ)にPostgresSQLをインストールする
sudo yum list | grep postgres wget https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-3.noarch.rpm sudo rpm -ivh pgdg-centos95-9.5-3.noarch.rpm sudo yum install postgresql95 postgresql95-server postgresql95-devel postgresql95-contrib psql --version sudo /usr/pgsql-9.5/bin/postgresql95-setup initdb sudo systemctl start postgresql-9.5 sudo systemctl enable postgresql-9.5
リッスンポートの設定をコメントアウトして有効化
sudo cp /var/lib/pgsql/9.5/data/postgresql.conf /var/lib/pgsql/9.5/data/postgresql.conf.org sudo vi /var/lib/pgsql/9.5/data/postgresql.conf listen_addresses = 'localhost' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart) port = 5432 # (change requires restart)
認証設定を変更する 基本的にローカルからのアクセスは信頼させる
sudo cp /var/lib/pgsql/9.5/data/pg_hba.conf /var/lib/pgsql/9.5/data/pg_hba.conf.org sudo vi /var/lib/pgsql/9.5/data/pg_hba.conf # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust
sudo systemctl restart postgresql-9.5
postgresユーザをDBに登録する
su - postgres -bash-4.2$ psql psql (9.5.5) Type "help" for help. ALTER USER postgres PASSWORD 'postgres'; CREATE USER knowledge PASSWORD 'knowledge'; ALTER ROLE knowledge WITH SUPERUSER CREATEDB CREATEROLE;
JDBCのダウンロードと設定
cd /usr/share/java wget https://jdbc.postgresql.org/download/postgresql-42.1.3.jar
サーバ再起動
knowledgeの画面→システム設定→データベースの接続先変更
データベースの接続先変更
× Information 現在、カスタム設定が有効になっています
org.postgresql.Driver(9.3-1103-jdbc41)
URL
jdbc:postgresql://localhost:5432/knowledge
user postgres
password postgres
schema public
max connection 0
auto commit false