クラウドインフラ構築記

現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。

2013年9月16日
から hiruta
0件のコメント

checkinstallを使ってのruby-1.9.3 のインストール

CentOS 6.4で標準リポジトリでインストールできるrubyが1.8.7と少し古い。CentOS 6.4(64bit)でruby 1.9.3を使用するには、rubyのソースから作成する必要がある。ビルドしたソースを使って、checkinstallでRPMを作るには以下のようにします。


wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64
/epel-release-6-8.noarch.rpm
 rpm -ivh epel-release-6-8.noarch.rpm

epelリポジトリを通常は無効化。(enabled=0)

vim /etc/yum.repos.d/epel.repo

必要なパッケージのインストール

udo yum install --enablerepo=epel make gcc zlib-devel openssl-devel readline-devel ncurses-devel gdbm-devel db4-devel libffi-devel tk-devel libyaml-devel

ruby 1.9.3をダウンロード、ビルドまで行う。この時点ではインストールはしない。

wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz
 tar xf ruby-1.9.3-p327.tar.gz
 cd ruby-1.9.3-p327
 ./configure --prefix=/usr/local
 make

yum install gettext rpm-build

RPMパッケージの作成できるcheckinstallをGitから取得。

git clone http://checkinstall.izto.org/checkinstall.git
cd checkinstall 

コンフィグを少し修正。

vi Makefile
CONFDIR=$(PREFIX)
vi checkinstallrc-dist
EXCLUDE="/selinux"
vi installwatch/Makefile
LIBDIR=$(PREFIX)/lib64
make

make install

ruby-1.9.3をmakeしたフォルダで以下を実行でRPMが作られます。

checkinstall --fstrans=no

2013年9月15日
から hiruta
Rubyのmysql2アダプタをインストールするときの注意 はコメントを受け付けていません

Rubyのmysql2アダプタをインストールするときの注意

gemコマンドでmysql2アダプタをインストールする場合、32bit版のMySQL Connector/Cを利用します。RubyInstallerでダウンロードできるWindows binaryが32bitなので。

http://dev.mysql.com/downloads/connector/c/

mysql-connector-cをCドライブ直下に展開した場合、以下のようにしてmyql2アダプタがインストールされます。

gem install mysql2 -- --with-mysql-dir=\"C:\mysql-connector-c-6.1.1-win32\"

2013年9月7日
から hiruta
naxsiの導入 はコメントを受け付けていません

naxsiの導入

nginx用のWeb Application Firewallであるnaxsiを導入してみました。

カスタムrpmを作って、naxsi-coreを入れてみました。
nginx最新版のソースRPMをまずインストール。

rpm -ivh nginx-1.4.1-1.el6.ngx.src.rpm

次に、naxsiのソースを展開。

zcat naxsi-core-0.49.tgz | tar xvf - 

nginxのSPECファイルを編集。

vi nginx.spec

–with-debugがないconfigureの引数に「–add-module=/root/naxsi-core/naxsi_src」を追加します。


./configure \
 --prefix=%{_sysconfdir}/nginx \
 --sbin-path=%{_sbindir}/nginx \
 --conf-path=%{_sysconfdir}/nginx/nginx.conf \
 --error-log-path=%{_localstatedir}/log/nginx/error.log \
 --http-log-path=%{_localstatedir}/log/nginx/access.log \
 --pid-path=%{_localstatedir}/run/nginx.pid \
 --lock-path=%{_localstatedir}/run/nginx.lock \
 --http-client-body-temp-path=%{_localstatedir}/cache/nginx/client_temp \
 --http-proxy-temp-path=%{_localstatedir}/cache/nginx/proxy_temp \
 --http-fastcgi-temp-path=%{_localstatedir}/cache/nginx/fastcgi_temp \
 --http-uwsgi-temp-path=%{_localstatedir}/cache/nginx/uwsgi_temp \
 --http-scgi-temp-path=%{_localstatedir}/cache/nginx/scgi_temp \
 --user=%{nginx_user} \
 --group=%{nginx_group} \
--with-http_spdy_module \
 --with-http_ssl_module \
 --with-http_realip_module \
 --with-http_addition_module \
 --with-http_sub_module \
 --with-http_dav_module \
 --with-http_flv_module \
 --with-http_mp4_module \
