akishin999の日記

調べた事などを書いて行きます。

Linux

.tmux.conf 内で tmux のバージョン判定

普段使っている tmux のバージョンが環境毎に違うので、.tmux.conf 内で tmux のバージョンに応じて設定を切り替える方法を調べたのでメモ。手元の Ubuntu 14.04 では tmux 1.8、Mac の方は 2.1 なのですが、以下のように設定したら同じ .tmux.conf でどちら…

RequestBin をインストールしてみる

発行された URL に対して送信された HTTP リクエストの内容を確認することが出来る Webサービス RequestBin ですが、ソースコードも MIT ライセンスで公開されている ようなので、今回は自前のサーバに立ててみました。 構築した環境は CentOS 6.5 x86_64 に…

Sentry をインストール

商用サービスもあるオープンソースのイベントログ収集ツール Sentry をインストールしてみたのでメモ。getsentry/sentry https://github.com/getsentry/sentryAirbrake やオープンソースの Errbit 辺りと同じ系統のサービスな感じです。インストールした環境…

Ruby から Windows の共有フォルダにアクセスする

Linux 上で Samba マウントせずに Windows の共有フォルダにアクセスしたかったので、Ruby の sambal というライブラリを使ってみました。johnae/sambal https://github.com/johnae/sambal試した環境は以下です。 CentOS 6.4 / 6.5(どちらも x86_64) Ruby 2.…

CentOS 6.5 に kippo をインストールしてみる

digitalOceanクラウド上に安く簡単にkippoハニーポットを構築する | 徳丸浩の日記 http://blog.tokumaru.org/2014/01/digitaloceankippo.htmlsshハニーポットをkippoで作ってみる - ろば電子が詰まっている http://d.hatena.ne.jp/ozuma/20130829/1377703104…

CentOS 6.4 で Docker 0.7 を使ってみる

Docker がバージョン 0.7 から RedHat 系 OS に正式に対応した、という事なのでインストールして軽く触ってみました。Requirements and Installation on Red Hat Enterprise Linux / CentOS - Docker Documentation http://docs.docker.io/en/latest/install…

CentOS 6.5 へアップグレード

CentOS 6.5 が出たみたいです。RHEL 6.5互換となるLinuxディストリビューション「CentOS 6.5」リリース | SourceForge.JP Magazine http://sourceforge.jp/magazine/13/12/04/143000Manuals/ReleaseNotes/CentOS6.5 - CentOS Wiki http://wiki.centos.org/Ma…

ファイルやディレクトリのパーミッションを8進数表記で確認する

ファイルやディレクトリのパーミッションを確認したい場合、ls コマンドではアルファベットでしか確認できませんが、stat コマンドを使う事で8進数表記でパーミッションを確認することが出来ます。 % stat -c %a /home/akishin 755 % stat -c %a /tmp 1777 …

Ansible の Playbook を使ってみる

構成管理ツール Ansible を使ってみる の続きです。 今回は Playbook について調べた事をまとめてみます。Playbook は Ansible のモジュールを使用した処理の組合せにより対象サーバの構成を記述したものです。例えば Apache を使用して Web サーバを構築す…

構成管理ツール Ansible を使ってみる

最近は話題のサーバ構成管理ツール Ansible を試したりしています。Ansible 自体は Python 製ですが、使うに当たっては特に Python の知識は必要とされる事もなく、定義ファイル(Playbook)も YAML ファイルなので気軽に始める事ができました。また、Capistra…

Monit で pidfile が存在しないプロセスを監視する

Monit で pid ファイルが存在しないプロセスを監視する方法を調べたのでメモ。Monit でのプロセス監視の例として、以下のように pidfile を使用してプロセスID を指定するものをよく見かけるかと思います。 check process sshd with pidfile "/var/run/sshd.…

rbenv を anyenv で管理する

rbenv や plenv などをまとめて管理する anyenv を使ってみました。riywo/anyenv https://github.com/riywo/anyenvanyenv を使う事で、新しい *env 系コマンドを導入する度に初期化処理を .bash_profile に書く、といった作業から解放されます。現在は以下の…

tmux + rbenv の環境で指定した Ruby が使われない件

以前、tmux + rbenv の環境で、指定したバージョンの Ruby が何故か使われなくなってしまった件がありました。tmux + tmuxinator + rbenv の環境で RBENV_VERSION が勝手に設定されてしまう件 http://d.hatena.ne.jp/akishin999/20130303/1362308566この時は…

CentOS 6.4 に MariaDB 5.5 をインストールする

RHEL 7 からデフォルトでインストールできる DB が MySQL から MariaDB に変わるかも、という話を読んだので、ちょっと使ってみようと思い立ちインストールしてみました。 OS は CentOS 6.4 x86_64 です。 インストール MariaDB - Setting up MariaDB Reposi…

Apache 2.4 + Ruby 2.0 + Passenger 4 環境を構築する

最新版の Ruby と Apache での環境構築手順を整理してまとめてみました。 それぞれ RPM を作成してインストールしています。 また、Passenger も最新の 4 系にしてみました。OS は Webサーバ、RPM作成用サーバ共に CentOS 6.4 x86_64 です。 rpm-build の準…

