Office 365 Small Business Premium から Office 365 Business にプランを変更する

かつて中小企業向けプランとして存在していた Office 365 Small Business Premium は Office 365 のプラン再編によって消えてしまい。有効期限が切れた後に同じプランを継続して利用することはできなくなっています。
通常は Office 365 Business Premium へ移行して利用を続けるという形が王道のようですが、1ランク下の Office 365 Business でも使いたい機能を網羅しているので、こちらに移行します。

Office 365 Small Business Premium から Office 365 Business Premium への移行はマイクロソフト側が自動移行を用意しており、Office 365 Business Premium を契約する際にアカウントの引き継ぎなどを利用することが可能です。
しかし、Office 365 Business への移行は手動でしか行えず、手動で切り替えるためのページが用意されています。

このページを見つけ喜んで移行作業を行おうとしたのですが、記事の中の「サービスの購入」の段階で Office 365 Business が表示されずに途方に暮れました。

仕方ないので次ぎの手順を踏んで Office 365 Business への移行をおこなしました。
なお、この手順を踏む前にあらかじめサポートに連絡して Office 365 Small Business Premium から Office 365 Business にプランを変更したい旨を連絡しておいてください。たぶんちょっとオトクになります。
なにがどうオトクになるかは書きませんし、聞かれても答えません。
画面のスクショも載せません、どうせすぐに画面変わると思うので。

  • 一時的に Business Premium を契約してアカウント情報を引き継ぐ
  • 同じ組織で新しく Business を契約する
  • ユーザーへのライセンス割り当てを Business Premium から Business に変更する
  • 一時的に利用した Business Premium のサブスクリプションをキャンセルする

Office 365 Business Premium への移行が完了すると「サービスを購入する」画面に Office 365 Business が出てくるのようになるのでこれを利用します。

Office アプリケーションをインストール済みのパソコンでは Office アプリケーションの再インストールが必要になるようです。
公式には24時間以内に再インストールする必要があるそうですが、24時間以内にアクセスできないパソコンが存在する場合どうなるんでしょうね…。

ところで、勝手にプラン再編してこっちのプランには移行できるけど、こっちはダメだよってのは面倒すぎませんかね。
機能増やして画面ガンガン変えるのはしかたないとして、公式ドキュメントくらいは新しい画面に追従してくれませんかね。
Office 365 いいよって勧めたくても面倒すぎて勧められませんよこんなのこんなもの。

Validation Policy for HOT tasks #osmjp

HOT で実施されているプロジェクトについて、ステータスが「完了」となったタスクの内容を確認する Validation 作業を行っています。

確認を実施する上で自分が見ているものを残すことで、自分の確認作業にブレが生じない様にすることを目的としてメモを残しておきます。
前提として、プロジェクトは建物のトレースを要求しているので、建物以外の地物については確認作業の対象外としています。

建物の過不足

トレースすることが許されている次の画像を切り替えて撮影されている建物がトレースされているかどうかを確認します。

  • Bing 航空写真
  • 電子国土基本図(オルソ画像)
  • 平成28年熊本地震 ○○地区 正射画像
  • 農研機構の公開する基盤地図情報2500の建物縁(エリアに存在する場合)

基本は最も判読しやすい画像をベースにしていますが、複数の画像を切り替えることで過不足を認識できるようにしています。
正射画像が最新(撮影日が4月15日または16日)なので最終的に正射画像に存在する建物のみがトレースされている状態が望ましい状態として確認をしています。
正射画像がない場合には Bing 航空写真等最も新しいと思われる画像で確認を行います。

また、Bing 航空写真では雲によって地表を確認できない場合もありますが、その場合には極力別の(参照して問題のない)ソースを確認して建物の有無を見ています。

建物が直角であること

複数の建物が曲がって合体していたり構造として斜めや円弧になっていない限り建物の角は直角であることがほとんどです。
特に Bing 航空写真や正射画像で明らかに角が直角である建物のトレースが直角でないケースでは指摘の対象としています。

トレースで直角を作る方法は Twitter でツイートされているものもあります。

ノードが道路と共有されていないか・道路をまたがっていないか

道路オブジェクトの近くにある建物をトレースしようとすると、建物のノードが道路に含まれてしまったり、道路を越えて建物を配置してしまうことがあります。
道路と一般的な家屋が一体、または家屋の上や下にと道路があるような構造はまずないと思いますので指摘の対象と考えています。

