planet-green.com

[備忘録] EC-CUBE4をnginx上で動かす



EC-CUBE4をnginx環境にインストールした時の作業メモ。

EC-CUBE 3(前バージョン)とnginxの組み合わせであればGoogleで検索するといくつか設定例が出てきますが、そのままEC-CUBE 4に適用するとセキュリティ上の問題があるので、ここに安全な設定方法について記したいと思います。

nginxの設定

#
# EC-CUBE 4
#
server {
	listen 80;
	server_name hoge-shop.com; #ドメイン

	root /home/hoge-shop/pubic/; #ドキュメントルート
	index index.html index.htm index.php;
	access_log /var/log/nginx/hoge-shop.log;
	error_log /var/log/nginx/hoge-shop.error.log;
       
	client_max_body_size 16M; #アップロード最大サイズ。商品画像を扱うのでこのくらいあった方がいいでしょう。

	location / {
		try_files $uri $uri/ /index.php?$args;
	}

	# クリックジャッキング対策
	add_header X-Frame-Options SAMEORIGIN;

	# XSS対策
	add_header X-XSS-Protection "1; mode=block"; 
	add_header X-Content-Type-Options nosniff;

	# 403 Forbidden対応方法
	# ページアクセスできない時シンボリックリンクが有効になっていない可能性あります、
	# オプションを追加してください
	disable_symlinks on from=$document_root;

	# Authorization ヘッダが取得できない環境への対応
	#proxy_set_header Authorization $http_authorization;

	# .htaccess, .htpasswd, .env等の.(ピリオド)から始まる不可視ファイルをアクセス禁止に
	location ~ /\. {
	 	 deny all;
	}

	# アクセス禁止ファイル
	location ~* (?:/(?:src|app|tests|var|vendor|node_modules|codeception|bin)/.*|/(?:composer|COPYING|Procfile|app.json|gulpfile.js|package.json|package-lock.json|web.config))$ {
		deny all;
	}
	
	# 画像などの静的ファイル
	location ~* ^.+\.(?:mp4|ttf|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|ppt|tar|mid|midi|wav|bmp|rtf|wmv)$ {
		# ログ出力の有無はお好みで
		access_log off;
		log_not_found off; 
		if (-f $request_filename) {
			#ブラウザキャッシュの有効時間。ここもお好みに応じて。
			expires 60m;
			break;
		}
	}

	# PHP設定
	location ~ \.php$ {
		# このディレクティブの設定はディストリビューション/パッケージに依る。
		# (これはCentOS 7での設定例)
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		include fastcgi_params;
		fastcgi_index index.php;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		# Authorization ヘッダが取得できない環境への対応
		#fastcgi_param HTTP_AUTHORIZATION $http_authorization; 
		fastcgi_pass   127.0.0.1:9000;
	}
}

»続きを読む

コメント
planet-green.com

(Mac) 外付けSSDをFileVaultで暗号化できない時の対処法



SanDisk Extreme ポータブルSSD 500GB

「SanDisk 外付SSD 500GB エクストリーム ポータブル」をMacBook Proで使ってみたのでレビュー。

その前にまず、購入直後の状態だとMacのFileVaultでディスクを暗号化することが出来ませんでした。
SanDisk Extreme ポータブルSSDでFileVault
ディスクユーティリティで再フォーマットしようとしても、フォーマット形式の選択肢に「Mac OS拡張 (ジャーナリング、暗号化)」が出てきてくれません。

仕事で使うデータを外付けディスクに入れて持ち運ぶ時に怖いのは盗難や紛失。暗号化はマストです。

この製品の初期パーティション形式が暗号化フォーマットできない原因なので、コマンドライン(ターミナル)のコマンドで、この初期パーティションを削除する必要があります。

外付けSSDをFileVaultで暗号化できない時の対処法

»続きを読む

コメント
planet-green.com

MacProへの内蔵Blu-rayドライブ取り付けと、データバックアップについての雑感



