Qiitaいいよ。Qiita。
Qiitaで情報を貯めよう!ってお堅い会社で話をしても誰も理解してくれません。
そんな奴らは、テンプレートだけ立派なスカスカwordを、いつリンク切れが起きるか分からないファイルサーバーに貯めて恐怖に怯えろ!
・・・って心で思っても、何も解決しません。
まずは使ってみないとなかなか理解してもらえないもんです。
とはいっても使うかどうかわからないのにQiita:Teamを導入できるわけなく、最終的にQiitaライクのknowledgeにたどり着きました。
Markdownいいよ。Markdown。
knowledge構築
インストール
docker-composeを使用して一発で構築します。
下記のdocker-compose.ymlを使用しましょう。
https://github.com/support-project/docker-knowledge
ちょっとだけ変更して、koda/docker-knowledgeのタグにjapaneseを追加します。
version: '2'
services:
app:
image: koda/docker-knowledge:japanese
#build: .
volumes:
- ./volumes/knowledge:/root/.knowledge
ports:
- 8080:8080
restart: always
depends_on:
- "db"
db:
image: postgres:9
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=admin123
- POSTGRES_DB=knowledge_production
volumes:
#- ./volumes/initdb:/docker-entrypoint-initdb.d
- ./volumes/postgres/data:/var/lib/postgresql/data
restart: always
起動
docker-compose用にディレクトリを作成して、上記のyamlを配置します。
こんな感じ。
$ pwd
/○○○/docker-compose/knowledge
$ ls
docker-compose.yml
そして起動します。
$ docker-compose up -d
docker-composeの使い方は勉強してね。
起動後のカスタマイズ
起動したコンテナに入ります。
$ docker-compose exec app bash
/tomcat/webapps
へ移動し、ROOT.warからknowledge.warをコピーします。リネームでもいいかも。
$ cp ROOT.war knowledge.war
なぜこんなメンドイことをしいるかというと、ルートディレクトリでのアクセスを避け、サブディレクトリ下に配置したい為なんです。
この後出てくるnginxの設定で全てが明かされます。
ROOT.warは消すか、移動させてください。
tomcatを /tomcat/bin/catalina.sh stop
した後、/tomcat/bin/catalina.sh run
し再起動させます。
stop、runの度にコンテナから抜けるので、再度コンテナに入りなおします。
これで準備OK。次は管理者でログインしてldap、postgresを設定します。
管理者でログイン
[ホスト名]:8080/knowledge/ へアクセスするとログイン画面が出てくるので下記情報でログインします。
オンプレ上でなければポート転送するか、nginxでリバースプロキシしてあげましょう。
- id
- admin
- pass
- admin123
ldapの設定
システム設定からldap設定を選択します。
ldapconfig2にADやldapの設定をしましょう。
これでldapユーザーでログイン出来るので記事をじゃんじゃん投稿しちゃいましょう。
データベースをPostgresへ変更
システム設定からデータベース接続先を選択します。
以下の設定をしましょう。docker-compose.ymlの内容と合わせます。
これでOK!
その他の設定
お好みで変更しましょう!
Nginx設定
Nginxを使用していない方は無視してください。
リバースプロキシでNginxを使用している場合は、以下の設定をしましょう。
この設定をするために、tomcatでサブディレクリに配置したわけです。
location /knowledge {
proxy_pass http://xx.xx.xx.xx:8080/knowledge;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_redirect http:// https://;
}
ポイントはwebsocketを使っているから、こんな呪文を入れましょう。
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
最後に
dockerを使うと非常に簡単に環境構築できますね。
環境を汚さないのもGoodです!
まずは自分で記事を貯めてから社内公開ですね。
それまでは頑張って投稿しまくります。
Qiitaと違って、オンラインエディタがちょっと非力なのが残念です。
しかし、コピペで画像を張れるのは非常に便利です。
スライドショーも出来るのでなかなかいいコンテンツが投稿できそうです!