ssh permission
またやらかしたので
経緯
サーバーにSSHログインが急にできなくなった
対処
chmod 744 ~/.ssh
おわり
おわり
ItamaeつかってOSのインストールをやってみた
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
表題のとおり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!!!
ってのは嘘ではないですが、嘘に近いです。
実はおとといの土曜日に 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に参加しました(ボランティアスタッフとして)
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
こんにちは、いたまえさん
rbenv を itamae の プラグイン を利用してインストールしようとしたら、対象サーバがプロキシーのあるネットワークであり、gitでダウンロードできなかったので、httpsを指定できるようしてもらいました。
plenv と pyenv
また、rbenv のプラグインを参考に plenv と pyenv を作ってみました。
これらふたつのプラグインはまだ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どの〜
kibana で表示しようとしてたら嵌ったのでメモ
嵌った原因
数字をElasticsearchに投げているつもりが文字列を投げていた。
ので対処方法としては、 fluent-plugin-typecast
を導入して終了。
<match elasticsearch.**.*>
type typecast
item_types value:float
prefix typed
</match>
Elasticsearch
fluentd で集めたデータを Elasticsearch に fluent-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>
おわり
おわり
参考資料
- http://blog.nomadscafe.jp/2014/03/dstat-fluentd-elasticsearch-kibana.html
- https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-core-types.html
すくりーんきゃすと
LinuxでScreenCast用の環境を整えてみた。
必要パッケージ
- ffmpeg
- gtk-recordMyDesktop
使いかた
gtk-recordMyDesktop
でデスクトップをキャプチャする。
その後は、 ffmpeg
を使って好きな動画形式に変換します。
ここでは、gif画像に変更しています。
$ ffmpeg -i ~/screencast.ovg img/screencast.gif
-> <-
参考サイト
- http://d.hatena.ne.jp/over80/20080802/1217693705
ゴールデンウィークのお買いもの
GWに勢い余って買いものしたのでそれを。
Roomba買いました。
机買いました。
Kinesis買いました。
コーヒーセット買いました。
もともと欲しかったのもあり、勢いで買ってしまいました。
Roombaの方は炬燵をまだ出してるのもあり、動かしていないです。
机は1ヶ月ほど前に椅子を買ったのもあり、買いました。 足が短いので、椅子を低くしたいのですが、天板が高いので足置き場をつくってそこにのせています。 それ以外の気になる点としては、角がちょっと痛いというぐらいで今のところ満足しています。
Kinesisは以前仕事で週1日だけ使わせてもらったことがあったので、気に入ったのでそれで買いました。 赤軸モデルを買ったのですが、カチカチ音がしないのでこれはこれでイイカンジです。
コーヒーセットは、机がきてから買う予定で買いました。このドリッパ用の用紙を見付けるのが大変で、2時間ほど彷徨いました。
これで欲しいものは大体そろったのですが、最近デスクトップPC欲しくなってきたんだよなぁ…
もうしわけねぇ。
バイバイX240
新しくX250を買ったので、X240の中身を削除します。 以下のコマンドでできるようです。
$ sudo shred -n 3 -v /dev/sda