Laravel5でForm & Htmlコンポーネントを有効にする

Laravel5では、ビューで利用するForm、Htmlファサードを含むコンポーネントはコアから外されLaravel Collectiveの方にForm & Htmlとして外に出されています

AngularJSやReactと組み合わせて利用することを想定すると、不要なことも増えましたが、昔ながらのページ遷移が必要なときは、コンポーネントを追加してあげる必要があります

利用するための手順は以下のとおりです

Composerでコンポーネントを追加

// composer.json
    "require": {
        "laravel/framework": "5.0.*",
        "laravelcollective/html": "~5.0"
    },
$ composer update

“Laravel5でForm & Htmlコンポーネントを有効にする” の続きを読む

Fluentd、ElasticSearch、Kibana4によるログ分析環境の構築

現在、ログを収集し分析するシステムを構築しようとした場合に、オープンソースの組み合わせですぐに始められる構成としてはじめに思いつくのは Fluentd + ElasticSearch + Kibana の構成です。
Web上の記事や書籍も充実していますし、日本にもユーザーが多そうなので割と安心して利用できる環境でもあると思われます。

この記事では、Fluendによりログ収集しElasticSearchに保存し、それをKibana 4で分析する環境の構築手順について調べた内容をまとめてみました。

今回試したのは以下のように、Apacheのアクセスログをtailして、Fluentdで収集しElasticSearchに保存、Kibanaでログの検索、分析を行うシンプルなシステム構成です

fluentd-elasticsearch-kibana-system

Apacheのログを収集するサーバーおよびElasticSearch、KibanaをインストールするサーバーともにOSはUbuntu 14.04 (Trusty)を利用します。

ここでは、構築を解説して、Kibana 4そのものの使い方についてはまた別途まとめたいと思います。
“Fluentd、ElasticSearch、Kibana4によるログ分析環境の構築” の続きを読む

Zabbix 2.4 JavaゲートウェイでJMX監視 インストール手順

Zabbix 2.4でJVMの監視を設定してみたメモです

JMXの監視をZabbixに統合するにはZabbix Java gatewayを利用します

公式ドキュメントでは、インストール手順について「5 Java gateway」に、JMXによるJavaアプリケーションの監視設定について「14 JMX monitoring」に記述されています

Java gatewayは2.0から導入された機能で、JMXをネイティブに監視することが可能です。
監視対象のJavaのアプリケーションとしてTomcatを用意してJMXを設定し、ZabbixのHostsに追加するところまでまとめてみます

以下のように、Zabbixサーバーおよびフロントエンドがインストール済みの環境にJavaゲートウェイを追加するように構成してみます
Zabbixサーバー、フロントエンドとエージェントのインストールと設定方法については前回の記事「Zabbix 2.4 サーバー/エージェントをUbuntu 14.04にインストール」を参照ください
zabbix_java_gateway
“Zabbix 2.4 JavaゲートウェイでJMX監視 インストール手順” の続きを読む

Zabbix 2.4 サーバー/エージェントをUbuntu 14.04にインストール

Zabbix 2.4 サーバーをUbuntu 14.04にインストールし、Zabbixエージェントを利用したリソース監視設定までを確認してみた手順をメモしてみました。

3 Installation from packages [Zabbix Documentation 2.4]」に沿ってパッケージインストールしてみます。(2015.8.14現在、2.4の公式ドキュメントはまだ翻訳中の様で英語のみです)

今回、試したシステム構成は以下の様な構成で、シンプルにZabbixサーバーを構築し、監視対象のホストを1つ追加します。

zabbix_system_configuration
“Zabbix 2.4 サーバー/エージェントをUbuntu 14.04にインストール” の続きを読む

Apache 2.4系をUbuntu 14.04にソースコードからインストールする手順

Apacheをソースからインストールする手順を改めて確認してみたのでまとめてみました。

ところで、改めてソースコードからApacheをインストールするメリットを考えてみると

  • パッケージインストールすると使わないstableモジュールも含まれてしまうので、不要なモジュールを削除して軽くしたい
  • パッケージシステム(UbuntuなのでAPT)でインストールできないバージョン(特に最新版)をインストールしたい

の2点くらいが思いつきます。

前者については、そこまでシビアな環境の場合、現在ならNginx使うなどの代替手段や他の構成を考えたほうが良いかもしれません。しかし慣れているApacheで軽快に動作する環境を構築したいという場合もまだ多そうではあります。

後者については、現在(2015/8/9)のUbuntu 14.04だと、APTのデフォルトリポジトリからインストールすると2.4.7がインストールされます。
[bash gutter=”false”]
$ apachectl -v
Server version: Apache/2.4.7 (Ubuntu)
Server built: Jul 24 2015 17:25:11
[/bash]
確かに安定版最新の2.4.16よりはだいぶ古いです。
PPAを探せばさらに新しいバージョンもAPTでインストールできそうですが、公式の安定版に追随するならソースからビルド・インストールするの方が運用は楽な気がします。

では、以下インストール手順のまとめです。
“Apache 2.4系をUbuntu 14.04にソースコードからインストールする手順” の続きを読む

Office 365のExchangeをリモートPower Shellで管理する

Office 365のExchange OnlineはExchange Server 2013ベースのため、Exchangeの管理はWebの管理者センターおよびExchange管理シェルが利用できます

Exchange管理シェルをOffice 365のExchange Onlineに対して実行する手順について、リモート PowerShell による Exchange への接続のドキュメントの内容を確認したのでメモしておきます

動作はWindows 8.1で試しています

