1st-net   ログイン 
メインメニュー
カテゴリ一覧
アーカイブ

News+Blog - 最新エントリー

Flex Slider 2

http://flexslider.woothemes.com/index.html

  • レスポンシブ対応
  • カルーセル対応
  • タッチデバイスのフリック対応
  • キャプション表示可能
など。

設定できるプロパティも豊富ですが、機能しないものもあるようです。(Version 2.5.0)

  • firefox で directionNav と pausePlay の icon が表示しない。
  • プロパティ pauseOnAction、controlNav、directionNav がデフォルトから変更できない。
  • IE で クリックによる pause から play 不可。何故か右クリックだと可。

他にもありそうです。

  • コメント (0)
  • トラックバック (0)
  • 閲覧 (1194)
さくらインターネットで、WordPressをwww付きドメインでSSL対応するとき、www付きでドメイン設定する必要があります。


さくらインターネットは、www無しでドメイン設定し、詳細設定で『マルチドメインとして使用する(推奨)』をチェックすると、wwwが付与されたドメインも利用できるようになりますが、この設定でwww付きで構築したWordPressをSSLアクセスするとリダイレクトループが発生します。

これは上記設定でSSLアクセスのとき、www付きでアクセスしても、$_SERVER['HTTP_HOST'] がwww無しを返す為と思われます。

www付きでドメイン設定すると、httpsでアクセスすると$_SERVER['HTTP_HOST'] がwww付きを返す為か上手く動作します。

『SSL利用時の注意 - 環境変数の取扱い - mod_rewriteによるURLの書き換えはできません』によるさくらインターネット独自の仕様によると思われます。

さくらインターネットで、WordPressをwww付きドメインでSSL対応するときは、以下のようにするよ良いようです。
1.www無しでドメイン設定し、詳細設定で『wwwを付与せずマルチドメインとして使用する(上級者向け)』
2.www付きでドメイン設定し、詳細設定で『wwwを付与せずマルチドメインとして使用する(上級者向け)』
3.NO.2の領域にWordPressとSSL証明書を設置、必要があればNO.1の領域に https://www.~ に301リダイレクトするように .htaccess を書く
  • コメント (0)
  • トラックバック (0)
  • 閲覧 (1490)

さくらインターネットの「さくらのレンタルサーバ」で独自SSL機能が追加されたので、WordPress で作成したサイトの HTTPS化 を行ってみました。

  • さくらレンタルサーバのSSL仕様
  • 日本語ドメインでのSSL化
  • 格安SSL証明書の取得とインストール
  • WordPressのSSL化

これらの組み合わせは多少戸惑うポイントがあります。そこでメモとして記録を残します。

1.SNI SSL の検討

「さくらのレンタルサーバ」の独自SSL機能は以下の通りです。

  • 独自ドメイン名ごとにSSLサーバ証明書を設定可能
  • 「さくらのレンタルサーバ スタンダード」はIPアドレスベースでなくネームベースの「SNI SSL」
  • 「SNI SSL」では最大39ドメイン分のSSLサーバ証明書を設定可能
  • SSLサーバ証明書の持ち込み可

「SNI SSL」は SNI に対応していないブラウザで利用できません。

「SNI SSL」対応ブラウザ

【PC】

  • Internet Explorer: 7以降(Windows Vista以降)
  • Chrome: Windows Vista以降・Mac OS X 10.5.7 以降でChrome 5.0.342.1以降
  • Mozilla Firefox: 2.0以降
  • Safari: 2.0以降 (Windows Vista以降・Mac OS X 10.5.6 以降)
  • Opera: 8.0以降

【iOS】

  • Safari: 3.0 以降 (iOS 4.0以降)

【Android】

  • 標準ブラウザ: Android 3.0 (Honeycomb) 以降

【ガラケー】

  • ほぼ未対応です。

