Office 365 カスタムドメインを追加しRoute 53に各種レコードを設定する

Office 365にカスタムドメインを追加して、AWS Route 53にDNS設定を追加する手順をまとめてみました

Office 365へのドメインの追加については、公式ドキュメント「Office 365 にユーザーとドメインを追加する」に記載されています

メモは、ドメインを取得後、Route 53のHosted Zoneを作成し、ドメインの移管は済んでいるところからになります
お名前.comで取得したドメインの移管については、前回の記事「お名前.comで取得したドメインをRoute 53に移管」を参考にしてください

ドメイン周りの設定に若干苦労したので、そこを中心に説明しています
説明で追加するドメインは、適当に取得した”trial365.xyz”というドメインを使っています

1. [Office 365 管理者センター]を開き、左のメニューより[ドメイン]を開く

2. [ドメインの追加]をクリックすると[手順1 ドメインの確認]が始まる

3. [ドメインと DNS について理解しておくべきこと]で[始めましょう]をクリック

4. [どのドメインを使用しますか?] テキストボックスにドメインを入力して [次へ]をクリック

5. [独自の trial365.xyz を表示するためにこの TXT レコードを追加します] のページでは、TXTレコードをDNSサーバーに追加することを要求されます
Office365_AddCustomDomain_ConfirmOwnDomainTXTRecord
“Office 365 カスタムドメインを追加しRoute 53に各種レコードを設定する” の続きを読む

お名前.comで取得したドメインをRoute 53に移管

AWSのDNSサービス Route 53を使ってみたので、お名前.comで取得したドメインをRoute 53に移管する手順をメモしてみました

Route 53にてHosted Zoneを作成
Route53_CreateHostedZone

Type = NSがネームサーバー名になります
Route53_CreatedHostedZone

お名前.comにログインし、[ドメイン設定]タブを開き、メニューから[ネームサーバーの変更]を開きます
[他のネームサーバーを使用]タブを開きます(以下の画面)。
OnamaeDotCom_ChangeNameServers

Type = NSのValueに表示されているネームサーバー名を入力します
OnamaeDotCom_SetNameServers

確認して[設定する]をクリック
OnamaeDotCom_ConfirmChangeNameServers

移管の設定が開始され、少し待つと完了します

詳細な説明: お名前.comからAmazon Route 53へドメインを移管する

WebサイトをiOS Safariに最適化してアプリっぽく見せるには

レシポンシブ対応したWebサイトをさらにアプリっぽくiOS Safariに最適化させるためのTips集
以下の記事とAppleのドキュメントのまとめです
5 Tips for Turning Your Website Into an iOS Web… – Chief Creative Mechanic
Optimizing Mobile Web Apps for iOS | Treehouse Blog
Developing Web Content for Safari

幅を端末に合わせる

Viewport metaタグを以下のように指定
[html gutter=”false”]
<meta name="viewport" content="width=device-width, initial-scale=1">
[/html]

さらに、ユーザーにリサイズさせないようにするには、Viewportにuser-scalable=noを追加する
[html]
<meta name="viewport" content="width=device-width, user-scalable=no">
[/html]

参照: Configuring the Viewport
“WebサイトをiOS Safariに最適化してアプリっぽく見せるには” の続きを読む

Laravel5 入門 インストールからMVCの基本機能をさっと眺める

Laravel5 を試したメモ

他のフレームワークを利用している人が、Webアプリを作成するにあたって抑えておくべきポイントだけピックアップしてみた

インストール

ローカル開発環境の準備

Laravel5は、PHPやNginx、MySQLなど必要なパッケージをインストールずみのVagrantローカル開発環境 Homestead 提供している

Homesteadのセットアップ手順については、Laravel 5 ローカル開発環境 homestead 構築手順にまとめている
“Laravel5 入門 インストールからMVCの基本機能をさっと眺める” の続きを読む

Vagrant DigitalOcean プラグインの導入

インスタンス(Droplet)の起動が速くてしかも安価なDigitalOceanを利用したら、Vagrant環境を利用した開発の効率を上げられそうなので試してみた

VagrantのDigitalOceanプロバイダの情報はGithubのreadme vagrant-digitaloceanを参照した

vagrant-digitaloceanのインストール
[bash gutter=”false”]
$ vagrant plugin install vagrant-digitalocean
[/bash]

Macの場合はOpenSSLが読み込む証明書のパスをexportしてあげる必要があるらしい
パスを確認
[bash gutter=”false”]
$ ruby -ropenssl -e "p OpenSSL::X509::DEFAULT_CERT_FILE"
"/System/Library/OpenSSL/cert.pem"
[/bash]
“Vagrant DigitalOcean プラグインの導入” の続きを読む