本当に家屋と道路が立体交差している場合には layer タグを使用する必要があるのでそのタグがなければやはり指摘することになります。

建物が重なっている

道路と同じく家屋同士が立体交差している構造はまずありませんし、立体交差しているなら layer タグの使用が必要ですし、立体交差している一棟の建物であれば一個の建物として描くかやはり適切なタグ付けが必要になります。

指摘をした場合のコメント等

指摘事項があった場合にはステータスを「差し戻し」に変更します。セルが紫色になっているものが「差し戻し」のものです。
「差し戻し」にする場合には極力コメントを添えているので、再トレースの参考にしていただければと思います。

  • 矩形建物が矩形に描かれていないものが残っています
  • 複数の建物がトレースされていません
  • 南東の建物の隣にトレースされていない建物があります
  • 北西の交差点付近にトレースされていない建物が3棟ほどあります

というようなコメントをセットするようにしています。

ご意見ありましたらよろしくお願いします

自分も Validation 作業は初めてなので問題のある確認作業がありましたらご指摘いだければ幸いです。

震源が移動していることもあり範囲が広く、比例してマッピング対象が多いことからすぐに終わる作業にはなりませんのであせらずにやっていきましょう。

Zabbix を debian jessie にインストールするシェルスクリプトを作った

Zabbix 3.0をCentOS 7に最速インストールするシェルスクリプトを作ったというブログ記事を教えていただいたので、debian jessie に Zabbix サーバーをインストールするシェルスクリプトを書いてみました。

更新について

2017年3月30日に新しいパッケージを使うように変更しました。 ポイントリリースをインストールするスクリプトも追加しました。

実行した環境

リンク先との差異

MariaDB ではなく MySQL をセットアップ

debian jessie では MariaDB のインストールも可能ですが、MariaDB をインストールしていても zabbix-server-mysql のパッケージをインストールMySQL を入れようとしてくるので最初から MySQL にしました。

MySQL の my.cnf はデフォルトのまま使用

動作がおかしくなったら変更用の記述を増やそうかなというスタンスです。

シェルスクリプト

5行目が MySQL の root パスワード
7行目が MySQL の zabbix 用パスワード
という内容なので適宜変更してください。

スクリプトは sudo か root で実行しないとダメだと思います。

LTS をインストールするスクリプト
ポイントリリースをインストールするスクリプト

無事に実行できたら Web UI のセットを行えば OK だと思います。

躓いたところ

MariaDB 関係

MariaDBMySQL のパッケージをインストールする際に root のパスワードの設定用プロンプトやダイアログが出てくるのでその回避を探しました。
プロンプトで問い合わせがある場合は expaect を利用すれば root のパスワードをセットしてインストールを完了することもできます。 今回はダイアログが出てくる形だったので、apt-get の実行時に DEBIAN_FRONTEND=noninteractive を与えて問い合わせを表示させないようにしました。

ufw 関係

ufw を有効化すると「SSH のポートが閉じられるかもしらんけどええんか?(意訳)」という問い合わせが発生します。expect で回避する方法もありますが、そのためだけに依存するいろいろなパッケージが入ってくるのも気持ち悪かったので、ほかの手段を探したところ echo y の結果をパイプで渡してプロンプトの応答に使う方法を知ったのでその方法を使っています。
先述の MariDB(MySQL) の解決法が expect だけだったら expect で解決していたかもしれません。

ライセンスについて

どう扱ってもらってもかまわないので NYSL Ver 0.9982 でとしています。

debian に Tomcat の Geoserver をセットする

ようやく Tomcat で Geoserver を動かすことができたのでメモ。 本番環境では debian に直接設定する予定ですが、今回はテスト用にコンテナを用意しました。

インストール作業を行った debian は docker コンテナの debian 8.3 になります。 コンテナの 80 番ポートをホストの 8081 番へ、8080 番ポートを 8082 番へ接続するため次のようなコマンドでコンテナを起動します。

$ docker run -i -p 8082:8080 -p 8081:80 -t debian bash

ホストで他に動かしてるサービスがあるので 80 と 8080 が使えないとかってだけなんです。 80 もアクセスできるようにしてますが、特になくても大丈夫だと思います。

準備

コンテナに入ったら一般ユーザを用意します。

