IT井戸端会議

読者です 読者をやめる 読者になる 読者になる

IT井戸端会議

インフラ、ネットワーク、アプリケーション開発、IT界隈の話等々を東京都千代田区界隈から発信します。

いまさら聞けないOpenStack

最近、OpenStack を学び始めたのですが、 リリース名やプロジェクトが多すぎるのと 日本語ですべてのプロジェクトについて説明しているサイトや書籍もなかったので、 勉強がてらスライドにまとめてみました。 OpenStack についてのまとめと 以下のサービスの…

OSS版 Siri「Sirius」をインストール

sirius とは 公式サイトでは、以下の通り説明されています。 Sirius is an open-source end-to-end standalone intelligent personal assistant (IPA) service. Sirius receives queries in the form of speech or images and returns results in the form o…

Perlスクリプトの汎用化+GUI化+exe化=アプリ誕生!(3)

みなさまこんにちは。 前回より間があいてしまいましたが、忘れないうちに今回、Perlスクリプトをパッケージ化するお話を書きたいと思います。 <今回やること> ■「PAR::Packer」のインストール ■コマンド「pp」によるスクリプトのExe化 まず最初に、結果的…

OSS のオンライン会議システム「BigBlueButton」を試す

OSS を使って、リモートで作業できないかと探していたところ、 BigBuleButton というものがあるということで試しにインストールしてみました。 似たようなものとして、Apache OpenMeetings(※1)というものもあるようですが、 ユーザビリティが悪そうだったの…

Perlスクリプトの汎用化+GUI化+exe化=アプリ誕生!(2)

