ssh permission

2016-10-10 20:14:30 +0900

またやらかしたので

経緯

サーバーにSSHログインが急にできなくなった

対処

chmod 744 ~/.ssh

おわり

おわり

ItamaeつかってOSのインストールをやってみた

2016-10-09 16:43:27 +0900

9月はRubyKiagiにいってたりしました。 そのときにmikutterのコミッターとかになったようです。

シルバーウィークにThinkPadのOS再インストールをしたのでその記録を

なにやったの?

@mtsmfm と以前話していたとき、``ansibleつかってOSインストールしてるんだけど、完全自動化できないんですよね~’’ みたいな事を聞いたのでItamae をつかってやってみました。 結論から言うと完全自動化は無理だけど、ある程度は自動化できた。

環境

  • machine: ThinkPad X250
  • OS: Gentoo Linux
  • Provisioning tool: Itamae
  • repo: https://github.com/katsyoshi/itamae-recipes

インストール

インストールディスクを起動するところはipmiとか搭載していない(しらべていない)しIronicはつかいたくないので手動で起動し、 sshdの起動とrootのパスワードを設定します。起動したら以下の手順でパーティション作成からカーネルのインストールまでします。

git clone https://github.com/katsyoshi/itamae-recipes.git
cd itamae-recipes
bundle install
wget http://ftp.iij.ad.jp/pub/linux/gentoo/releases/amd64/autobuilds/current-stage3-amd64/stage3-amd64-20161006.tar.bz2
cp stage3-amd64-20161006.tar.bz2 cookbook/install/stage3.tar.bz2
itamae ssh -h nu-machine cookbook/install/gentoo.rb -u root -j cookbook/install/gentoo.json

でOSのインストールまでできるのですが、gentooのインストールメディアだと、diffがインストールされていないのでitamaeからfileのコピーができません。 都度コピーしてください(というよりgentooインストーラーにdiffを入れたほうが早そう)

パッケージのインストール

ここまで終ったら、パッケージのインストールします。これも以下コマンドを実行することで終ります。

itamae ssh -h nu-machine cookbook/gentoo/emerge.rb -j cookbook/gentoo/package.json

owari

ItamaeつかってOSのインストールを実行してみました。diffが失いところがとくにつらいですね。 おわり

hello mikutter

2016-08-31 22:55:03 +0900

表題のとおりmikutterをgemでインストールできるようにしてみました。

どうやって?

rubygems からはまだインストールはできません。 ので、以下の様にしてgem packageを作成します。

$ git clone github.com/katsyoshi/mikutter.git
$ cd mikutter
$ git checkout reokure-ru
$ bundle install
$ bundle exec rake build
$ gem install pkg/mikutter-3.5.0.pre.dev.gem
$ mikutter

これでmikutterコマンドで起動できるようになっています これすらめんどうな人はここにあります。 ダウンロードして gem install mikutter-3.5.0.pre.dev.gem でインストールできます。 プラグインで起動できないとかあるなら必要なgemをインストールしてください。

RENEWAL MY SITE!!!

2016-08-08 21:05:47 +0900

ってのは嘘ではないですが、嘘に近いです。 実はおとといの土曜日に katsyoshi.org をのぞいたら、 nginx の初期ページが表示されたので とくにコンテンツはないですが、いそいでサイトの復旧をしました。 が、もともとあったファイル置場を失念したため似た感じで再構築してました。 再構築ついでにssl化、nginx から h2o へのWebサーバー変更しました。 あと systemd でデーモン化とかも。

Let’s Encrypt

リリースされてだいぶたつのですが、Let’s Encryptを利用してみました。 Ubuntu Linux 16.04 では、簡単に導入できます。

$ sudo apt install letsencrypt
$ sudo letsencrypt certonly

でいくつかの質問に答えればおわりです。 ここで、戸惑った場面としては認証を受けたいサーバーの確認があるのですが、 サーバーポート443を開ける必要があり、1回失敗しました。

H2O

せっかくだし、H2Oを使おうと思います。 インストールはかんたんでいかのようにすればokです。

$ git clone h2o/h2o
$ cd h2o
$ cmake -DCMAKE_INSTALL_PREFIX_PATH=/opt/local .
$ make && make install