気になるのは「SNI SSL」対応ブラウザです。
WindowsXP は MS のサポート終了して1年も経つので無視しても良いと思われます。
ガラケー未対応ですが、現時点(2015/5)でガラケーでWEBアクセスする需要があるとは思えませんし、そもそもHTTPS化するサイトがガラケー対応していません。
「SNI SSL」でまったく心配ないかというと不安もありますが、まず問題ないとしました。
HTTPS化するとGoogleの検索結果ランキングに、少しだけ有利になるといった利点もあるそうです。

2.SSL証明書の取得

さくらレンタルサーバスタンダードでのSSL設定方法は、さくらインターネットサポートページ「SSLを初めて設定する」に詳しく記載されています。

秘密鍵を2048ビットで生成し、CSRの生成を行います。
このCSRを使ってSSL証明書を取得します。

SSL証明書は、SSLストアさんから、Comodo PositiveSSL 1,200円(税込)のSSL証明書を取得しました。
当初最安値の KingSSL 900円(税別) のSSL証明書取得申請したのですが、『今回お申込みいただきましたコモンネーム(FQDN)では、フィッシング審査が必要となりました。自動審査を通過しなかった場合、コモンネームを変更して、再度お申込みいただくか、フィッシング審査の追加審査可能なアルファSSLをご検討下さい。』となり取得できませんでした。
アルファSSL は 6,000円(税別)~です。

後に分かったのですが、コモンネームが日本語のとき、セキュリティチェックにかかる確率が高いそうです(SSLストアサポートページによる)。
SSLストアの Comodo PositiveSSL は、認証局のセキュリティチェックにかかった場合は人的審査が行われます。
そのおかげか、KingSSL で自動審査を通過できなかった日本語コモンネームは、SSLストアの Comodo PositiveSSL では審査が通りました。
Comodo PositiveSSL では、通常30分以内に認証局のサーバからSSL証明書が自動発行されるそうですが、人的審査が行われたようで、約半日後SSL証明書が発行されました。
SSLストアさんは証明書発行から2週間以内なら返金や再発行可能なので安心です(CSR生成で失敗して再発行して貰いました)。

3.証明書のインストール

SSL証明書を取得しましたら、サーバ証明書とサーバ証明書に対応した中間証明書をインストールします。
インストール方法はさくらインターネットサポートページ「SSLを初めて設定する」に詳しく記載されています。

しかし、『送信されたデータは、このサーバで利用できない証明書です』となり、インストールできません。
Comodo PositiveSSL はデュアルアクセス対応(コモンネームが「www.+ドメイン名」と、wwwが付かない、ドメイン名のみでのアクセスも有効)です。
さくらインターネットのサポート情報で『マルチドメイン証明書やワイルドカード証明書のような複数のドメインをカバーする証明書は利用できません』とありましたので、その為かと思いサポートに尋ねてみたところ、『デュアルアクセス対応の証明書については問題なくご利用いただけます』でした。

インストール出来なかった SSL証明書 をサポートに調べてもらったところ、日本語のコモンネームだとコントロールパネルからのインストールでエラーとなり、インストールできない状態となっていたことが分かりました。
今回はさくらインターネットのサポートにSSL証明書をインストールしてもらい、https でアクセスできることを確認しました。
コントロールパネルは、日本語のコモンネームでもインストールできるよう改修を予定するそうです。

4.WordPressの設定

  1. さくらのレンタルサーバー対応
  2. WordPressの設定変更
  3. 内部リンクや画像の参照元の変更
  4. ページチェック
  5. 外部サイト登録情報更新
  6. HTTPSへのリダイレクト

a.さくらのレンタルサーバー対応

さくらのレンタルサーバーは RewriteRule して https接続すると、単純には .htaccess や PHP が https接続と認識できません。
WordPress は RewriteRule で書き換えを行いますので、さくらのレンタルサーバーにインストールした WordPress は、そのままでは SSL接続で不具合が生じます。
対処法は以下の通りです。
wp-config.php の、「/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */」の前に以下を追記します。