Windows PowerShellは管理者としてを実行します

事前準備

Windows PowerShellで署名付きスクリプトを許可するように実行ポリシーを変更する必要があります
以下のコマンドを実行します
[text gutter=”false”]
PS C:\WINDOWS\system32> Set-ExecutionPolicy RemoteSigned

実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policie
s のヘルプ トピック (http://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y
[/text]
実行ポリシーについての参考記事: WindowsでPowerShellスクリプトの実行セキュリティポリシーを変更する
“Office 365のExchangeをリモートPower Shellで管理する” の続きを読む

PPAパッケージを利用してRuby 2.2をUbuntu 14.04にインストールする

UbuntuにRubyの新しいバージョンをインストールする場合は、ソースからインストールする他にPPAパッケージが利用できます。
Ruby 2.2.0 packages for Ubuntu
PPAはPersonal Package Archiveの名前の通り非公式の有志が提供するパッケージ集です。

手動でインストール

apt-add-repositoryコマンドを実行するためにsoftware-properties-commonをインストール
[bash gutter=”false”]
$ sudo apt-get install software-properties-common
[/bash]
インストールとバージョンの確認は以下の通り
[bash gutter=”false”]
$ sudo apt-add-repository ppa:brightbox/ruby-ng
$ sudo apt-get update
$ sudo apt-get install ruby2.2

$ ruby2.2 -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux-gnu]
[/bash]

Chef Cookbook

Chef SupermarketにはrubyのCookbookがいくつか公開されている(RubyのCookbookを検索)が、PPAパッケージのインストールはruby-ngを利用する
“PPAパッケージを利用してRuby 2.2をUbuntu 14.04にインストールする” の続きを読む

MongoDBをChefでインストール

MongoDBをChef Supermarketに公開されているCookbookを利用してKnife soloでインストールする手順のまとめです

公開されているCookbookは、mongodbとmongodb3などがり、2.x系はmongodb、3.x系はmongodb3でインストールできます

以下、手順
確認は、Ubuntu 14.04で行っています

対象サーバーへのアクセス設定

対象サーバーのホスト名を登録
[text title=”/etc/hosts”]
54.33.11.22 mongodb
[/text]
ssh ubuntu@mongodbでsshできるように、公開キーを対象サーバーに登録しておく
[bash gutter=”false”]
$ cat ~/.ssh/id_rsa.pub | ssh ubuntu@mongodb -i ~/.ssh/server.pem ‘cat >> ~/.ssh/authorized_keys’
[/bash]
さらに、Chef実行時にユーザー名も省略できるように.ssh/configにUserを指定しておくと便利
[text title=”.ssh/config”]
Host mongoldb
User ubuntu
[/text]
“MongoDBをChefでインストール” の続きを読む

FuelPHPアプリをCapistrano3でデプロイ – Capistrano環境構築編

前回の記事「FuelPHPアプリをCapistrano3でデプロイ – Chef環境構築編」で準備した環境に、Capistrano3でFuelPHPをデプロイする手順をまとめる

FuelPHPは、Coreをsubmoduleのままにしている場合は、git submoduleに対応させる必要がある
ComposerによるPHPパッケージの追加はCapistrano::Composerプラグインを利用する

公式のREADMEに従ってプロジェクトを作した後に、FuelPHP固有の設定を追加していく

ssh-keyをbitbucketに登録

PCからの直接デプロイする場合は、すでにリポジトリにローカルの公開キーを登録済みと思われるが、登録していない場合は、
ssh-keyを生成してbitbucketに登録」あたりを参考に、公開キーをBitbucketに登録しておく

Capistranoのインストール

まずは、プロジェクト用ディレクトリを作成
[bash gutter=”false”]
$ mkdir fuelphp-cap
[/bash]

Gemfileを作成
[ruby title=”Gemfile”]
source ‘https://rubygems.org’

gem ‘capistrano’, ‘~> 3.4.0’
[/ruby]

bundle installを実行
PCからの実行を考えるとローカルインストールしておきたいので--pathをつけている
[bash gutter=”false”]
$ bundle install –path vendor/bundle
[/bash]
“FuelPHPアプリをCapistrano3でデプロイ – Capistrano環境構築編” の続きを読む

FuelPHPアプリをCapistrano3でデプロイ – Chef環境構築編

Ubuntu 14.04上にFuelPHPアプリをCapistrano3でデプロイする環境をChefでセットアップした手順のまとめ

MySQLは、DB専用サーバーを立てることを前提に、WebアプリケーションサーバーとしてApache + mod_phpな環境をChefで構築していく
また、Capistranoに合わせたApacheの設定もChefで記述する

Chefの実行およびCapistoranoによるデプロイは、踏み台を使わずPC Macからすべて実行可能な環境を作る

Chef開発環境セットアップ

Chef DevKITのインストール

Chefは、現在開発キットが提供されておりRuby gemでのインストールは不要になっている
Chef Development KITのサイトに行くとプラットフォームごとのインストーラーを入手できる
https://downloads.chef.io/chef-dk/
開発キットには、chefおよび以下の周辺ツールがオールインワンで含まれている

  • Berkshelf 3.0
  • Test Kitchen
  • Foodcritic

Knife soloのインストール

PCからChefを実行するためにはKnife soloが必要になる
ChefDKのgemに追加する
[bash gutter=”false”]
$ /opt/chefdk/embedded/bin/gem install knife-solo
[/bash]
“FuelPHPアプリをCapistrano3でデプロイ – Chef環境構築編” の続きを読む