MacPro(2010)の内蔵ドライブをDVDからBDに交換しました。Pioneer BDR-211JBKです。

交換手順そのものは簡単で、下記公式マニュアル中の『光学式ドライブを交換する』
https://manuals.info.apple.com/MANUALS/1000/MA1547/ja_JP/mac_pro_mid2010_ug_j.pdf を読めば楽勝でした。

ドライブのトレイカバーを事前に取り外しておく必要があります。
取り外し方は下記アイオーデータのマニュアルが参考になると思います。
(取り外すのはトレイカバーだけでいい。)
http://www.iodata.jp/lib/manual/pdf2/dvd_flontbezel_guide-b-manu200917-01.pdf

BDR-211JBKのMacProへの取り付け
トレイカバー取り外し前

BDR-211JBKのMacProへの取り付け
取り外してMacProのドライブベイキャリアに取り付けたところ。

BDR-211JBKのMacProへの取り付け
システムからも無事に認識。

特別なソフトが無くてもMacのFinderからDVD-ROMと同じように書き込みできました。
MacProでBDの書き込み

MacProでBDの書き込み

ところが、ここで問題が。

25GB(1層) と DL 50GB(2層)のメディアでは問題なく書き込みできるのですが、XL 100GB(3層)では書き込み後の検証に入った直後にエラーが出て止まります。それも毎回。

MacでBDの書き込みエラー(0x80020063)

このディスクを検証できませんでした。ディスクが不完全である可能性があります。新しい空のディスクでやり直してください(エラーコード0x80020063)。

後から別途、読み込みテストを行うと正常に読み込めるので、Finderの検証機能だけの問題のような気がします。100GBメディアに対応してないのかもしれません。

とりあえず私のところでは、100GBのメディアに書き込みする時だけBootcampでWindowsを起ち上げてImgBurnから書き込みすることにしました。
(面倒臭いな・・・)

尚、OS X Sierraでしか試していませんので、最新のOSでは改善されてる可能性もあります。

ちなみに、Macでは別売りソフトを買わないと映画BDの再生は出来ません。
完全にバックアップ用途と割り切って購入しました。

そもそも、何故MacにBDドライブを取り付けたのか?

光学ドライブのイラスト by いらすとや http://www.irasutoya.com/2014/06/blog-post_3218.html

デジタルカメラで撮影した大量のRAWデータをどうやってバックアップするか頭を悩ませていたのですが、結局、光学メディアに保存するのがベストではないかという結論に達しました。

最近は写真を撮る機会が減ったものの、1回の撮影で32GB以上撮ることもあるので、バックアップは切実な問題でした。

容量当たりの単価や利便性ではハードディスクの方が有利なのですが、故障したり、ウイルスに感染して消去されたりするリスクがあるので、分散して保存するのが一番いいのではないでしょうか。

クラウドのストレージは、RAWデータで撮る人にとっては高すぎて論外。

例外としてAmazon Driveは写真ならRAWデータでも無制限でアップロードできる事を謳っていますが、非商業利用に限られてます(私は本職カメラマンではありませんが商用写真も撮るので対象外)。
また、2年間使わない状態が続くとすべてのファイルが削除されるので、バックアップ用途としては少し怖いです。

・・・というわけで、クラウド時代だというのに相変わらず光学メディアでバックアップを取っています。
光学メディアも寿命は10年くらいだと言われているので、決して安心は出来ないです。そもそも家が火事になったりしたら終わりですからね。
絶対に消えたらまずい大事なデータだけはクラウドにも分散して保存するのがいいのかも。

コメント
planet-green.com

[備忘録] MacでESETをインストールしているとSkypeで通話できない問題



私のMacはセキュリティソフトにESET Cyber Security Proを入れているのですが、先日、Skypeを新クライアント(Ver.8.10.0.4)にアップデートしたところ、ESETのファイアーウォールのために通話してもすぐ切断されるようになりました。