# apt-get update
# apt-get install sudo vim zip -y
# hash -r
# visudo
zoar    ALL=(ALL:ALL) ALL
# adduser zoar
Adding user `zoar' ...
Adding new group `zoar' (1000) ...
Adding new user `zoar' (1000) with group `zoar' ...
Creating home directory `/home/zoar' ...
Copying files from `/etc/skel' ...
# su zoar
$ cd ~

Java のインストール

Java のインストールは基本はこちらのブログです。 Launchpad.net の “WebUpd8” team にある Ubuntu 用のリポジトリをセットしてインストールです。
Technical details about this PPA をクリックするとリポジトリを利用するための設定例が出てくるのでその辺を利用します。

リポジトリを追加した時にリポジトリの公開鍵を信頼しておかないとファイルを取ってこれないので公開鍵をセットしておきます。Signing Key/ 以降の文字列を apt-key の --recv-keys に渡せば OK です。
Fingerprint 全部を渡してもイケるみたいですけど。

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXX

セットしたら apt のソースにリポジトリを追加して Java をインストールします。

$ sudo sh -c "echo 'deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main' > /etc/apt/sources.list.d/webupd8team-java.list"
$ sudo sh -c "echo 'deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main' >> /etc/apt/sources.list.d/webupd8team-java.list"
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer -y

ライセンスに承諾するか聞かれるので承諾すればインストールが最後まで進みます。

Do you accept the Oracle Binary Code license terms? y

java -version でバージョンが帰ってくれば OK 。

Tomcat のインストール

実行用のログインしないユーザ tomcat を作成しておきます。

$ sudo adduser --system --shell /bin/bash --gecos 'Tomcat Java Servlet and JSP engine' --group --disabled-password --home /home/tomcat tomcat

Tomcat を落としてきて展開します。今回はなんとなく Tomcat 8 です。

$ mkdir ~/tmp
$ cd ~/tmp/
$ wget http://www.us.apache.org/dist/tomcat/tomcat-8/v8.0.32/bin/apache-tomcat-8.0.32.tar.gz
$ tar xvf apache-tomcat-8.0.32.tar.gz

適当な場所に移動して Tomcat をコントロールできるユーザを設定します。

$ sudo mv ~/tmp/apache-tomcat-8.0.32 /usr/share/tomcat8
$ sudo ln -s /usr/share/tomcat8 /usr/share/tomcat
$ vi /usr/share/tomcat/conf/tomcat-users.xml

ユーザの設定がコメントアウトされているので、その後ろ部分あたりにユーザとロールをセットします。
Tomcat の管理画面でユーザ認証が必要な場合はここでセットしたユーザ名、パスワードを使います。

  <role rolename="tomcat"/>
  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/>
  <user username="tomcat" password="tomcat" roles="tomcat,manager-gui,admin-gui"/>

Tomcat 配下のファイルとディレクトリのオーナーをログインできないユーザとして追加しておいた tomcat に変更しておきます。

$ sudo chown -R tomcat:tomcat /usr/share/tomcat8

これで Tomcat を実行することができます。
tomcat ユーザで実行するので次のような感じのコマンドです。

$ sudo /bin/su - tomcat -c /usr/share/tomcat/bin/startup.sh

ブラウザから Docker ホストの 8082 にアクセスして Tomcat の画面が出てくれば OK です。

Geoserver を配置して利用可能にする

Geoserver のサイトにアクセスしてダウンロードのダイレクトリンクからダウンロードします。

$ wget http://downloads.sourceforge.net/project/geoserver/GeoServer/2.8.2/geoserver-2.8.2-war.zip
$ unzip geoserver-2.8.2-war.zip

war ファイルのパスを表示してコピーしておきます。

$ find `pwd` -name "geoserver.war"
/home/zoar/tmp/geoserver.war

ブラウザで表示してる Tomcat の画面に戻って Manager App をクリックして Tomcat Webアプリケーションマネージャにアクセスします。 ユーザ名とパスワードは両方とも tomcat-users.xml に記述した tomcat を使えばログインできます。

配備 にある サーバ上のWARファイル又はディレクトリの配備 を使って Geoserver を配備します。

f:id:k-side:20160315102954p:plain

コンテキストパス には /geoserverWARファイル又はディレクトリのURL には先ほど表示させた war ファイルのフルパスを入力して 配備 ボタンをクリックすれば OK。 Tomcat で war を展開するので若干時間がかかるかもしれませんが、しばらくすると アプリケーションの欄に /geoserver が表示されると思います。

