時計を壊せ

駆け出してからそこそこ経ったWebプログラマーの雑記

FreeBSDにq4mを簡単に導入するスクリプトできたよー!

できたよー!と言っておきながらid:kazeburoさんのスクリプトまんまです。
人の褌で相撲!というわけでタイトルは半分釣りです。


FreeBSDでも動くようにするために、ちょいちょい調整が入ってます。

  • freebsdには/usr/local/srcは無いので最初に作るようにした。
  • Redhat系用のinit script(?)*1やコマンド等をfreebsd用のものに置き換えた。
  • (個人的な好みで)q4mユーザーで実行するようにした。
  • (個人的な好みで)/usr/local/etc/rc.d/q4m-serverにinit script(?)を置くようにした。
8d7
< mkdir -p /usr/local/src
55a55,57
> cp $CDIR/q4m.init /etc/init.d/q4m
> chmod 755 /etc/init.d/q4m
> chkconfig --add q4m
57,59d58
< mkdir -p /usr/local/q4m/var
< pw useradd q4m -s /sbin/nologin
< chown -R q4m /usr/local/q4m
62,67c61
< 
< cp $CDIR/q4m.init /usr/local/etc/rc.d/q4m-server
< chmod 755 /usr/local/etc/rc.d/q4m-server
< echo "" >> /etc/rc.conf
< echo "q4m_enable=\"YES\"" >> /etc/rc.conf
< /usr/local/etc/rc.d/q4m-server start
---
> /etc/init.d/q4m start
84c78
< cat support-files/install.sql | /usr/local/q4m/bin/mysql --defaults-file=/usr/local/q4m/etc/my.cnf -S /tmp/mysql_q4m.sock
---
> cat support-files/install.sql | /usr/local/q4m/bin/mysql -S /tmp/mysql_q4m.sock


あと、こんな感じのちょっと便利なショートカットも入るようになってます。

#!/bin/sh
Q4M_DIR=/usr/local/q4m
$Q4M_DIR/bin/mysql --defaults-file=$Q4M_DIR/etc/my.cnf $@

init script(?)は/usr/local/etc/rc.d/mysql-serverのものを適当に書き換えただけなので、もしかしたら何かおかしいかもしれないですが、とりあえず僕の環境(FreeBSD 9.0 on さくらVPS-512/FreeBSD 9.0 on さくらVPS-1.5G)ではちゃんと動くようです。
しかしこういうスクリプトがあると、さくっとミドルウェアが導入できて楽チンですね!
何度も使う場合はパッケージにした方が楽かもしれませんが、
個人で使うぶんにはこれくらいのものの方がメンテナンスもしやすいし良いと思います。
kazeburo++


forkして書き換えただけなので、とりあえずgithubにあります。
freebsdとか詳しい人に突っ込んでもらえたらありがたいなーと。
https://github.com/karupanerura/mysetup


どうでもいいですが、僕のcommit messageが素人感丸出しで恥ずかしいので、
ちゃんと分かりやすいcommit message書けるようになりたいです。

*1:正確な名前知らないので誰か教えてください