if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
    $_SERVER['HTTPS'] = 'on';
    $_ENV['HTTPS'] = 'on';
}

さくらレンタルサーバーの共有SSLを使う

b.WordPressの設定変更

WordPressのURL出力の設定をHTTPSのアドレスに変更します。
設定 - 一般設定で
WordPress アドレス (URL)
サイトアドレス (URL)
を https://サイトアドレス に書き換えます。

c.内部リンクや画像の参照元の変更

http://サイトアドレス になっている内部リンクや画像の参照元を修正します。

プロトコル相対URLに置換しました(URLの中でプロトコルを指定せず、いきなり //サイトアドレス で記述する)。
プロトコル相対URLは読み込み元のページと同じプロトコルが利用されます。
つまり、そのページが http:// であれば http:// が、https:// であれば https:// が補完されます。
プロトコル相対URLを利用すると、http:// へ戻ることも容易です。

WordPress は内部リンクであっても http:// から始まるURLで保存する為、URLの変更は大変な作業です。
今回、「Search and Replace for WordPress Databases Script」を使って置き換えました。
「Search and Replace for WordPress Databases Script」はシリアライズされた情報を含めてDBの置換を行います。
しかし日本語は扱えないようで Punycode表記 は置換してくれますが、日本語表記は置換しません。
30件ほど残った日本語表記は、DBをシリアライズされた情報はバイト数も含めて直接マニュアルで書き換えました。

d.ページチェック

全てのページでHTTPが混在していないかチェックします。
2件変更しました。

d-1.ヘッダー内「XFN」の記述の削除


<link rel="profile" href="http://gmpg.org/xfn/11">

これは不要なので、テーマファイル header.php を編集し削除しました。

d-2.Amazonアソシエイト

Product Advertising API を使うと解決します。
コード直貼りから Product Advertising API を使うプラグイン AmazonJS を利用することで対応しました。

e.外部サイト登録情報更新

以下の設定を変更しました。

  • Facebook Apps Setting
  • Twitter Application Management Settings
  • ウェブマスターツール
  • Google アナリティクス

f.HTTPS へのリダイレクト

SSLのみアクセス許可の設定(SSLアクセス強制のため、http://~ は https://~ へリダイレクト)を .htaccess に記述します。

「さくらのレンタルサーバー対応」と同様に環境変数で「SSLでなければ」の判断ができないので、単純に設定すると「httpsで始まるURLにリダイレクト」したものがSSLでないと判断されてまたリダイレクトされ、ループになってしまいます。

${ENV:HTTPS} が 'on' でなく、かつ、%{HTTP:X-Sakura-Forwarded-For} が未設定の場合、https://%{SERVER_NAME}%{REQUEST_URI} へリダイレクトとすれば良いようです。


<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{ENV:HTTPS} !^on$
    RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>
   
# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>
# END WordPress

5.HTTPS化したときの不具合

HTTPS化することにより、現時点2点の不具合が見つかり、それぞれ以下の対応を行いました。

a.予約投稿ができない

wp-config.php で代替 Cron を ON にする。


define('ALTERNATE_WP_CRON', true);

これで解決しました。

b.NextScripts: Social Networks Auto-Poster で Twitter の画像投稿に失敗する

Twitter と Facebook に WordPress の投稿に連動投稿するプラグイン NextScripts: Social Networks Auto-Poster ですが、Twitter の画像投稿に失敗するようになりました。

NextScripts: Social Networks Auto-Poster のログによると以下の通りです。

 

Could not get image (https://画像アドレス), will post without it - Error:WP_Error Object ( [errors] => Array ( [http_request_failed] => Array ( [0] => 転送が多すぎます。 ) ) [error_data] => Array ( ) ) | PostID: 3112

 

「転送が多すぎます」なので、「http://~ から https://~ へのリダイレクト」を止めたら Twitter の画像添付に失敗することはなくなりました。
他の対策が見つかるまでは「http://~ から https://~ へのリダイレクト」は無しで運用することにしました。

  • コメント (0)
  • トラックバック (0)
  • 閲覧 (8714)
ビジネスアカウントで Developersページの Appsタブ Add a New App でアプリの作成を行うと、
Not Authorized To Manage Apps
This account is not authorized to manage apps. Please use your verified personal Facebook account to create and manage your apps.
と怒られます。
ビジネスアカウントではアプリの作成が行えないから、個人アカウントを使えと言っているようです。

そこで対処方法はメッセージの通り、アプリの作成を行いたいFacebookページの管理人に個人アカウントを設定します。

Facebookページ 設定 ページの役割 で personal Facebook account を管理者として登録します。
すると、登録した personal Facebook account でビジネスアカウントで作成したFacebookページの編集が可能となります。

そこで、登録した personal Facebook account でアプリの作成を行います。
  • コメント (0)
  • トラックバック (0)
  • 閲覧 (10113)
チョット悩んだのでメモ。

CPT UI でカスタム投稿タイプを作成したとき、その権限はデフォルトで post になっている。
作成したカスタム投稿タイプの権限を post と異なる権限に設定するときは、CPT UI の Advanced Options で「利用タイプ」を post から例えば work に変更する。

work には権限が設定されていないので、そのままでは作成したカスタム投稿タイプを扱えない。
そのため、User Role Editor で権限を設定する。

User Role Editor の Add Capability で Capability name を入力する。
入力する Capability name は Codex register_post_type によると以下の通り。

edit_work
read_work
delete_work
edit_works
edit_others_works
publish_works
read_private_works
delete_works
delete_private_works
delete_published_works
delete_others_works
edit_private_works
edit_published_works

管理者は追加された Capability 全てに自動的にチェックされる。
他の Role にはチェックされないので権限を与えたい Role や user で追加された Capability にチェックを入れる。
  • コメント (0)
  • トラックバック (0)
  • 閲覧 (6920)
Windows7からWindows8/8.1に切り替えてみました。
色々地獄を見ましたが、とりあえず使えるようになりました。

使えるようになったので、いつのまにか幾つか白表示になっていたデスクトップアイコンを正しい表示に直してみることにしました。

『アイコン表示がおかしくなるのはIconCache.dbが壊れているからで、それを削除しPCを再起動することでIconCache.dbが再生成される』とのご宣託があちらこちらに書いてあります。
ところがIconCache.dbを削除して再起動してもアイコンは白表示、つまり壊れたままです。


そこでもう少し深く調べてみました。

”「アイコン表示がおかしい - Microsoft Answers抜粋」
アイコンキャッシュはメモリ上にあります。
起動時にExplorer.exeは、まずIconCache.dbから必要なデータを読み込み、そこに無いものは元ファイルを参照します。読み込まれたアイコンデータはメモリ上にキャッシュされます。
アイコン表示がおかしくなるのはIconCache.dbが壊れているからと推測され、それを削除しPCを再起動することでデータベースファイルが再構築されるとの解説をよく見かけます。
ところがIconCache.dbを削除しても、まだキャッシュメモリ上に壊れたアイコンデータが残っています。
IconCache.dbが削除されて見つからない場合、ログオフ時にこれらはすべて差分として書き戻され、新たに壊れたデータの入ったIconCache.dbが作成されてしまいます。”


なるほど、それでIconCache.dbを削除してもダメなのか!
対処方法は、『画面のプロパティから画面の色を一旦変更…』とあります。
画面のプロパティは弄りたくないなということで、以下の方法で対処してみました。


・IconCache.dbを削除し、空のIconCache.dbを作成し、さらにプロパティで読み取り専用に設定。
・ログアウト/ログインする。
(ログオフ時、キャッシュメモリ上に壊れたアイコンデータを差分として書き戻しするが、IconCache.dbは読み取り専用なので書き込めない。ログオン時、IconCache.dbが空なので元ファイルを参照してアイコン表示するので正しく表示される。)
・空のIconCache.dbの読み込み専用を解除する。
(次のログオフ時はキャッシュメモリ上の正しいアイコンデータがIconCache.dbに書き込まれ、次のログインでは正しいIconCache.dbが読み込まれ、アイコンは正しく表示される。)


上手くいったようです。
  • コメント (0)
  • トラックバック (0)
  • 閲覧 (20358)
内待合室へ呼出された最新の呼出番号とその呼出時刻、過去の呼出履歴をホームページに表示します。この情報により、患者さんは自身の呼出時刻を比較的正確に予想することが可能になり、待合室での待ち時間を減少させます。

詳細は、『「呼出番号表示」サブシステム』を参照してください。
WordPressを利用した「ピアノ教室様向けひな型プラン」を一般展開します。
ひな型のご利用により短納期で低価格に高機能なホームページを利用できます。お客様のご要求に対応してカスタマイズします。

特長
1.ピアノ教室様向けとして十分なメニューを持ちます。
2.更新がご自身で可能なので、頻繁でタイムリーなホームページの運営が可能
3.見出しの自動作成
4.スマートフォン、携帯電話など様々なデバイスに対応
5.プログラム利用料がフリー
6.キーワード検索で上位表示され易い

詳細は、「ピアノ教室様向けひな型プラン」を参照してください。
  • コメント (576)
  • トラックバック (0)
  • 閲覧 (96741)
Ustream なら Ustream API で On Air / Off Air のステータスを得ることができます。
直接配信の Microsoft Expression Encoder 4 でライブ配信の On Air / Off Air のステータスはどうすれば取得できるか、検討してみました。

ライブ配信中はポートを解放し、配信終了でポートを閉じるのだから、そのポートを調べればそれがライブ配信の On Air / Off Air のステータスになります。
PEARライブラリ Net_Portscan を使うと簡単にポートの状態を調べることができます。

<?php
require_once "Net/Portscan.php";
if (Net_Portscan::checkPort("ドメイン名", ポート番号, 応答を待ち続ける時間) == NET_PORTSCAN_SERVICE_FOUND) {
  echo "On Air\n";
} else {
  echo "Off Air\n";
}
?>

利用しているサーバーは Net_Portscan がインストールされていなかったので自分の領域にライブラリをインストールしました。
  • コメント (606)
  • トラックバック (0)
  • 閲覧 (68166)
某ブログでライブ配信を行っています。
ライブ配信には Ustream を利用していましたが、広告が煩くなってきたので Microsoft Expression Encoder 4 の無料バージョンに切り替えました。


Ustream を利用するとライブ配信が簡単に実現できます。
無料で利用するとき、動画内に広告があって一定のタイミングで表示されたりします。
無料なので仕方がないことですが、最近では全面に広告が表示されたり音が出たり我慢できなくなってきました。
そこでライブ配信を別の手段で検討してみました。

Ustream 前は WME + Windows Server 2003 でライブ配信を行っていました。
現在インターネット接続環境がフレッツ光ネクストなので WME で直接配信をすることにしました。

以下の通りでした。
1.WME はアップデイトされ、後継は Microsoft Expression Encoder 4。その無料バージョンを利用する。
2.直接配信の最大接続数は50に設定可能になった。
3.ルーターがUPnPに対応しているとき、配信をスタートした時点でポートを解放し、配信終了でポートを閉じる。 Microsoft Expression Encoder 4 はこれらを自動的に行う。
4.ダイナミックDNSはやはり必要。(グローバルIPアドレスが変化するので)

直接配信にしたこととNO.3で随分簡単に設定できました。
480×360ピクセル、30fpsで350kbps。50接続でも何とかなりそうです。
  • コメント (413)
  • トラックバック (0)
  • 閲覧 (119297)