設定はここここを参考にして以下にしています。

user: www-data
hosts:
  "katsyoshi.org:80":
    listen:
      port: 80
    paths:
      /:
        redirect: https://katsyoshi.org
hosts:
  "katsyoshi.org:443":
    listen:
      port: 443
      ssl:
        certificate-file: /etc/letsencrypt/live/katsyoshi.org/fullchain.pem
        key-file: /etc/letsencrypt/live/katsyoshi.org/privkey.pem
    paths:
      /:
        file.dir: /opt/website/top
access-log: /var/log/h2o/access.log
error-log: /var/log/h2o/error.log
pid-file: /var/run/h2o.pid
http2-reprioritize-blocking-assets: ON

h2o.service

さいきんわだいのしすてむでーってやつででーもん?かしようとおもいます

[Unit]
Description=H2O the optimized HTTP/1, HTTP/2 server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/var/run/h2o.pid
ExecStartPre=/opt/local/bin/h2o -c /etc/h2o/h2o.conf -t
ExecStart=/opt/local/bin/h2o -c /etc/h2o/h2o.conf -m daemon
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

いやーしすてむでーってべんりですねー

owari

サイトがぶっとんだのでサイトの復旧?と let’s encrypt でのSSL化、 h2oへのウェブサーバー変更と systemd でのデーモン化をやりました。

1年ぶりの日記だたので、Markdownどうかくんだっけ?とか、別のところで大変でした。

参考サイト

YAPC::Asia 2015に参加しました(ボランティアスタッフとして)

2015-08-25 02:42:48 +0900

YAPC::Asia 2015にボランティアスタッフとして参加してきました(申請時に公表しないでってしなのでYAPCのスッタフ一覧にはのってないです)。去年も参加しましたが聴講者として参加しました。

ボランティアスタッフに応募した理由

彼女ができるときいて応募しました。また、最後の YAPC::Asia と聞いていたので応募しないとなと思ったのがありました。他の理由としては NEET なのでというのもあります。発表者として参加できればよかったのですが、ネタが応募するには弱いなと思い見送りました。そういうこともありボランティアスタッフとして参加しました。

個人スポンサー

実は個人スポンサーもやっていましたが、ボランティアスタッフをやるため、個人スポンサーの分のチケットが余っていました。その分はとある人に譲りました。

0日目(前夜祭)

0日目は11時集合になっており、スタッフ作業としてノベルティの詰め込み作業と会場設営を行なっていました。

前夜祭自体は初めてのスタッフ作業でしたので、会場係として設営などをしてました。

1日目

1日目は始めに作業としてラリーのセッション前、中で同時通訳のレシーバーを配ってました。その後D会場でずっとタイムキーパーをやっておりました。

この日の印象に残ってるセッションとしては @kazuhoさんHTTP/2時代のウェブサイト設計 で、 HTTP2 になった理由、そのなかで h2o が優れている点を丁寧に説明されてて、これはすぐに使わねばと思わせてくれた発表でした。

この日は懇親会がありましたので、懇親会会場でうろうろしておりました。 懇親会では、知り合いと話してたりしてました。最近、 itamae を触っているので、プラグインの話を @k0kubunさん としてました。そのときは pip のリソースプラグイン作りたいとか言ったので 今日作成 したのですが、よくかんがえてみると、 cpan のリソースプラグインの方が必要だったのを作成後に思い出しました。

2日目

2日目も1日目と同様にD会場で全セッションタイムキーパーやっておりました。

印象に残ったセッションとしては、 @kenjiskywalkerさん我々はどのように冗長化を失敗したのか@saiken3110さんMySQLで2億件のシリアルデータと格闘したチューニングの話@JxckさんHTTP2 時代の Web がありました。

最後に片づけをし、おわった後スタッフ数人とのみくいに行ってきました。そろそろ解散かなってときに、 twitter を眺めてたら、 @Jxckさんが@t_wadaさんを誘ってる を見つけて無理やり参加させて頂きました。

帰りついたのは朝の4時ごろ(だったと思う)でした。

おわり