おそらくESETの次のアップデートで対応されるとは思いますが、一応、対処法をメモ代わりに残しておきます。

ESETのパーソナルファイアーウォールの設定画面を開き、Skype用のルールを追加。

Mac+ESETのファイアーウォールでSkypeが正常動作しない時の対処

この時、今までならSkypeのアイコンをドラッグ&ドロップするだけでよかったのですが、新クライアントになってからは、次のパスを指定してあげないと駄目なようです。

/Applications/Skype.app/Contents/Frameworks/Skype Helper.app

Mac+ESETのファイアーウォールでSkypeが正常動作しない時の対処

Mac+ESETのファイアーウォールでSkypeが正常動作しない時の対処

本当はポートを細かく指定した方がいいのですが、どうも広範囲に渡っているようなので、アプリケーションのパスさえ指定してあるなら「すべて」にしておいて問題ないと思います。

ちなみにSkypeの公式サイトには 「443/TCP」 「3478-3481/UDP」 「49152-65535/UDP + TCP」と書いてあるのですが(2017年11月現在)、この情報は以前のクライアントのようで、新クライアントではこの範囲外のポートも使われていて、範囲が不明です。

 

Mac+ESETのファイアーウォールでSkypeが正常動作しない時の対処

コメント(5)
planet-green.com

[備忘録] FFmpegで複数の静止画からタイムラプス(微速度撮影)動画を作る



by いらすとや

ここ最近、試験的にタイムラプス動画をいくつか作ってますが、全てJPEGやTIFF等の静止画からFFmpegを使って動画に変換しています。

(作例については、例えばこの記事この記事とか)

FFmpegは動画と音声を記録・変換・再生するためのソフトウェアで、誰でも無料で使えます。

一般の人が普段よく目にするソフトウェアと違って、UI(操作画面)の無い、コマンドプロンプト(Macの場合はターミナル)から実行するソフトウェアなので、慣れるまでが少し大変かもしれません。

しかし、一度インストールしてしまえば、後は基本的に毎回同じコマンド文をコピー&ペーストして実行するだけなので何も考えずに使えます。

インストール方法はGoogle先生に聞くと詳しく教えてくれると思います。

Windowsへのインストール方法

Macへのインストール方法

 

私の場合だと、cdコマンドで画像の置いてあるフォルダに移動してから、次のオプションを付けて実行しています。

 

各オプションの説明

-pattern_type この例では glob -i ‘*.jpg’ と指定することで、.jpgの拡張子が付いた画像ファイルをファイル名順に読み込みます。
-s リサイズ。この例だと1920 x 1280 にリサイズするということ。
リサイズの必要が無ければ指定しなくてもいいです。
縦・横ともに2の倍数でないとエラーになるので注意。
-b 動画のビットレート。この例だと24000k=約24MB/秒。
この数字が大きいほど画質が良くなりますがファイルサイズも大きくなります。
どのくらいのビットレートがいいかについては、YouTubeの説明が参考になると思います。

基本的には、FFmpegで書き出した動画を後で動画編集ソフトで読み込んで各種編集や音を入れたりする作業をすることになると思うので、ここでは出来るだけ高画質にしておくのがいいと思います。

-framerate フレームレート(1秒あたりのコマ数)。
例えば、元画像が150枚あったとしたら、フレームレート30で5秒の動画になります。
-r ↑と同じ。-framerateは入力時、-rは出力時のフレームレートを指定するものなので両方指定するのがいいらしいです。
-an 音声無しにする。
-vcodec コーデックの種類。よくわからなければ、この例のように libx264 (H.264)を指定するのが無難です。
-pix_fmt 色深度を指定。これもよくわからなければ yuv420p が無難です。

 
また、Mac限定ですが、画像を16bitのTIFFで書き出して下記オプションで変換すれば10bit色深度のProRes HQフォーマットで動画を作成できます。
ハードディスクを爆食いするのが難点ですが・・・。

