2011-08-14 [長年日記]
_ zshでカーソル以降の単語を削除するのは kill-word
最近とんと日記を書いてないので、初心を思い出して簡単なことでも日記を書きたい。
今日はshellのお話。
C-wでカーソル以前の単語を削除の機能をよく使います。
パスを / ごとに遡って消していく用途とかですね。
これ、カーソル以降の単語も消せたら便利だなと思いtwitterで聞いてみたら
ESC-d(kill-word) を教えてもらいました。
man zsh で調べられるのですね。
(調べ方まで教えていただきありがとうございました。> @sakuro さん)
man zsh を読むと「巨大なんでいくつかのmanに分けてあるよ」てことで、
コマンド関連は man zshzle で閲覧できます。
よく使いそうなのでキー割り当て。.zshrcに以下記述。
bindkey "^f" kill-word
本当は bindkey "\M-d" kill-word とかやりたかったのだけど、screen の縦分割が勝ってしまう。
screen の縦分割はscreen がhookしてるのかな?
ぐぐってみたらmacアプリがhookしてるみたいだけど・・・。設定方法分からず。
2011-08-21 [長年日記]
_ さくらVPSへ引っ越しした
この日記をxreaからさくらVPSへ引っ越し中です。
ここが見えているということは、DNSレコードの変更が浸透したことになります。
DNSの設定が反映されてから設定する部分もいくつかあるので、
随時変更していきますのでお待ちください。
今までと違うのは、パスが /tdiary/ から /diary/ になりました。
tdiary が好きなのでtdiaryとしてたのですが、一般的な diary にしました。
(これは将来、メンテナの hsbt さんが下克上して hsbtdiary を作った場合の対策でもあります。(嘘))
今までの /tdiary/ でもアクセスできるように設定しているつもりですが、
新しくブックマークする際は /diary/ でお願いします。
見た目はそんなに変わってないと思うのですが、
日記が動いてる環境は大幅に変えました。
tDiaryは最新の 3.1.0 へ(tdiary-coreの先頭)、
Rubyは1.9.2p290へ
(xreaは1.8.5でした。1.8.7に上げて(はーと) ってお願いしたけどやっぱダメでした・・・ )。
日記のメンテナンスもし易くなりました。
ということで長らく放置してましたが、時間をみつけてメンテしていきたいです。
まずはテーマ(見た目)を更新したい!
詳しくはまた後で書きますが、今度のサーバはVPSなのでOSまるごと制御ができます。
制御できるということは、自分で設定もしなくてはいけないわけで。
8年前、初めてtdiaryをセットアップしたときはrubyもapacheも分からず、
linuxの知識も乏しくてハマりハマり大変な思いしてセットアップしたのを思い出しました。
今は動かなければログみたり設定ファイル見たりしながら解決できるように。
gitも(ちょっとは)使えるようになったしなぁ。
これが8年間の成長かぁ、としみじみしました。
追記(2011.8.23):さくらへ移動完了しました。なにか変なとこあれば教えてください。:)
2011-08-24 [長年日記]
_ さくらVPSへ引っ越しした(1) - Ubuntuいれてもろもろ設定しRubyを動かすところまで
前から自分用のrootが使えるマシンが欲しいなぁと思い続けていまして
ある朝目覚めたら「よし。さくらVPSを契約だ。」と意気込みが沸いてきたため、勢いで契約しました。(笑)
以下、主に自分用のメモです。
先人のメモがネット上にたくさんあったのでとても参考になりました。
最初にOSをUbuntuにしようといろいろやってみたのですが、
今はwebからUbuntuもインストールできるんですね。素晴らしい。
Ubuntu 10.04(LTS) amd64 を選択。
注意はこのあたり。
・Safariで実行すること(Chromeでうまくいかなかった。プラグインをちゃんといれれば大丈夫なのかも。)
・インストール中は該当のweb画面を表示させておくこと
・プラグインがないと先に進めないので、「プラグインがありません」など出たらクリックしてインストール
さくらVPSの公式ページにインストールガイドがあるのでそれの通りに進めました。
インストールがおわったらもろもろ設定。先人のブログを読みながら。
最初にSSHの設定。
・公開鍵を置いてログイン可能に
・rootのログイン禁止
・パスワード方式のログイン禁止
・SSHのポート番号変更
・ローカル : .ssh/configを編集
Host sakura
HostName [さくらのアドレス]
User [ユーザー名]
Port [ポート番号]
そして、Firewall設定。ssh, http(80), https(443)を開ければいいかな。
$ sudo ufw status
$ sudo ufw default deny
$ sudo ufw allow 80 (同様に443とssh portも)
$ sudo ufw enable
標準エディタも設定しておく。
$ sudo update-alternatives --config editor
パッケージをいろいろいれる。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install build-essential
$ sudo apt-get install zsh
$ sudo apt-get install screen
$ sudo apt-get install vim
$ sudo apt-get install curl
$ sudo apt-get install git-core
Rubyを入れる。
apt-getでいれても良かったが、1.8.7-p2xxで古かったのでソースからインストールした。
1.9.2と1.8.7とどちらにするか迷ったけど、
RVM(Ruby Version Manager)を入れる予定だし、systemのRubyは堅く1.8.7にすることに。
$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p352.tar.gz
解凍して、 .configure, make, sudo make install。
gem はソースから入れ方がよく分からなかったのでaptでいれた。
$ sudo apt-get install rubygems1.8
RVMをいれるよ。
$ sudo gem install rvm
$ bash < <(curl -s -B https://rvm.beginrescueend.com/install/rvm)
(一度ログインしなおして)
$ rvm get head
$ rvm install 1.9.2-p290
$ rvm install 1.8.7-p352 #システムに入ってるのと同じだけど一応。
これで rvm 1.9.2 、rvm 1.8.7、 rvm system でそれぞれのバージョンのRubyが使えるようになりました。
引き続きapacheを入れてtdiaryを動かすまでは次の日記で。
2011-08-25 [長年日記]
_ さくらVPSへ引っ越しした(2) - apacheをいれてtdiaryを動かす
つづき。apacheをインストールするよ。
$ sudo aptitude install apache2
/etc/apache2/conf.d/security を修正
-ServerTokens Full
+ServerTokens Prod
-ServerSignature On
+ServerSignature Off
-TraceEnable On
+TraceEnable Off
$ sudo /etc/init.d/apache2 reload
$ sudo /etc/init.d/apache2 restart
ここまででブラウザからアクセスできるはずなんで確認。
wwwXXXXXX.sakura.ne.jp/ へアクセスすると /var/www 以下が見える。It works!
apacheの設定ファイルを編集。
$ sudo vim /etc/apache2/sites-available/default
設定はdiaryディレクトリの .htaccess でいじるので、それを使えるようにだけしておく。
- AllowOverride None
+ AllowOverride ALL
私は / へのアクセスを日記へ飛ばしたいのでリダイレクトルールも書きました。
RedirectMatch 301 ^/$ http://igarashikuniaki.net/diary/
# このリダイレクト先はドメインまで含めて書かないとダメだと読んだのですが、
# 指定したいことは diary/ へ飛ばす、だけなので
# igarashikuniaki.netの部分を書かずに済ませる方法をご存知の方は教えていただけるとうれしいです。
あとでURLの書き換えを(RewriteEngine云々)したいので以下をONにしておく。
$ sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
$ sudo /etc/init.d/apache2 restart
引き続きtdiaryをインストールします。
(前提として自分しかこのOSを使わない想定でパーミッションを777にしたりしています。
複数ユーザで使う場合はapacheユーザ(www-data)を含むグループを作ったりして設定変えてください。)
インストールするtdiaryはtdiary-coreの先端の場合です。
git でソースを持ってきたり、/var/www/diary を作ってファイルをコピーしたりしていきます。
$ mkdir -p ~/src/tdiary
$ cd ~/src/tdiary
$ git clone git://github.com/tdiary/tdiary-core
($ git clone git://github.com/tdiary/tdiary-theme)
($ git clone git://github.com/tdiary/tdiary-theme-nonfree)
$ sudo mkdir /var/www/diary
$ sudo chmod 777 /var/www/diary
設定ファイルを/var/www/diary/へコピーして設定します。(設定はあとで)
$ cp tdiary-core/tdiary.conf.sample /var/www/diary/tdiary.conf
$ cp tdiary-core/dot.htaccess /var/www/diary/.htaccess
themeとjsフォルダはハードコピーすることに。
apacheで設定したらシンボリックリンクでもいい。
$ cp -r tdiary-core/theme /var/www/diary/.
$ cp -r tdiary-core/js /var/www/diary/.
/var/www/diary 以下のファイルの設定をしていきます。
(設定に関しては tdiary-core/doc/INSTALL.html も参考。)
$ cd /var/www/diary
index.rb と update.rb はcloneしたソースファイルをrequireするようにします。
$ vi index.rb
#!/home/igaiga/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
require '/home/igaiga/src/tdiary/tdiary-core/index.rb'
$ vi update.rb
#!/home/igaiga/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
require '/home/igaiga/src/tdiary/tdiary-core/update.rb'
つづいてtdiary.conf、ひとまずはデータ格納場所だけ書いておけばOKでしょう。
$ vi tdiary.conf
@data_path = '/home/igaiga/tdiary_data'
.htaccessを編集。RewriteEngine、RewriteBase、RewriteRuleの3行は
html_anchorプラグインで使う一連の設定なので使ってない方は不要です。
$ vi .htaccess
RewriteEngine on # html_anchorプラグインで使う一連の設定
RewriteBase /diary # html_anchorプラグインで使う一連の設定
RewriteRule ^([0-9\-]+)\.html$ index.rb?date=$1 # html_anchorプラグインで使う一連の設定
<Files update.rb>の設定内の #ここ に書くファイルをつくります。
AuthName tDiary
AuthType Basic
AuthUserFile /home/igaiga/tdiary_data/.htpasswd #ここ
Require user iga #ここ
$ mkdir ~/tdiary_data
$ chmod 777 ~/tdiary_data
$ cd ~/tdairy_data
$ htpasswd -c .htpasswd iga
ここまででアクセスできるか確認。
wwwXXXXXX.sakura.ne.jp/diary/ でtdiaryが見えたら成功!
動かない場合は /var/log/apache2/error.log をヒントに修正していきます。
次に右上の追記ボタンを押して日記を書けるか確認。
OKだったら設定画面からtdirayの設定をしていきましょう。
これでtdiaryが使えます。No tDiary, No life! :)
まとめ。この状態で /var/www/diary 以下のファイルはこんな感じになります。
.htaccess
index.rb
update.rb
tdiary.conf
js/
theme/
~/src/tdiary/ は tdiary-core/ があればOK。
構成に関してはshinoさんのページが参考になります。
http://www.freedomcat.com/diary/?date=20110113#p01
また、会長さんのページを多々参考にしました。
http://www.tamoot.net/d/20101109.html#p03
shinoさん、会長さんありがとうございます!
そしてもうちょい続きます。tdiary-contribを使おうの巻へつづく。
2011-08-26 [長年日記]
_ [ruby][mac] LionさんRVMで入れたRubyでSegmentation fault
LionさんでRVMをつかうとはまる点について先人のみなさんが解決していってくれてます。
私は以下の現象に遭遇しました。
$ gem install g
ruby-1.8.7-p352/lib/ruby/1.8/timeout.rb:60: [BUG] Segmentation fault
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin11.0.0]
調べると言及してくれてる人が。
http://www.frymanet.com/2011/07/rvm-ruby-1-8-7-and-osx-lion/
Lionさんから標準のコンパイラがLLVMに変わったため、
RVMでRubyをインストールしてビルドする際にコンパイラにgccを指定してあげる必要があります。
$ rvm uninstall 1.8.7 && CC=/usr/bin/gcc-4.2 rvm install 1.8.7
あれ、まだうまくいかない・・・。
私の場合は、最初にllvmでビルドしたソース(とビルドにつかったオブジェクトファイル)が残っていて、
gccで指定してコンパイルがうまくいかなかったようです。
$ rvm remove 1.8.7 && CC=/usr/bin/gcc-4.2 rvm install 1.8.7
removeでソースも削除したところ解決〜。
ちなみにgem install のテストをするときにもg は便利です。w
$ gem i g でいける。
2011-08-27 [長年日記]
_ socialbutton.rb プラグイン導入
まちゅさん作のsocialbutton.rbプラグインを導入。
各日記記事の下にあるtwitterとかfacebook イイネとかのボタンです。
tdiary-contribに入ってます。
みなさん遠慮せず押してみてくださいね。(笑)
まちゅさん開発ありがとう!
_ _h_s_ [どうもー、お久しぶりです。 RSSでいつも拝見してますが、RSS上、追記後のものも別エントリに見えているような気がし..]
_ いがいが [ご愛読&ツッコミありがとうございます〜。 追記後も前のエントリも含めて見えるのは仕様です。 というか、私の書き方が良..]
_ gydayJeambked [槽鰰-矼韵 癪諤 碼闢奛轢 憫纐蓙, 釣辷 ヘⅱ粢肛壽迢粫20 鉅瘰2005 竡籥<>]. 壽轢譛轢矼韵 碼着韭琿蓙..]