Yii 2.0 入門 – インストールからコード生成ツールGiiの使い方、ルーティング設定まで

PHPのMVCフレームワークの中では、Githubリポジトリのスターの数がLaravel, CodeIgniter, Symfonyに次いでくらい多いのに、国内では書籍でも紹介されることがないマイナーなフレームワークYii。
最近2.0がリリースされてモダンになったらしいので、雰囲気を掴むためにプロジェクトのセットアップからScaffoldingツール GiiによるCRUDコードの生成を試してみました。

Yiiの特徴としては、まずOracleにやMongoDBなど他のフレームワークでは対応していないDBまでサポートしていることがあります。
SQLServerは最近どのフレームワークでも対応してきましたが、Oracleでちゃんと動くのはYiiとSymfonyくらいではないでしょうか。

また、これからフレームワークを選定するならLaravelとの比較になると思いますが、LaravelはフロントエンドにAngularJSやReactJSなどのSPAフレームワークと組み合わせて使うことを考慮しているのに対して、どちらかというとYiiは昔ながらのMVCフレームワークでシンプルです。
また、Scaffoldingツール Giiが便利で、ささっとDBのフロントアプリを立ち上げたいとかに向いてそうです。

インストール

Vagrantを利用して環境を構築してみます。
Ubuntu 14.04のVagrant boxにLAMPをインストールし、Yii 2.0のプロジェクトを生成、動作を確認するところまでまず解説していきます。

Vagrant環境のセットアップ

プロジェクト用ディレクトリyii2-helloを作成して、Ubuntu 14.04のVagrant環境を用意
[bash gutter=”false”]
$ mkdir yii2-hello && cd yii2-hello
$ vagrant init ubuntu/trusty64
[/bash]
“Yii 2.0 入門 – インストールからコード生成ツールGiiの使い方、ルーティング設定まで” の続きを読む

Laravel homesteadを利用したLaravel 5 ローカル開発環境の構築

Laravelは、フロントエンドのビルドツールLaravel ElixrがGulpタスクであるためPHPの他にNode環境が必要になったりと、ひととおり開発環境を揃えるのが若干面倒だったりします。
そこで、Laravelには、ローカル開発用のVagrant box Laravel Homestead が用意されています。

この記事では、Homesteadを利用したLaravel5の開発環境の構築手順を試してみたのでまとめてみました。

前提条件としてVirtualboxとVagrantはインストール済みとして解説します。
boxはVirtualboxとVMWare プロバイダ用がありますが、ここではVirtualboxを利用します。

HomesteadのVagrant boxを追加

vagrant boxコマンドでhomestead boxを追加します。
[bash gutter=”false”]
$ vagrant box add laravel/homestead
==> box: Loading metadata for box ‘laravel/homestead’
box: URL: https://atlas.hashicorp.com/laravel/homestead
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) virtualbox
2) vmware_desktop

Enter your choice: 1
==> box: Adding box ‘laravel/homestead’ (v0.4.1) for provider: virtualbox
box: Downloading: https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.4.1/providers/virtualbox.box
==> box: Successfully added box ‘laravel/homestead’ (v0.4.1) for ‘virtualbox’!
[/bash]
virtualboxを選択します。

Homesteadのインストール

ユーザのホームディレクトリにHomesteadをインストールします。
Homesteadには、Vagrantfileと初期設定のためのシェルのみが含まれます。

以下のコマンドを実行してHomesteadをセットアップします。
[bash gutter=”false”]
$ ~
$ git clone https://github.com/laravel/homestead.git Homestead
$ cd Homestead/
$ bash init.sh
Homestead initialized!
[/bash]
クローンして、init.shを実行すると設定を含む~/.homesteadディレクトリが作成されます。

“Laravel homesteadを利用したLaravel 5 ローカル開発環境の構築” の続きを読む

Amazon Linuxにjdk 1.8をインストール

Java SE Development Kit 8 Downloads
からrpmをダウンロードして対象サーバーにアップロード
[bash gutter=”false”]
$ scp -i xxxxx.pem Downloads/jdk-8u40-linux-i586.rpm ec2-user@hostname:/home/ec2-user
[/bash]

対象サーバーにsshログインしてrpmをインストール
[bash gutter=”false”]
$ sudo rpm -ivh jdk-8u40-linux-i586.rpm
準備しています… ################################# [100%]
更新中 / インストール中…
1:jdk1.8.0_40-2000:1.8.0_40-fcs ################################# [100%]
Unpacking JAR files…
rt.jar…
/var/tmp/rpm-tmp.6br3Js: /usr/java/jdk1.8.0_40/bin/unpack200: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません
Error: unpack could not create JAR file:

/usr/java/jdk1.8.0_40/jre/lib/rt.jar

Please refer to the Troubleshooting section of the Installation Instructions
on the download page.
jsse.jar…
/var/tmp/rpm-tmp.6br3Js: /usr/java/jdk1.8.0_40/bin/unpack200: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません
Error: unpack could not create JAR file:

/usr/java/jdk1.8.0_40/jre/lib/jsse.jar

Please refer to the Troubleshooting section of the Installation Instructions
on the download page.
charsets.jar…
/var/tmp/rpm-tmp.6br3Js: /usr/java/jdk1.8.0_40/bin/unpack200: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません
Error: unpack could not create JAR file:

/usr/java/jdk1.8.0_40/jre/lib/charsets.jar

Please refer to the Troubleshooting section of the Installation Instructions
on the download page.
tools.jar…
/var/tmp/rpm-tmp.6br3Js: /usr/java/jdk1.8.0_40/bin/unpack200: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません
Error: unpack could not create JAR file:

/usr/java/jdk1.8.0_40/lib/tools.jar

Please refer to the Troubleshooting section of the Installation Instructions
on the download page.
localedata.jar…
/var/tmp/rpm-tmp.6br3Js: /usr/java/jdk1.8.0_40/bin/unpack200: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません
Error: unpack could not create JAR file:

/usr/java/jdk1.8.0_40/jre/lib/ext/localedata.jar

Please refer to the Troubleshooting section of the Installation Instructions
on the download page.
jfxrt.jar…
/var/tmp/rpm-tmp.6br3Js: /usr/java/jdk1.8.0_40/bin/unpack200: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません
Error: unpack could not create JAR file:

/usr/java/jdk1.8.0_40/jre/lib/ext/jfxrt.jar

Please refer to the Troubleshooting section of the Installation Instructions
on the download page.
plugin.jar…
/var/tmp/rpm-tmp.6br3Js: /usr/java/jdk1.8.0_40/bin/unpack200: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません
Error: unpack could not create JAR file:

/usr/java/jdk1.8.0_40/jre/lib/plugin.jar

Please refer to the Troubleshooting section of the Installation Instructions
on the download page.
javaws.jar…
/var/tmp/rpm-tmp.6br3Js: /usr/java/jdk1.8.0_40/bin/unpack200: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません
Error: unpack could not create JAR file:

/usr/java/jdk1.8.0_40/jre/lib/javaws.jar

Please refer to the Troubleshooting section of the Installation Instructions
on the download page.
deploy.jar…
/var/tmp/rpm-tmp.6br3Js: /usr/java/jdk1.8.0_40/bin/unpack200: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません
Error: unpack could not create JAR file:

/usr/java/jdk1.8.0_40/jre/lib/deploy.jar

Please refer to the Troubleshooting section of the Installation Instructions
on the download page.
[/bash]
エラー発生

対処方法: GCE上のCentOSインスタンスにOracleのjdkをインストールするまで。

[bash gutter=”false”]
$ sudo yum install ld-linux.so.2 libgcc_s.so.1
[/bash]

インストール再実行、一旦rpmパッケージを削除する必要あり
[bash gutter=”false”]
$ sudo rpm -e jdk1.8.0_40
$ sudo rpm -ivh jdk-8u40-linux-i586.rpm
準備しています… ################################# [100%]
更新中 / インストール中…
1:jdk1.8.0_40-2000:1.8.0_40-fcs ################################# [100%]
Unpacking JAR files…
rt.jar…
jsse.jar…
charsets.jar…
tools.jar…
localedata.jar…
jfxrt.jar…
plugin.jar…
javaws.jar…
deploy.jar…
[/bash]

インストールを確認
[bash gutter=”false”]
$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) Client VM (build 25.45-b02, mixed mode, sharing)
[/bash]

Oracle Instant Client をWindows ODBC データソースとして登録手順メモ

Oracle Instant Clientを利用してODBCデータソースを定義する手順を調べたのでまとめてみました。

セットアップ手順

1. Oracle Instant Clientを入手

OracleのダウンロードサイトよりOracle Instant Clientをダウンロードします。
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

今回は32bit版を利用するので、Instant Client Downloads for Microsoft Windows (32-bit)にアクセスして以下のファイルを落とします。

instantclient-basic-nt-12.1.0.2.0.zip
instantclient-odbc-nt-12.1.0.2.0.zip

2. ファイルを展開

ダウンロードした2つのファイルを同じディレクトリに展開します。
C:¥直下に展開したすると以下のようになります。
expand_instantclient_archives

3. パスを通す