--with-http_gunzip_module \
 --with-http_gzip_static_module \
 --with-http_random_index_module \
 --with-http_secure_link_module \
 --with-http_stub_status_module \
 --add-module=/root/naxsi-core/naxsi_src \
 --with-mail \
 --with-mail_ssl_module \
 --with-file-aio \
 --with-ipv6 \
 --with-cc-opt="%{optflags} $(pcre-config --cflags)" \
 $*

rpmbuildをして、生成したrpmをインストール。

naxsi_core.rulesをインクルード。

 vi /etc/nginx/nginx.conf

 

http {
 include /etc/nginx/mime.types;
 include /etc/nginx/naxsi_core.rules;

</pre>
LearningMode; #Enables learning mode
SecRulesEnabled;
#SecRulesDisabled;
DeniedUrl "/RequestDenied";

include "/tmp/naxsi_rules.tmp";

## check rules
CheckRule "$SQL >= 8" BLOCK;
CheckRule "$RFI >= 8" BLOCK;
CheckRule "$TRAVERSAL >= 4" BLOCK;
CheckRule "$EVADE >= 4" BLOCK;
CheckRule "$XSS >= 8" BLOCK;
<pre>
vi /etc/nginx/conf.d/default.conf
</pre>
server {
 listen 80;
 server_name totalsolution.biz;

#charset koi8-r;
 access_log /var/log/nginx/totalsolution.biz.access.log ltsv;
 error_log /var/log/nginx/totalsolution.biz.error.log;

location / {
 include /etc/nginx/test.rules;
<pre>

最後に、nginxを再起動して終了。

error_logに以下のようにnaxsiのログが書き出されれば成功。

</pre>
2013/09/07 08:19:46 [error] 25875#0: *6319 NAXSI_FMT: ip=123.218.123.177&server=xxx.js&learnin
g=1&total_processed=1490&total_blocked=366&zone0=HEADERS&id0=1005&var_name0=cookie
&zone1=HEADERS&id1=1010&var_name1=cookie&zone2=HEADERS&id2=1011&var_name2=cookie&z
one3=HEADERS&id3=1315&var_name3=cookie, client: 123.218.123.177, server: totalsolu
tion.biz, request: "GET /cms/wp-content/plugins/wp-slimstat/wp-slimstat.js HTTP/1.
1", host: "www.totalsolution.biz", referrer: "http://www.totalsolution.biz/cms/wp-
login.php"

2013年8月31日
から hiruta
WordPressを別のドメインに引っ越しするTips はコメントを受け付けていません

WordPressを別のドメインに引っ越しするTips

WordPressの環境を別のドメインに移動させる際、コンテンツ一式とデータベースを別のドメインのためのスペースに設置後、wp-config.phpに以下を記載して、別のドメインで管理画面にログインすると別のドメインすると、WordPressアドレスが自動で変わります。

define('RELOCATE',true);

テスト環境で仮ドメインで構築していたものを、本番用ドメインに移動させる場合に使えると思われます。

ただし、投稿記事のデータが記載されているwp_posts内については、書き換えてくれないので、移行先ドメイン情報に、こちらについては、変換させる必要はあります。

2013年8月28日
から hiruta
容量無制限のクラウドストレージ「Bitcasa」が日本語版を提供開始 はコメントを受け付けていません

容量無制限のクラウドストレージ「Bitcasa」が日本語版を提供開始

埋め込み投稿を試してみました。

2013年8月24日
から hiruta
0件のコメント

OpenShift Originを試してみました。

8/23 第13回 Cloudfoundry輪読会で紹介されておりましたOpenShift Originを実際ローカル環境に構築してみました。

VirtualBoxを以下からダウンロードします。自分は『VirtualBox-4.2.16-86992-Win.exe』を利用しました。

https://www.virtualbox.org/wiki/Downloads

Vagrant 1.2.7をダウンロードします。

http://files.vagrantup.com/packages/7ec0ee1d00a916f80b109a298bab08e391945243/Vagrant_1.2.7.msi

次に、VirtualBox、Vagrantをインストールします。

OpenShift Brokers and Nodesを作るためのpuppetモジュールをgithubからダウンロード(クローン)

git clone git@github.com:openshift/puppet-openshift_origin.git

 

cd puppet-openshift_origin

自分の場合、以下でローカルポート使用していますとvagrant upが失敗するので、8080を880に変更。

config.vm.forward_port 80, 8080

仮想VMをいよいよ起動。初回だけは必要なソフトウェアのダウンロード等があるので、多少時間がかかりました。30分もかからなかったと思います。

vagrant up

起動が成功したら、ブラウザから『https://127.0.0.1:8443/』でマネージメントコンソール画面が表示されればOK

OpenShift Origin

Windows環境の場合、vargrant sshではvargrat に直接SSH接続ができない。コマンドプロンプトに表示されている情報からputty等のSSHターミナルから接続するようになります。putty用の公開鍵をputtygenから生成することが必要です。


C:\work\puppet-openshift_origin\test>vagrant ssh
`ssh` executable not found in any directories in the %PATH% variable. Is an
SSH client installed? Try installing Cygwin, MinGW or Git, all of which
contain an SSH client. Or use the PuTTY SSH client with the following
authentication information shown below:

Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: C:/Users/hiruta/.vagrant.d/insecure_private_key

vagrantを使うことでローカルにサーバー環境を構築することが簡単に行えます。サーバーを壊しても元に戻すことも可能なので、vagrantは開発環境を構築する場合には有用な方法になります。

2013年8月21日
から hiruta
0件のコメント

Cacti Tholdプラグインの設定

yumでcactiをインストールしただけでは、snmpから情報を取得してグラフ化するだけ。

警告レベル等設定して通知を行う(閾値)には、プラグインをインストールする必要があります。

wget http://docs.cacti.net/_media/plugin:thold-v0.4.9-3.tg
wget http://docs.cacti.net/_media/plugin:settings-v0.71-1.tgz

上記のダウンロードしたものを/usr/share/cacti/pluginsにコピー

アップデートコマンドの実施

php /usr/share/cacti/plugins/thold/extras/upgrade.php

0.8.8aで確認しました。

cactiの管理画面でプラグインを有効にすればOK

Console    Plugin Management

2013年8月19日
から hiruta
0件のコメント

ESXiサーバーへのディスク増設

玄箱の低スペックのこともあり、玄人の使用はやめたことで、SATAのHDDが余りました。
そこで、ESXiのサブディスクとして利用することにしました。

ストレージアダプタ

HDDを接続して、ストレージの認識までは問題なくいきました。

 

データストアを追加するために、ESXiのウィザードで進むと以下エラーで登録できません。

「vSphere Clientで内部エラーが発生しました。 詳細:入力文字列の形式が正しくありません。」

 

 

ストレージ

ここ の通り、ロケールを英語にして行うとすんなり成功。どうやら日本語UIのバグらしい。

ESXiには Ubuntu 11.10とCentOS 6.4を仮想マシンとして構築済み。

2013年8月14日
から hiruta
GV-MVP/FZ2ファーストインプレッション はコメントを受け付けていません

GV-MVP/FZ2ファーストインプレッション

全モデルGV-MVP/FZの違いとしては、

  • B-CASカードレス(地上デジタルRMP方式)P1000402
  • 全モデルではiPhone/iPadのみでしたが、Android端末(Nexus7など)にも配信できる。※iodataの対応ルーター(.net USB対応ルーター)は必要
  • 全モデルになかった番組表対応
  • 更新マネージャによる自動更新に対応

テレキングmobileについて

  • TV再生されないことが時々ある。
  • 番組切替が多少もたつく
  • GV-MVP/FZ2が見つからない場合、ヘルプ表示がでますが、終了ボタンを押下すると不正終了してしまう。

Nexus7でも画質、音質については問題なさそう。アプリ自体がまだ安定していないのか、頻度に不正終了を起こしてしまう。早急のアップデートが望まれるところ。

P1000403


WN-WN450DGR装着の状態です。USBポート2ポートがありますが、下部ポートはプリンターで使用しています。

2013年8月8日
から hiruta
0件のコメント

javaのプロファイラツール

メモリリークの調査などプロファイラツールは開発する上で必須。JProbeとか有料なプロファイラツールがありますが、フリーでもプロファイラーツールがあります。

下記ツールがこれにあたります。

http://www.jvmmonitor.org/

eclipseからインストールできて、JavaFXアプリケーションをjvmmonitorで簡単にモニターすることができました。

メモリ使用状況のモニタやCPU使用状況などがモニタすることが可能です。日本語eclipseにいれてもちゃんと日本語化されます。

なお、eclipse 3.7だと3.6のときあったTPTPが更新項目からなくなっています。3.7についても、jvmmonitorは対応しています。

また、eclipse hielos の更新サイトからインストールできるTPTPは、更新サイトの問題なのかインストールに失敗してしまいます。