YAPC::Asia 2015 に参加してきました。23日の日曜日は疲れてたのでずっとぐったりしてました。 楽しい3日間でした!!!!!11

こんにちは、いたまえさん

2015-08-02 21:33:46 +0900

rbenvitamaeプラグイン を利用してインストールしようとしたら、対象サーバがプロキシーのあるネットワークであり、gitでダウンロードできなかったので、httpsを指定できるようしてもらいました。

plenv と pyenv

また、rbenv のプラグインを参考に plenvpyenv を作ってみました。

これらふたつのプラグインはまだgemになっていないので、Gemfile に以下のように追加し、

gem 'itamae'
gem 'itamae-plugin-recipe-plenv', github: 'katsyoshi/itamae-plugin-recipe-plenv'
gem 'itamae-plugin-recipe-pyenv', github: 'katsyoshi/itamae-plugin-recipe-pyenv'

recipeとしては以下のようにしてください。

```ruby recipe.rb include_recipe ‘pyenv::system’ include_recipe ‘plenv::system’


設定例としては、rbenvのプラグインと同じように設定します。

```json
{
  "plenv" : {
    "versions" : ["5.22.0", "5.20.2"],
    "global"   : "5.22.0"
  },
  "pyenv" : {
    "versions" : ["3.4.3", "3.5.0b2"],
    "global"   : "3.4.3"
  }
}

おわり

おわり

elasticsearchどの〜

2015-06-26 00:26:10 +0900

kibana で表示しようとしてたら嵌ったのでメモ

嵌った原因

数字をElasticsearchに投げているつもりが文字列を投げていた。 ので対処方法としては、 fluent-plugin-typecast を導入して終了。

<match elasticsearch.**.*>
  type typecast
  item_types value:float
  prefix typed
</match>

Elasticsearch

fluentd で集めたデータを Elasticsearchfluent-plugin-elastchsearch を利用して入れます。設定は以下のようにします。

<match typed.elasticserch.**.*>
  type elasticsearch
  type_name hoge
  host 127.0.0.1
  port 9200
  logstash_format true
  logstash_prefix logstash
  flash_interval 1s
</match>

おわり

おわり

参考資料

  1. http://blog.nomadscafe.jp/2014/03/dstat-fluentd-elasticsearch-kibana.html
  2. https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-core-types.html

すくりーんきゃすと

2015-05-15 23:47:14 +0900

LinuxでScreenCast用の環境を整えてみた。

必要パッケージ

  • ffmpeg
  • gtk-recordMyDesktop

使いかた

gtk-recordMyDesktop でデスクトップをキャプチャする。 その後は、 ffmpeg を使って好きな動画形式に変換します。 ここでは、gif画像に変更しています。

$ ffmpeg -i ~/screencast.ovg img/screencast.gif

-> <-

参考サイト

  1. http://d.hatena.ne.jp/over80/20080802/1217693705

ゴールデンウィークのお買いもの

2015-05-11 21:38:35 +0900

GWに勢い余って買いものしたのでそれを。

Roomba買いました。

机買いました。

Kinesis買いました。

コーヒーセット買いました。

もともと欲しかったのもあり、勢いで買ってしまいました。

Roombaの方は炬燵をまだ出してるのもあり、動かしていないです。

机は1ヶ月ほど前に椅子を買ったのもあり、買いました。 足が短いので、椅子を低くしたいのですが、天板が高いので足置き場をつくってそこにのせています。 それ以外の気になる点としては、角がちょっと痛いというぐらいで今のところ満足しています。

Kinesisは以前仕事で週1日だけ使わせてもらったことがあったので、気に入ったのでそれで買いました。 赤軸モデルを買ったのですが、カチカチ音がしないのでこれはこれでイイカンジです。

コーヒーセットは、机がきてから買う予定で買いました。このドリッパ用の用紙を見付けるのが大変で、2時間ほど彷徨いました。

これで欲しいものは大体そろったのですが、最近デスクトップPC欲しくなってきたんだよなぁ…

もうしわけねぇ。

バイバイX240

2015-05-10 11:05:19 +0900

新しくX250を買ったので、X240の中身を削除します。 以下のコマンドでできるようです。

$ sudo shred -n 3 -v /dev/sda