最新 追記

いがいが日記


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してるみたいだけど・・・。設定方法分からず。

Split Terminal in Mac OS X with iTerm2


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):さくらへ移動完了しました。なにか変なとこあれば教えてください。:)

本日のツッコミ(全3件) [ツッコミを入れる]

_ _h_s_ [どうもー、お久しぶりです。 RSSでいつも拝見してますが、RSS上、追記後のものも別エントリに見えているような気がし..]

_ いがいが [ご愛読&ツッコミありがとうございます〜。 追記後も前のエントリも含めて見えるのは仕様です。 というか、私の書き方が良..]

_ gydayJeambked [槽鰰-矼韵 癪諤 碼闢奛轢 憫纐蓙, 釣辷 ヘⅱ粢肛壽迢粫20 鉅瘰2005 竡籥<>]. 壽轢譛轢矼韵 碼着韭琿蓙..]


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に入ってます。

みなさん遠慮せず押してみてくださいね。(笑)

まちゅさん開発ありがとう!

まちゅダイアリー - tDiaryのソーシャルボタン系をJavaScript化してみた


最新 追記