Azure AppServiceにおけるWordpressプラグインWP-DB Managerの実行について
ただ今、大変げんなりしている
MySQL in App
Azure AppService上でWordpressを運用しているサイトがあり 仕様上の都合でプラグイン「WP-DB Manager」が利用でききず困っていた
まぁAppServiceにはMySQLが入っていないため、当然mysqldumpが使えないので さもありなんである
最近「MySQL in App」なる機能が使えるようになったとのことを風に噂に聞いて ためしに機能を有効化してみると
“D:/Program Files (x86)/mysql/5.7.9.0/bin/”
に待望のmysqldump.exeが!
escapeshellcmd
喜び勇んで設定してみるものの動作せず、結局プラグインのソースコードを読む羽目に
どうもmysqldump.exeの実行時に、escapeshellcmd関数をつかってファイルパスをエスケープしているようだ
当該関数を通すことにより
が
にエスケープされてしまいファイルパスが認識されずコマンドが実行できていない、ということらしい なんだよ…^って
そもそもシステムで利用するフォルダに(x86)とかいう残念なパスを設定したMicrosoftも大概だけど シェル実行用のエスケープ関数通したらシェル実行できないとか意味がわからんのだが…
※ちなみに、escapeshellcmdを使わずに実行すると無事バックアップが取れました
開発プロジェクト振り返り
リリース
9月25日(日)一年近く続いたプロジェクトのリリースを行った 総実行ステップ数236,000、400ファイル57,000ステップの改修案件だった
プロジェクト概要
それなりに大きな金額のプロジェクトで、内容はざっくり言うと古くなった基幹システムのリプレース案件、技術的負債の影響もあり、全体の改修を行うとなると億行っちゃう問題が発生するため
今回はコアとなる基盤の構築と比較的ミッションクリティカルでない画面の再構築を行う一期開発である
後続の経理等のクリティカルな画面を構築するにあたり技術的な課題を洗い出してあらかた潰してしまうのも 重要なミッションだった
開発内容
自分が担当したのはアプリケーション基盤の構築と実行環境の構築で、ビジネスロジックに相当する部分はほぼ記述していない
古い部分は分離して、画面上まるで同じ画面のように見えるにする必要があったため、色々トリッキーな事をするビューが必要となったが、まぁこれは全体の移行が終われば綺麗になる筈だ
先述した技術的負債により、ClassicASP,ASP.NET(VB.NET),ASP.NET MVC(C#)が混在する悪魔のような構成で、さらに以前のリプレースでは凶悪なデスマーチに見舞われた為、ASP.NET MVC化した部分のアプリケーション基盤はお世辞にも品質が良いとは言えない状態だった
以上のような事情により新基盤に要求されるのが以下のような要件となった
- 現行アプリ基盤(ASP.NET MVC2)ソースコードを極力改修せずにMVC5化する
- 現行アプリ基盤に「建て増し」する形で新アプリ基盤を構築
- 相互に行儀よく棲み分けた上でどちらも問題なく動作する
そして壮大な外科手術的努力の結果、完全な家庭内離婚が成立した、共有するのはセッションくらいである 以下、新アプリ基盤が獲得したもの一覧
- DI(依存性の注入)の導入によるコード記述によるオブジェクトのインスタンス化の激減
- DIの導入によるインスタンスのライフサイクルの厳密な管理(PerRequestLifetimeManager)
- アクションフィルタの採用による関心の横断の実現
- シンプルなコントローラークラス
- 整理されたモデルクラス
- ビジネスロジックに集中したサービスクラス
- 適切にプーリングされたDB接続
- 詳細な例外ログ
- 自由な実行ログ
途中スレッドセーフでないフィルター処理に泣かされた事もあったが、良い勉強になった、特に分散トランザクションコーディネータ関連の知見は今後に生かせそうだ
設計的な反省点はいくつかあるが、どれも致命的ではないし、これも今後に生かしたいと思う
そして運用開始して一週間時点の不具合は4件、どれも他責扱いで瑕疵対象にはならなそうなものばかりだ 何も無さ過ぎて不安になってしまうレベルだが、当然、何も無いのは良い事だ
自分自身、普段はインフラをやっており「開発に参加するたびにデスマーチ」のトラウマがあるのだが、プロジェクトの成否を分けるのはリーダーの最適な人的リソースの配分であると強く感じた
今回、良いリーダーとよいチームだったと思う
WAP(WebApplicationProxy)の構成エラーへの対応
現象
WebApplicationProxyが突然利用できなくなる、もしくは初期設定ができない
エラーメッセージ
ADFSプロキシを構築できませんでした。 フェデレーションサーバーからプロキシ構成データを取得できません。
ネットでの情報
ADFS(Webアプリケーション)プロキシ構成時のエラーにつきまして https://community.office365.com/ja-jp/f/331/p/422283/1058491?ss=f6715fc5-01c0-4eae-931a-85bc9da6d07e#1058491 ※未解決です
原因
コミュニケーション証明書は更新できているためAD FS サーバーへの SSL / TLS の接続は確立できているが WAP サーバーの構成中、AD FS サーバーへタイムアウトが発生したため、構成情報を読み取ることに失敗している
解決方法
Windows Updateをあてていない場合
Windows Updateを最新化する
以下の手順で各修正プログラムを全ての AD FS サーバー、WAP サーバーにインストールする ※全ての作業に再起動が必要
Windows Server 2012 R2 用更新プログラム (KB3013769) http://www.microsoft.com/ja-jp/download/details.aspx?id=45141
Windows Server 2012 R2 用更新プログラム (KB2962409) http://www.microsoft.com/ja-jp/download/details.aspx?id=43276
Windows Server 2012 R2 のデバイス登録サービスの初期配置後にタイムアウト エラー (KB3020773) https://support.microsoft.com/ja-jp/kb/3020773
1. KB2919442 をインストール
Windows Server 2012 R2 用更新プログラム (KB2919442) http://www.microsoft.com/ja-jp/download/details.aspx?id=42153
2. KB2919355 をインストール
Windows Server 2012 R2 Update (KB2919355)
http://www.microsoft.com/ja-jp/download/details.aspx?id=42334
Windows Updateが最新の場合
3. KB3013769、KB2962409、KB3020773 をインストールする(順不同)
Windows Server 2012 R2 用更新プログラム (KB3013769) http://www.microsoft.com/ja-jp/download/details.aspx?id=45141
Windows Server 2012 R2 用更新プログラム (KB2962409) http://www.microsoft.com/ja-jp/download/details.aspx?id=43276
Windows Server 2012 R2 のデバイス登録サービスの初期配置後にタイムアウト エラー (KB3020773)
Superfishにみる中間者攻撃の危険性とGoogleの施策
今朝から結構賑わってるSuperfish
危険性に冠しての記事はコチラ
証明書に関して基本を抑えてる人たちはこの危険性が理解できると思います。 じゃあどうやって対応していくの?という問いにはGoogleが取り組んでいるようで
Certificate Transparency(透かし入り証明書)
業界的には乗り気のようで、各社対応を表明しています。
認証局におけるハッキング事件の原因と認証局業界の新しい取り組み https://www.jp.websecurity.symantec.com/welcome/pdf/wp_cahacking.pdf
証明書は信用商売、早期の対応が求められています
ShrinkIt(シュリンクイット)1.3
Diet Coda 1.6マダー?(いやマジで)と思ってPanic Blogにお邪魔したら ShrinkitなるPDF圧縮ツールがあったので試してみた
Panic Blog » ShrinkIt(シュリンクイット)1.3
試したPDFはDELLの見積ページで出力される巨大PDFそのサイズなんと7.2MB Adobe Acrobatでもサイズ縮小出来なかった長年の宿敵
中身はタダの見積、ほんと何が入ってるんだろう?
使い方
簡単、ターゲットへドラッグアンドドロップするだけ
結果
1/10ですと...圧倒的やないか
Office 365 Business がよくわからん問題
公式だとなるほど全然分からないのでサポートに問い合わせてみた
ライセンス割当可能なサービス名の機能詳細
Office Online
ブラウザで利用できるOffice
Office 365 Business
デスクトップアプリを利用できる。Access以外とあるが具体的には以下 * Word * Excel * PowerPoint * Outlook * Publishar * OneNote
OneDrive Business
1TBのストレージサービス デスクトップアプリのOneDrive Businessから接続可能
Exchange Online
メール、スケジュール、電話帳 デスクトップアプリのOutlookから接続可能
Lync Online
メッセンジャーサービス
SharePoint Online
デスクトップアプリのLync Basicから接続可能?
Office 365 エディション比較
Office 365 Business
デスクトップアプリに特化、メールはできない * Office Online * OneDrive Business * Office 365 Business
Office 365 Business Essentials
コミュニケーションに特化、デスクトップアプリは無い * Office Online * OneDrive Business * Exchange Online * Lync Online * SharePoint Online
Office 365 Business Premium
全部入り * Office Online * Office 365 Business * Exchange Online * Lync Online * SharePoint Online