コメント
planet-green.com

MacPro2010にGeForce GTX 960を取り付ける



MacPro(2010年モデル)にGeForce GTX 960を取り付けました。
CUDAドライバーも認識されています。
取り付け手順や注意点は基本的に前回の記事と一緒です。

GeForce GTX 960をMacProに搭載
ちなみにELSAのGeForce GTX 960 2GB S.A.C SS GD960-2GERXSです。

GeForce GTX 960をMacProで認識

MacでCUDAドライバー

Final Cut Pro Xで4K動画の編集をする必要があったのですが、MacPro標準のグラフィックボード(ATI Radeon HD 5770)では重すぎてスムーズに編集できなかったのが、GTX960では何とか実用的なレベルになりました。
(とはいえ、ビデオエフェクトなどを多用すると重くなりますが。)

また、ffmpegをOpenCVを有効にしてインストールすると、エンコードの際にCUDAを利用するようで、CPU負荷が低くなってるのが確認できました。

OSのアップデートの度にビデオドライバーを入れ直さないといけないのは相変わらずで、画面が真っ黒になるので別のMacからリモート接続(『画面を共有』のこと)してインストールしてます。

コメント
planet-green.com

DxO OpticsPro用タイムラプス制作支援ツール | TimeLapse tool for DxO OpticsPro



RAW現像ソフトのDxO OpticsPro 11でタイムラプス(微速度撮影)動画制作を支援するツールを作りました。
コマンドラインで実行するPythonのスクリプトで、GitHubで公開しています。

DxOKeyFrame.py
https://github.com/SapporoTK/DxOKeyFrame.py

作例

星景タイムラプス 4K《微速度撮影》洞爺湖 | Time Lapse – Lake Tōya, Japan

(上の動画ではオリジナル曲をBGMにしてみました。)

4K Time Lapse Test (DxO OpticsPro + DxOKeyFrame.py) | タイムラプス《微速度撮影》テスト

この動画では、日の出の前後の時間帯はAvモードで撮影し、当スクリプトで拡張露出補正オプションを有効にして明るさが滑らかになるようにしています。

とはいえ、まだチラつきが出てしまうので、それが今後の課題です。
ちなみに星の軌跡はFinal Cut Pro Xのエフェクトなので当スクリプトとは関係ないです。

4Kタイムラプス《微速度撮影》モエレ沼公園 | TimeLapse – Moerenuma Park

タイムラプス 4K《微速度撮影》Sapporo city View | Time Lapse

タイムラプス 4K《微速度撮影》大通公園(札幌市)| Time Lapse – Odori Park, Sapporo, Japan

»続きを読む

コメント
planet-green.com

MacでVisual Studio + Xamarinを使ってみた感想



IT土方(by いらすとや)
アプリ開発の話。

クライアントさんに泣きつかれて頼まれてXamarinで作られたスマホアプリの修正をすることになり、少しだけ使ってみる機会がありました。

「Xamarin自体がバグだらけ。新しもの好きで人柱覚悟の人ならいいかもしれないけど、仕事ではちょっと怖くて使えない」

これが正直な感想です。

iPhoneとAndroidのアプリを共通のコードで作成できるというのが売りなのですが、実際に共通化できるのはロジック部分だけと考えた方がよさそうです。

一応、画面周りも共通化できるのですが、用意されているXamarin.Formという仕組みでは細かいレイアウトの調整が出来ないので、結局はiOSとAndroidで個別にネイティブの機能を呼び出すコードを書くことになると思います。

Xamarin.Form標準の機能だけだと、デザインの微調整に制限が多く、痒いところに全然手が届きません。

自社または個人で作るアプリならそうしたレイアウトの細部は無視することが可能かもしれませんが、クライアントさんがいる仕事だと、「ここのフォントサイズを変えてね」と言われて断るのは難しいのではないでしょうか。

»続きを読む

コメント