表示された /geoserver をクリックして Geoserver の管理画面が表示されれば完了です。
後は Geoserver のデータディレクトリにファイルを配置して Geoerver の管理画面から読み込めば素敵な Web マップライフを送ることができます。
データディレクトリのパスは /usr/share/tomcat/webapps/geoserver/data/data/ になるんじゃないかな。

USB 3.0 のみのシステムまたは Skylake 世代のシステムに Windows 7 をインストールする

標記のシステムでは USB コントローラで使われるモードが、 Windows 7インストーラで使えるモードとマッチせずに、インストール中に USB デバイス(もちろんストレージを含む)にアクセスできなくなってインストールを完了できないそうです。

サードパーティのソフトウェアを使うなりして Windows 7 のインストールメディアにドライバを組み込む方法が紹介されていたりしますが、そういう操作を簡単に完了できるツールIntel が公開していたのでそっちを使います。

Windows 7 USB3.0 Creator Utility

使い方も難しくないですし、Intel 様が公開しているソフトウェアなのでたぶん大丈夫でしょう。

利用する前提として次の項目が挙がっています。

  • 内容を削除しても問題ない 4GB 以上の USB メモリがあること
  • 正規の Windows 7 インストール ISO イメージまたは DVD があること
  • 作業用 PC として、Windows 7 以降の OS で、 管理者権限にアクセスできるものがあること
  • Windows 7 USB3.0 Creator Utility をダウンロードして解凍してあること
  • MicrosoftWindows USB/DVD Download Tool をダウンロードしてインストールしてあること

実際にインストーラを作成するには次の手順を踏めばよさそうです。

  • Windows USB/DVD Download Tool を使って USB メモリに Windows 7 インストールイメージを書き込む
  • Windows 7 USB3.0 Creator Utility の installer_creator.exe を管理者権限で実行する
  • USB メモリのルートに移動する
  • "Create Image" をクリックする
  • 最大15分程度待つ

以上。

しかしこんなツール使わなくても最新の OS を比較的早く利用できるようにしてくれるととってもうれしいです。

週刊OSM 拾い読み #292

WeeklyOSM の翻訳後に気が向いたら自分の気になった記事を書いてみようかなという試み。

Potlatch2 や ID で OSM 編集をされていた方が JOSM も使えるようになると編集の幅が広がりますよ!(なお、自分は Potlatch2 や ID を使えないタイプ)

60人のマッパーが4000の建物と170kmの道路をウガンダマッピングしたらしいです。60人集まったら壮観だろうなぁ…

NASA も利用する OSM

オープンデータデイに開催されるイベントを地図上で確認できます。
近くに興味あるイベントがあるか探してみましょう。

SQLite 大好き。

  • OsmHydran で消防署と消火栓を探そう

海外サービスですが、日本語にも対応しています。

Talk-ja などで流れたイベントを積極的にぶっこんで行こうと思います。

Ruby で SQLite のデータベースを作成してジオメトリを突っ込む

Ruby で SpatiaLite を作成します。

gem で sqlite3 を入れるのと、システムに SpatiaLite のパッケージを入れるのを忘れずに。

#!/usr/bin/env ruby

require 'sqlite3'
sqlitefile = "test.sqlite"

db = SQLite3::Database.new(sqlitefile)
db.enable_load_extension(1)
db.load_extension("libspatialite.so")
db.enable_load_extension(0)

sql = "CREATE TABLE notes (id integer PRIMARY KEY, created text, closed text, the_geom blob);"
db.execute(sql)

sql = "INSERT INTO notes (id, created, closed, the_geom) VALUES (1,'createdate','closedate',GeomFromText('POINT(139.8333 36)', 4326));"
db.execute(sql)

db.close()

普通に SQLite を使える状態にした後に拡張機能を読み込みます。

db.enable_load_extension(1)
db.load_extension("libspatialite.so")
db.enable_load_extension(0)

エクステンションの読み込みを許可
SpatiaLite のライブラリを読み込む
エクステンションの読み込みを不許可に戻す
…とすると OK なようです。

テーブルを作る際には blob 型でカラムを作成しておき、 INSERT や UPDATE する際に当該カラムの値を GeomFromText で作ってやれば OK っぽいです。
GeomFromText は spatialite-cookbook を見れば内容が書かれています。
今回はポイントデータを WGS84 で平面直角座標系9系の原点に置く内容です。

さて、これを踏み台にして作りたかったスクリプトを書きましょうかね。