できたよー!と言っておきながら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:正確な名前知らないので誰か教えてください