[システム] > [システムの詳細]を選択して[詳細設定]タブの[環境変数]を開いて、システム環境変数”Path”に展開したディレクトリ”FileMaker調査”を追加します。

4. ODBCドライバのインストール

管理者としてコマンドプロンプトを開き以下のコマンドを実行します。

c:> odbc_install.exe JA
Oracle ODBC Driver is installed successfully.

5. instantclient-odbc-windows.x64-11.2.0.4.0.zipを再度配置

後の手順のODBC データソースの追加で、[Oracle]を選択すると以下のエラーが発生します。
DriverTitle Error Connot Load Resource File sqresus.dll

odbc_installを実行すると、sqresus.dllが消されてしまうので、再度instantclient-odbc-nt-12.1.0.2.0.zipを解凍しなおしておく必要があります。

6. Microsoft Visual C++ 2005 SP1 再頒布可能パッケージをインストール

ODBC データソースの追加で以下のエラーが発生する場合
Microsoft ODBC アドミニストレーター ドライバーの ConfigDSN、ConfigDriver、または Config Translator が失敗しました。検出されたエラー:システム エラーコード 14001: このアプリケーションのサイド バイ サイド構成が正しくないため、アプリケーションを開始できませんでした。詳細については、アプリケーションのイベント ログを参照するか、コマンドライン ツール sxstrace.exe を使用してください。(C:\○○○\SQORAS32.DLL)のために、Oracle in instantclient_11_2 ODBC ドライバーのセットアップ プログラムを読み込むことができません。

Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86) をダウンロードしてインストールします。
http://www.microsoft.com/ja-jp/download/details.aspx?id=5638

6. 接続先の設定

以下のファイルをC:\instantclient_11_2に作成

// tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mydb.cl5xoo5zhuk1.ap-northeast-1.rds.amazonaws.com)(PORT = 1521))
(CONNECT_DATA = (SERVICE_NAME = ORCL))
)

環境変数 “TNS_ADMIN” に”C:\instantclient_11_2\tnsnames.ora”をセット
set_tns_admin_to_environments

http://apis.jpn.ph/fswiki/wiki.cgi?page=Oracle%2FInstantClient

7. ODBCデータソースの設定を追加

[コントロールパネル] > [システムとセキュリティ] > [管理ツール]を開き[ODBCデータソース(32ビット)]を選択
[システムDNS]タブを開き[追加]をクリックします
OCBD データソース アドミニストレーター (32ビット)

[データソースの新規作成]で[Oracle in instantclient_12_1]を選択し[完了]をクリックします
データソースの新規作成

[Oracle ODBC Driver Configuration]が開くので以下のように値をセットします
Oracle ODBC Driver Configuration
[TNS Service Name]はtnsnames.oraファイルに設定した”ORCL”が選択します。

接続テストは[Test Connection]をクリックします
OracleODBCDriverConnect
接続情報を入力して[OK]をクリックして以下が表示されれば接続成功です。
TestingConnection

最後に[Oracle ODBC Driver Configuration]の画面で[OK]をクリックして登録完了です。

データソースを利用してみる

ExcelにOracleのデータを読み込んでみます。
[データ]タブ[その他のデータソース]から[Microsoft Query]を選択すると以下のように追加したデータソースを選択できようになっていることが確認できます。
MicrosoftQuerySelectDatasource

YEOMAN開発環境をVagrant Ubuntu 14.04にセットアップ

YOEMANの開発環境をVagrantのUbuntu 14.04環境にセットアップする手順をまとめてみました。
改めてUbuntuへNodeをクリーンにインストールしてみると、なかなかベストプラクティスっぽいものが見つからず悩ましかったです。Vagrant使うのにnvm使うのも微妙な感じもしますしどうしたものか。

開発環境のセットアップ

新しい環境Ubuntu 14.04へのセットアップしてみます。

Vagrantで新しいUbuntuを用意
ポート9000をホストにフォワードするように設定を追加しています。
[bash gutter=”false”]
$ vagrant init ubuntu/trusty64
$ vim Vagrantfile
config.vm.network "forwarded_port", guest: 9000, host: 9000
$ vagrant up
$ vagrant ssh
[/bash]

Ubuntuへのパッケージインストールについての公式ドキュメント Installing Node.js via package manager · joyent/node Wiki
[bash gutter=”false”]
$ curl -sL https://deb.nodesource.com/setup | sudo bash –
$ sudo apt-get install nodejs
$ node -v
v0.10.33
$ npm -v
1.4.28
[/bash]
注意: 普通に”apt-get update & apt-get install nodejs”とやるとnodeにパスが通らないので、公式のsetupシェルを利用する方が簡単です。

“YEOMAN開発環境をVagrant Ubuntu 14.04にセットアップ” の続きを読む