これを貼ったらiPhone4のホームボタンの効きが良くなりました。私の貼り方が悪いのか、透明なのと周辺からほこりが入りやすい構造で汚れが目立って若干アレな感じですが、とりあえず快適です。
スーパーサーバーSupervisorの導入手順メモ
スーパーサーバーSupervisorの導入方法をいつも忘れるのでメモ。ほとんど@hibomaが 社内Wikiにまとめてた内容のパクリですが、自宅サーバ構築とかで外から見ようと思っても見えないので。いつもありがとう、ひろやん!!
導入環境はScientific Linux 6.1です。(Upstart経由での起動の部分を、init経由での起動にすればCentOS 5系でも動作するかと思います)
Supervisorの導入
easy_installでも良いんですが、pipで導入
sudo yum -y install python-setuptools
sudo easy_install pip
sudo pip install supervisor
log用ディレクトリと、conf用ディレクトリを用意
デフォルトだと/tmp配下にログが吐かれるので、log用ディレクトリの作成
sudo mkdir /var/log/supervisor/
監視するデーモンごとに設定を分けるので、confディレクトリを用意
sudo mkdir /etc/supervisord.d
Supervisorの設定を用意
conf生成用のコマンドで作成
sudo echo_supervisord_conf > /etc/supervisord.conf
zshだとエラー(zsh: permission denied: /etc/supervisord.conf)が出てので、下記コマンドで生成。
sudo su - root -c "echo_supervisord_conf > /etc/supervisord.conf"
下記のように修正をしてます。
監視するデーモンの設定は
/etc/supervisord.d/hogehoge.ini
みたいな感じで用意します。
Hesoを監視するようにした時の設定の/etc/supervisord.d/heso.iniは下記のような感じです。
Upstart経由でSupervisorを起動
Supervisor自体が落ちたら意味がないので、Upstartで経由で起動。Supervisorが落ちたらUpstartが自動で起動。
etc/init/supervisord.conf を用意
下記コマンドで起動。
sudo initctl start supervisord
psなどでプロセスを確認して起動していればOK。supervisordをkillして自動で起動してくるかも確認。
CentOS 5とかならinittabに下記のような設定をして、init経由で起動させれば良いかと。
Supervisorの各種コマンド
supervisorctl
add -- Activates any updates in config for process/group
avail -- Display all configured processes
clear -- Clear process/multiple-process/all-process log files
fg -- Connect to a process in foreground mode
help -- Show help
maintail -- tail of supervisor main log file
open -- Connect to a remote supervisord process. (for UNIX domain socket, use unix:///socket/path)
pid -- Get the PID of supervisord.
quit exit -- Exit the supervisor shell.
reload -- Restart the remote supervisord.
remove -- Removes process/group from active config
reread -- Reload the daemon's configuration files
restart -- Restart process or group.
shutdown -- Shut the remote supervisord down.
start -- Start process or groups.
status -- Get process status info.
stop -- Stop process or group.
tail -- tail of process stdout
update -- Reload config and add/remove as necessary
version -- Show the version of the remote supervisord process
たとえばHeso用の設定を変更した場合は下記みたいな感じで設定を再読込
sudo supervisorctl reread heso
supervisorctlをzshで補完
supervisorctlコマンドをzshで補完出来るように。 functionsの下に置くと、自動で読み込まれるようになります。
sudo yum -y install hg
mkdir ~/tmp
cd ~/tmp
hg clone https://bitbucket.org/hhatto/zshcompfunc4supervisor
cd zshcompfunc4supervisor
sudo cp _supervisor* /usr/share/zsh/4.3.10/functions/
参考サイト
Trac WikiをVim上で編集する
社内で利用しているTracをVim上から編集出来たら楽だなーと思ってプラグインを探していたら、 VimTracという、そこそこ良いものがありました。
利用環境はTrac 0.12.2.ja1、Vim7.3です。
Trac側のXML-RPCプラグインを利用するので、 もし未導入ならtrac xml-rpc - Google 検索などを 参考にして導入してください。
VimTracの導入
VimTrac - A vim client for the Trac wiki and ticketing system : vim online
プラグインの管理にはVundleを利用しているので、.vimrcか.vimrc.localに下記のような設定を書いてBundleInstall。 Trac-wikiマークアップ用プラグインも一緒に導入。
Bundle 'Trac-Wikimarkup'
Bundle 'VimTrac'
let g:tracServerList = {}
let g:tracServerList['strac'] = 'http://maeda:***********@192.168.25.37/trac/server/login/xmlrpc'
let g:tracServerList['ectrac'] = 'http://maeda:***********@192.168.25.37/trac/ec/login/xmlrpc'
let g:tracServerList['hostrac'] = 'http://maeda:***********@192.168.25.37/trac/hosting/login/xmlrpc'
let g:tracServerList['sharetrac'] = 'http://maeda:***********@192.168.25.37/trac/share/login/xmlrpc'
みたいな感じで設定。*******は自分のtracログイン時のアカウントです。設定の書式は
let g:tracServerList['(Server Name)'] = 'http://(user):(password)@(trac serverpath)/login/xmlrpc'
といった形式。社内Tracは部署ごとに分かれているので、
- strac
- ectrac
- sharetrac
などと私はtracServerListを設定してます。接続するときに利用します。
trac.vimの修正
Vundle経由で導入すると、trac.pyのpathを見つけられないので、~/.vim/bundle/VimTrac/plugin/trac.pyを下記のように修正
trac.vimの利用方法
Tracサーバに接続
tracServerListで設定した名前で接続
:TWServer strac
:TWServer ectrac
新規wikiページの作成
:TWCreate Common/Server/Memo/maeda
wikiページの保存
:TWSave "Comment"
既存wikiページを開く
:TWOpen Common/Server/Memo/maeda
Wikiページの一覧リストからも選択可能です。
ticket一覧を表示
tracServerListで設定した名前で接続
:TTServer strac
:TTServer ectrac
ticket一覧取得は、最初利用出来なかったのですが、XML-RPCのプラグインをXmlRpcPlugin - Trac Hacksの最新のものにして利用できるようになりました。
社内tracなので当たり障りのないページを開いた感じ
社内SNSでmizzyさんから
VimTracって、編集中に別な人がページ更新した場合に、マージできるのかな?
と聞かれたので、検証をしてみたところ何の警告もなく、上書きをしてしまいました!!
doc/trac.txt at master from mjbrownie/Trac.vim - GitHubを見ても特にconflictとかmergeとかは
書いてないので、機能的に無いぽいです。複数人で同時に編集するようなページで利用するでは要注意です。
公式ページhttp://www.ascetinteractive.com.au/vimtracも現在はリンク切れなので、情報はかなり少なめです。
今までブラウザからのWiki編集に慣れてしまっていたので、まだ違和感がありますが、Vimで完結出来るので使い勝手良いです。
BundleInstallすると
E122: Function LoadWikiCommands already exists, add ! to replace it
とかのエラーが出るけど、ちゃんとプラグインのインストールは出来てて、実害は無さそうなのでとりあえず放置で。
disable camera shutter sound on S51SE
GistクローンのHesoを導入して試してみた
Gistクローンが社内にあったら便利だなーと思って、探していたら
の二つが見つかったので、@laniusさんのHesoを試してみました。
導入環境はScientific Linux 6.1です。
yum -y git gcc
mkdir -p /var/www/
cd /var/www
git clone git://github.com/lanius/heso.git
cd heso
bootstrap.py -d
で必要に応じてbuildout.cfgのhostとportを修正。私は下記のように設定。
修正したら下記を実行して起動。
bin/buildout
bin/server
設定したURLにアクセス。
ちゃんとアクセスできました。
/var/www/heso/bin/server
で起動するとエラーになるので、heso/bin/serverを下記のように修正
起動、停止はSupervisorを利用して、/etc/supervisord.d/heso.iniに
みたいな感じのを用意して管理。
まだ開発途上のようで2011年11月16日時点で
- 構文で色分けされる対応filetypeが少ない。(src/heso/static/script.jsを確認する限り、javascript,python,ruby,php,css,html,xml,ymlは認識する模様)
- POSTしたコードの削除
- 複数人での利用(POSTした人の名前だけでも入力出来れば誰が投稿したかわかって便利)
- 編集の履歴表示
などが未実装のようですが、TODOを読んでいたら書いてあったので、今後の対応に期待したいと思います。