みなさまこんにちは。 前回、GUIを作成したPerlスクリプトの続きです。 <今回やること> ■GUIを表示させるのみのスクリプトに、コマンド(処理)を追加 ■Perlから実際にGUIを動かしてみる では、行きます。 ■GUIを表示させるのみのスクリプトに、コマンド(…

Perlスクリプトの汎用化+GUI化+exe化=アプリ誕生!(1)

みなさまこんにちは。 前回までに、次のような仕様のスクリプトを作成し、実行できることを確認しました。 ■作業対象機器のIPアドレスリストを読み込む ■読み込んだIPアドレスに接続し、コマンドを実行 ■コマンドの実行結果をログとしてファイルに出力 そこ…

GitLab CE をたった10分でインストール

GitHub のような環境が無料で構築できる GitLab CE (Community Edition) というものがあるということで、早速試してみた。 GitLab CE は、MITライセンスのようです。 使用環境 Ubuntu 14.04.2 LTS (x86_64) CPU: 1vCPU RAM: 2GB ※ 1GBの場合、ActionView::Te…

Apache DDoS 対応

数日〜数週間ごとにWebサーバにアクセスできなくなる事象が発生しており、 OS再起動で暫定対応していたが、 あらためて、真面目に調査してみた。 OOM Killer によって Apacheが停止している。 # grep "Out of memory" messages* | grep "Aug 17 12:" | head …

ActivePerl 5.20.2 でCisco機器の操作をさらに自動化してみた

みなさまこんにちは。 前回は、ActivePerl実行環境の構築+とりあえずサンプルスクリプトを動かすところまでやってみました。 サンプルを動かしてみたおかげで、Cisco機器用のモジュールを使うと、機器の返すプロンプト内容をあまり気にせずに簡単に動作させ…

初心者が Arduino ボードを触ってみた

電子工作すらまともにやったことのない私ですが、 Arduino ボードを購入して触ってみました。 Arduino ボードは、ATmega をベースに作られたマイコンボードです。 最近、Arduino 互換の製品が増えてきていることもあり、試してみることにしました。 Arduino …

ActivePerl 5.20.2 でCisco機器の操作を自動化してみた

みなさまこんにちは。 ネットワークエンジニアなら、きっと触るであろうCiscoのルータやスイッチ。レガシーですが、ネットワークエンジニアなら基本の「キ」といったところです。レガシー故に、機会は多いけど、毎回あまり代わり映えしない…。 そこで、テキ…

MySQL 5.5 で mysqld_multi とMaster-Slave 構成を試す

環境 CentOS 6.5 (x86_64) 実行手順 MySQL インストール rpmリポジトリをyumに追加。 $ sudo yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm yum リポジトリの定義ファイルを開き、5.5をインストールするように以下の通…

JobSchedulerが使えるのかどうか試すために試しにインストールしてみた件 (4)

素人による素人のためのJobSchedulerインストール手順 前準備編の第2回を始めていきます。 前回の記事でタダなのにJP1とかHPSoftwareみたいなことできまっせということが少しだけ分かった ちょっとだけ気力が回復したので。 しんどいけど…インストールに必要…

JobSchedulerが使えるのかどうか試すために試しにインストールしてみた件 (3)

引き続き、引き続きJobSchedulerのインストール方法を書いてみますよ。 じゃあ、手順を書きますか… しまった…忘れとったわ。 JobSchedulerの構成ってもんに関して書き忘れてたわ。 StandAlone構成の簡易図以下に示しときます。 (なんか使ってる言葉が変みた…

JobSchedulerが使えるのかどうか試すために試しにインストールしてみた件 (2)

はい、どーも。大兼なにがしです。 連投ですわ。 前回、自分のなかで勝手にジョブスケデューラーを入れてみようって話になったわけですが。 そこでインストールしてみなきゃ話にならん!!って話になったわけですわ。 つーわけで実際に色々とやってみて分かっ…

JobSchedulerが使えるのかどうか試すために試しにインストールしてみた件 (1)

はい、どーも。 一応名ばかりAsobo会メンバーの大兼です。 私もメンバーである以上は何も活動しないのは釈然としない(AWS使わしてもらってるし…)ので、 一応記事を書いてみることにしました。 ※あ~ここから先は時間を無駄にしても問題ない人だけが記事を見…

confluence(こんふるえんす)を使ってみる(posgreSQLのインストール)

confluenceを使うためにDBサーバであるpostgreSQLをインストールする インストールするバージョンについてはシステム用件を確認 # yum install postgresql 読み込んだプラグイン:fastestmirror, security インストール処理の設定をしています Loading mirror…

confluence(こんふるえんす)を使ってみる(インストール)

confluence(wikiのようなコミュニケーションような文書管理のようなツール)の無料体験版(30日)をインストールし使ってみる ◆参考 wikipedia confluenceの企業サイト ◆環境 OS:CentOS6.6(2.6.32-504.30.3.el6.x86_64) PP:confluence5.8.6 confluenceをダウン…

Ruby on Rails のWebアプリに Bootstrap を適用する

レスポンシブWebサイトを簡単に効率よく作成するためのCSSフレームワークであるbootstrapを使って Ruby on Rails のWebアプリの見栄えをよくしてみます。 前提条件 以下の記事を参考に、Scaffold を使用した DBアプリケーションが作成済みであること asobo.h…

Scaffold を利用して簡単なDBアプリケーションを作成する

Ruby on Rails では、Scaffoldという 一覧表示、詳細表示、新規作成、編集、削除を行うための モデル、コントローラー、ビューの雛形を生成してくれる便利なコマンドがあります。 その Scaffold を使用して、簡単なDBアプリケーションを作成していきます。 …

MVCとは

Webアプリケーションを開発をする上で必要となる基本概念である MVC について説明していきます。 MVC とは、Model、View、Controller の頭文字をとったもので、簡単に言えば、役割ごとに担当する部分を分けようという概念です。 MVC を使用することで、なに…

Amazon Linux に Rails 環境を構築する

使用環境 Amazon Linux AMI release 2015.03 (x86_64) 手順 rbenv インストール ruby のバージョン切り替え可能なツールであるrbenvをインストールします。 まず、git をインストールします。 $ sudo yum install git rbenv をgit cloneで取得し、パスを通し…

capistranoをほんのちょっと動かしてみる⑧(chef-soloのセットアップ)

capistranoとシェルを使ってchef-soloと前提条件にあるrubyをインストールする。 capistranoとしての流れとしては下記の通り。 ①タスク実行 ②変数設定 ③rubyソースをダウンロード ※run_locallyに記載した内容はcapistranoを実行したサーバにて実行される ④ro…

capistranoをほんのちょっと動かしてみる⑦(タスクからタスクを実行)

実行中のタスクから別のタスクを実行する。 実施することはchefuserというユーザを作成しPasswordというパスワードを設定する。 そのあとに鍵を追加する。 使用したファイルとディレクトリは下記の通り。 $ tree --charset=C |-- Capfile |-- config | |-- d…

capistranoをほんのちょっと動かしてみる⑤(ssh鍵接続設定)

sshの鍵を作成して鍵を転送してみる。 ※のちのちパスワード認証から鍵認証に変更するためのテストも兼ねて 事前作業 鍵をrsaで作成 $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa):…

capistranoをほんのちょっと動かしてみる④(namespace)

(3)ではひとつのタスクに複数の処理を記載した。 今回はnamespaceを使って処理を分割する。 namespaceはタスクが増えたときに固めて定義できる空間名みたい。 変更するファイルは下記。 ./config/develop/manage.rb load './config/servers.rb' namespace :e…

capistranoをほんのちょっと動かしてみる③の補足

(3)で同時実行数の制限やインターバルを設定したがその検証を少し行う。 テストパターンは下記のとおり。 on roles( :client ), in: :groups, limit: 3, wait: 0 do on roles( :client ), in: :groups, limit: 2, wait: 0 do on roles( :client ), in: :grou…

capistranoをほんのちょっと動かしてみる③(並列制御)

(2)では複数のサーバに対し並列で実行した。 今回は並列実行数を制限して行う。 (2)から変更するファイルは下記の2ファイル。 ./config/deploy/manage.rb ./config/servers.rb ./config/deploy/manage.rbの中身。 load './config/servers.rb' task :mkdir do…

capistranoをほんのちょっと動かしてみる②(サーバ情報外だし)

(1)ではすべての情報を./config/deploy/manage.rbに記載した。 今回は./config/servers.rbにサーバ情報を記載。 ./config/deploy/manage.rb実行時に./config/servers.rbをロードするようにする。 また、capistranoは並列処理が出来るので2サーバを定義するよ…

capistranoをほんのちょっと動かしてみる①(mkdir実行)

capistrano2.x とcapistrano3.xではかなりコマンドや動きが違うように見えるのでちょっと動かしてみる。 やることはSSH接続で対象サーバにパスワードにてログインし、ディレクトリを作成するだけ。 ワークディレクトリを作成 mkdir cap-pro 雛形を作成 $ cd …

CentOSにcapistrano({か,きゃ}ぴすとら~の)をインストール

開発環境 OS:CentOS 6.5 ruby:2.2.2 ざっくりとした説明 capistranoをインストールしたサーバからクライアント(構築対象のサーバ)に対しSSH接続をして設定を行う。 そのため、クライアントの設定はSSH接続の許可のみ。 capistranoのインストールと設定 イン…

Chef-soloにてrpmをビルド

開発環境 OS:CentOS6.6(64bit) ruby:2.2.2p95 rubygems:2.4.5 chef:12.4.0 cookbook:rpm 事前作業 ソースRPMとパッチを取得のレシピを作成 getpatch.rb src_url = "http://vault.centos.org/6.5/os/Source/SPackages/openssl-1.0.1e-15.el6.src.rpm" src_fil…

RPMパッケージにパッチを当てる方法

ソースRPMを取得し、バッチを追加後、RPMパッケージを作成する方法について デモを交えて説明していきます。 ソースRPMの取得 まず、元となるソースRPMを取得します。 今回は、opensslで実施したいと思います。 $ cd $ wget http://vault.centos.org/6.6/os/…

WordPress での Markdown の書き方

WordPress でも Markdown の書き方について こちらの公式サイトを参考にまとめました。 https://en.support.wordpress.com/markdown-quick-reference/ 強調 *斜体1*_斜体2_ 斜体1 斜体2 **太字1**__太字2__ 太字1 太字2 リンク [リンク](http://exam…

Mondo Rescue でバックアップ

サーバのフルバックアップを取っておこうと思い、Mondo Rescue を導入してみましたので手順を残します。 Mondo Rescue とは Mondo Rescue は、GPLライセンスのディザスタリカバリするためのソフトウェアです。 Linux (i386, x86_64, ia64)、およびFreeBSD (i…

AmazonLinuxでChefSoloを試す(4) リモートサーバへのRecipeの適用

第4回目です。 今回は、knife soloを使用したリモートサーバへのRecipeの適用を実施します。 作業対象ホスト 第3回に引き続き、2台のEC2インスタンスを使用します。 (1)knife(AmazonLinux) ※第1回/第2回にて使用のインスタンス。以下、knifeと表記します (2)…

AmazonLinuxでChefSoloを試す(3) リモートサーバへのChefのインストール

3回目になります。 今回は、Chef-Soloを便利にするツール knife-soloを使って リモートーサーバに対しRecipeを実行してみたいと思います。 作業対象ホスト 今回は2台のEC2インスタンスを使用します。 ホスト名は以下とします。 (1)knife(AmazonLinux) ※第1回…

AmazonLinuxでChefSoloを試す(2) httpdのインストール

前回から引き続きやっていきます。 今回は、httpdをインストールするcookbookを作ってみましょう。 まずは前回と同様にknifeコマンドにてCookbookを作りましょう。 $ sudo knife cookbook create install_httpd -o /var/chef/cookbooks 次にhttpdインストー…

AmazonLinuxでChefSoloを試す(1)

今回は、AmazonLinuxにChefSoloを導入する手順を紹介します。 入門編なのでまずはHello World!するところまでになります。 インストールと初期設定 ChefSoloのインストールに際しては、 chef開発元のopscode社のホームページに導入用スクリプトが公開されて…

chef-soloのレシピ例

ファイルのダウンロード(command) execute "down" do command <<-EOC wget "https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.2_x86_64.rpm" EOC end ファイルのダウンロード(remote_file) remote_file "/root/chef-repo/cookbooks/download/files/vag…

chef-soloにてyum実行

開発環境 OS:CentOS6.6(64bit) ruby:2.2.2p95 rubygems:2.4.5 knife-soloをインストール $ gem install knife-solo リポジトリ(キッチン)をカレントディレクトリにchef-repoの名前で作成 $ knife solo init chef-repo Creating kitchen... Creating knife.rb…

CentOSにchef-soloをインストール

開発環境 OS:CentOS6.6(64bit) ruby:2.2.2p95 rubygems:2.4.5 rubyのソースをコンパイルしてインストールするためgccをインストール $ yum -y install gcc rubyのソースコードをダウンロード。 ※バージョンはgemが動作する1.9以上であれば問題なしDownload R…

GlusterFS スプリットブレインの解消方法

スプリットブレインとは 例えば、レプリケーション構成のボリュームにおいて次のような操作をすると、レプリカされたファイルの内容にノード間で矛盾が生じて、GlusterFSは、どちらの内容が正しいかを判断することができなくなります。 ※ここでは、「ボリュ…

Apache Bench のエラー別対処法

apr_poll: The timeout specified has expired 「file size」の上限値を増やす $ sudo ulimit 102400 socket: Too many open files (24) 「open files」の上限値を増やす $ sudo ulimit -n 102400 apr_socket_recv: Connection reset by peer (104) apr_sock…

Apache Bench のインストール手順

インストール abのインストールにはApcheをインストールする必要があります。 $ sudo yum -y install httpd 負荷テストのやり方 負荷テストを実行するコマンドについて説明します。 ターミナルからコマンドを実行する事でサーバーに負荷をかけていきます。 …

Floodlight にOpen vSwitch を接続する

Floodlight は、Apache License の SDN コントローラです。 今回は、Floodlight を使用して Open vSwitch に接続する手順を簡単に紹介します。 使用環境 今回、Controller および vSwitch は、同一ホスト上で実行することとします。 Host: CentOS 6.3 OpenFl…

CentOS 6 で IRC サーバ (SSL対応) を構築

コミュニケーション用に IRC サーバを立ててみましたので、手順を残します。 IRC サーバーとして、今回は ngircd パッケージを使用しました。 使用環境 CentOS release 6.6 (64bit) 手順 ファイアウォール設定 iptables に IRC で使用するポートを追記します…

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

OpenVZ は、Linux 用のコンテナ型仮想化のオープンソースです。 RHEL Kernel ベースの Kernal の上で OS 単位で VE(Virtual Environment) と言われるコンテナ型の環境が提供されます。 基本は、RHEL 系の OS が推奨されているようですが、Debian 系もインス…

Git チュートリアル

GitHub の準備 ■ GitHub にアクセスし、ログインします。 (ユーザーをお持ちでない方は、ユーザー登録してください。) github.com ■ 右上の「+」をクリックし、「New repository」をクリックし、テスト用のリポジトリ作成画面へ遷移します。 ■ 以下のとお…

よく使うgitコマンド

git init [<ディレクトリ名>] リポジトリの初期化を行います。 対象のディレクトリを git の対象とする場合に実行します。 コマンドを実行すると対象のディレクトリ配下に .git ディレクトリが作成され、その中に各種設定ファイルが設置されます。 . └── .gi…