もう1つ、会社のブログに記事が追加されてます。
SiteGuard Lite の出力ログを Webalizer で解析してみる
https://toe.bbtower.co.jp/20160428/191/
SiteGuard Lite って、機能縮退版って意味なのかと思ってたら違うんですね。ゲートウェイ型ではなく、ホストにインストールするやつを SiteGuard Lite って読んでるそうです。
SiteGuard Lite は、管理画面もついてて、ログも表示されるんですが、それを集計し、グラフ化する機能は別製品になってます。とは言いながらも、マニュアルに記載があるように、Webalizerで解析、グラフ化するためのパッチも用意されてます。
ただ、ベースが古すぎて、最新版の webalizer-2.23-08 では使えなかったので、使えるように書き換えてみました。動作保証無しですが、よろしければ、上記URLからパッチを入手してみてください。
とにもかくにも、パッチ公開をご快諾頂けたジェイピー・セキュアさんには、重ね重ね感謝です :-)
こっちでお知らせするのを忘れてましたが、会社のブログに記事を追加しました。
負荷テストツールの tsung を使ってみる
https://toe.bbtower.co.jp/20160407/93/
tsung は、Erlang で書かれたマルチプロトコル対応の負荷テストツールで、結構気軽にクライアントを増やせるので、なかなかいいです。
まだ使い始めたばかりですが、期待していないところでこれいいな!と思ったところを
Crowi 1.4.0 がリリースされました。
https://medium.com/crowi-book/crowi-v1-4-0-43762793741d#.pxjx1gk0k
Crowiは、Markdown 記法を用いた Wikiシステムです。
検索機能は残念ながら見送られたようですが、それは次回リリースに期待ということで。
今回は、これを CentOS7 にインストールしてみます。SELinux は Permissive もしくは Disable前提です。
まずは必要なパッケージを以下に。
# yum -y install epel-release
# yum -y install git mongodb-server gcc gcc+ mongodb
つぎに mongo 関連です。
# systemctl start mongod
これで mongoサーバが起動されますので、mongo shell で crowi用のアカウントを作成します。
$ mongo
\> use crowidb
switched to db crowidb
\> db.createUser({user: "ユーザ名", pwd: "パスワード", roles: [{role: "readWrite", db: "データベース名"}]})
Successfully added user: {
"user" : "crowi",
"roles" : [
{
"role" : "readWrite",
"db" : "crowidb"
}
]
}
ユーザができたかの確認
\> use admin
\> db.system.users.find()
{ "_id" : "crowidb.crowi", "user" : "crowi", "db" : "crowidb", "credentials" : { "MONGODB-CR" : "2d47a95cc02ac854bd6cc4ce2496682c" }, "roles" : [ { "role" : "readWrite", "db" : "crowidb" } ] }
で、肝心の node.js なんですが、CentOS7 のは古いのでうまく動きません。node.js 4.2 系である必要があります。とりあえず node.js 4.3.3でも動いたので、私は 4.4.3 をインストールしました。
# rpm -Uvh https://rpm.nodesource.com/pub_4.x/el/7/x86_64/nodejs-4.4.3-1nodesource.el7.centos.x86_64.rpm
Crowi の clone と npm install
$ mkdir src
$ cd src
$ git clone --depth=1 -b v1.4.0 https://github.com/crowi/crowi
$ cd crowi
$ npm install
npm install はそれなりに時間がかかります。で、ここからは CentOS7 固有の話。systemd で起動できるようにします。
# touch /etc/sysconfig/crowi
# chmod 600 /etc/sysconfig/crowi
# vi /etc/sysconfig/crowi
PORT=3000
#NODE_ENV=
MONGO_URI="mongodb://ユーザ名:パスワード@localhost/DB名"
#REDIS_URL
PASSWORD_SEED=hgoehogehoge
#SECRET_TOKEN=
FILE_UPLOAD=local
このファイルで記述したものが環境変数として取り込まれることになります。MONGO_URIで指定しているユーザ名、パスワード、DB名は、db.createUserで指定したものです。PASSWORD_SEED は適当なランダム文字列を指定しておきましょう。
# vi /etc/systemd/system/crowi.service
[Unit]
Description=Crowi - The Simple & Powerful Communication Tool Based on Wiki
After=network.target mongod.service
[Service]
WorkingDirectory=/home/vagrant/src/crowi
EnvironmentFile=/etc/sysconfig/crowi
ExecStart=/usr/bin/node app.js
[Install]
WantedBy=multi-user.target
これを systemd に反映させます(WorkingDirectoryは、ソースコードを展開したディレクトリ名です。適当に修正してください)
# systemctl daemon-realod
あとは
# systemctl start crowi
で起動します。3000番ポートを Listen しているので、適当にfirewalld でフィルタを開けてください。
なお、
vi ~/src/crowi/lib/crowi/express-init.js
の
config.crowi['app:url'] = baseUrl = .....
ということころは、明示的に書きなおしていた方が、共有用のリンクとかで幸せにになれるかもしれません。
また、データバックアップは、~/src/crowi/public/upload 以下と mongodb の dump データでいいはず。
IPv4/IPv6 meter |
思ったより安い……時もある、Amazon |