OMP_NUM_THREADS を指定した場合の負荷について

「ImageMagick の OpenMP が有効だとサーバが高負荷になってしまう」問題を回避するために環境変数 OMP_NUM_THREADS に 1 を設定したものの、Nginx の場合、何故か /proc/$pid/environ に表示されませんでした。これでは本当に環境変数が正しく設定できてい…

mod_dims で動的に画像リサイズ

Web サーバでの画像自動リサイズ方法をいろいろと調べていたところ、 Apache の mod_dims というモジュールを見つけたので試してみました。検証したのは以下の環境になります。 CentOS 6.3 x86_64 ImageMagick 6.8.5-10 依存ライブラリのインストール 依存ラ…

ngx_small_light で動的に画像リサイズ

この前インストールした mod_small_light の Nginx 版、ngx_small_light をインストールしてみました。cubicdaiya/ngx_small_light https://github.com/cubicdaiya/ngx_small_lightこのモジュールを使うと Nginx でも Apache + mod_small_light と同じ感じで…

apachebench-for-multi-url で複数 URL のベンチマーク

Apache 付属のベンチマークツール、Apache Bench(ab コマンド)は簡単に導入できて気軽に使えるのでお気に入りなんですが、残念ながら複数の URL を指定したベンチマークに対応していません。何とかする方法はないか調べてみたところ、独自のオプションを追加…

mod_small_light で動的に画像リサイズ

今更ですが、livedoor により提供されている mod_small_light をインストールしてみました。 mod_small_light は動的にサムネイル画像を生成したりできる Apache モジュールです。SMALL LIGHT 〜かんたん画像サムネイル作成モジュール〜 | livedoor labs EDG…

OpenMP 無効の ImageMagick の RPM を作成する

CentOS の Yum で ImageMagick を入れると、以下のようにデフォルトで OpenMP が有効になっています。 # yum install -y ImageMagick # convert --version Version: ImageMagick 6.5.4-7 2012-05-07 Q16 OpenMP http://www.imagemagick.org Copyright: Copyr…

Redis でお手軽に複数台構成の検証環境を作る

最近 Redis の Sharding 構成やレプリケーション構成を検証するために複数の Redis インスタンスを起ち上げる事が多いのですが、その度に一々設定を変更した redis.conf を用意するのが結構面倒でした。という事でちょっと調べてみると、どうやら redis-serv…

Redis 2.6 の RPM を作成する

ちょっと使う必要があったので、Redis の最新版の RPM を作成してみました。環境は CentOS 6.3 です。まずは RPM の作成に必要な rpmbuild、rpmdevtools をインストールします。 # yum install -y rpm-build rpmdevtools 次に RPM 作成用のユーザを作成して …

Ubuntu に rbenv で Ruby 1.8.6 系をインストールしようとしたらハマった

タイトル通りですが、ちょっと古いコードの検証環境が欲しかったので、開発環境として使用している Ubuntu に rbenv で Ruby の 1.8.6 系をインストールしようとしたところ、予想外にハマって時間を取られたのでまとめておきます。環境は Ubuntu 12.10(32bit…

elasticsearch で clustering を試してみる

elasticsearch だと簡単に clustering が出来るということなので、実際に試してみました。 環境は CentOS 6.3、elasticsearch 0.20.5 です。まずはダウンロードして展開します。 # wget https://download.elasticsearch.org/elasticsearch/elasticsearch/ela…

elasticsearch での Kuromoji の使い方

前回インストールした elasticsearch で日本語形態素解析器 Kuromoji を使ってみます。 環境は CentOS 6.3、elasticsearch 0.20.5 です。elasticsearch はプラグインで機能を拡張できるようです。 利用可能なプラグインは公式サイトの以下のページにまとめら…

CentOS に elasticsearch を入れてみた

elasticsearch は Apache Solr と同じく Apache Lucene を使用した全文検索エンジンです。 REST ベースの API を備え、curl コマンドだけで操作できるなどの使いやすさが特徴とのことです。 詳しくは こちら や こちら の資料を読んでみてください。今回は C…

tmux + tmuxinator + rbenv の環境で RBENV_VERSION が勝手に設定されてしまう件

tmux + tmuxinator + rbenv の環境で rbenv local を設定しても指定した Ruby が使われない、という現象が発生。 調べてみると環境変数 RBENV_VERSION が設定されているため、rbenv がそちらを見てしまう事が原因のようでした。しかし RBENV_VERSION を設定…

64bit 版 CentOS での CheckInstall 導入方法

このところ CheckInstall の挙動についていろいろと調べていました。 検証に際して使用していた 64bit 版 CentOS での導入方法を整理しておきます。確認した環境は CentOS 5.9 x86_64 ですが、CentOS 6 系でもほぼ同じ方法でいけると思います。また、事前に …

Linux サーバでの「Too many open files」対策について

Linux サーバでの「Too many open files」エラー対策について調べたのでまとめてみました。 確認した OS は CentOS 5.9 と CentOS 6.3 です。「Too many open files」は Linux でプロセスが開けるファイルディスクリプタの上限に達してしまうと発生するエラ…