2016年2月10日水曜日

パスワード保護されたWordPressを WordPress.com で管理するためには

所有のWordPressを JetPackプラグインを介在し、WordPress.comでサイトの一元管理ができることは知っている方も多いと思います。これは2014年12月に実装されて随分経っているので今更なのですが、ようやく重い腰をあげて対応してみました。

まぁ通常だとそんなに躓かないのですが、BASIC認証などによってパスワード保護されたWordPressについてはちょろっとしたコツがいるので合わせて備忘録としてメモしておきます。

XMLRPC対策をしている場合


現在WordPressで標準搭載されているxmlrpc機能(/xmlrpc.php)は、WordPressから直接ログインせずにWordPressを管理できる機能を有しています。たとえば Microsoft WordからWordPressの記事を更新できますし、それ以外の対応ソフトからもxmlrpc.phpを介在してコンテンツを閲覧したりテーマ変更したりなどが可能です。

しかしながら、ここへの総当たり攻撃をされるとサイト全体がとても重くなったり、xmlrpc.php 自体に脆弱性があった場合には不正アクセスされる恐れもあります。

従って外部からのアクセスを遮断しているケースも多いかと思います。

そういう場合には、サーバーの設定で(.htaccess等)

<Files ~ "xmlrpc.php$">
  allow from 192.0.64.0/18
  deny from all
</Files>

をしているケースも多いと思います。
192.0.64.0/18 は、Automattic社が管理するIPアドレス全体。

xmlrpc.php は基本拒否するけれども、JetPackと連携するために WordPress.comからのアクセスのみは許可したいということです。どの範囲か分からないので、JetPackやWordPress.com提供元のAutomattic社のIPアドレスまるごと許可しているというわけです。

しかーし、サイト丸ごとパスワードロックしている場合にはダメで・・・

通常はそれでいけるのですが、このケースが厄介です。
サイトを見られたくないけど、xmlrpc.php のみ アクセスして欲しいという要望はあるわけです。そういう場合には、Satisfy設定を使いましょう。

<Files ~ "xmlrpc.php$">
  allow from 192.0.64.0/18
  deny from all
  Satisfy Any
</Files>

とまぁ一行追加するだけです。
これで、BASIC等認証をかけていた場合、OR判定になります。

つまりBASIC認証をかけていたとしても、xmlrpc.phpへのアクセスだけ、 192.0.64.0/18 からはBASIC認証を迂回して普通にアクセスできるようになります。

間違っても、サイト丸ごとのBASIC認証に対して、 192.0.64.0/18をSatisfy Anyに設定することはしないようにしましょう。それやっちゃうと、Automattic社のネットワークからローカルなサイトが丸ごと閲覧されちゃいますよ〜。

付録:あれ?JetPackプラグインいれたら画像が表示されなくなったけど?

とりあえず、JetPack設定より、Photonを無効にしてみてください。

を見ると、キャッシュが適応されるまで時間がかかるからってことですね。
しかしならばデフォルトでONにしている以上、そのことの注意喚起がないと困りますねぇ。またサイト丸ごとパスワードロックしているサイトで、有効にして2日経っても画像が表示されませんでした。もしかしたらサイトまるごとパスワードロックしている場合には、キャッシュできないのかもしれませんね。

2016年2月10日 @kimipooh
2016年2月12日 付録を追加

2016年1月23日土曜日

WordBash Kyotoに初参加して・・・ #wordbash

WordBenchじゃないですよ、BashですBash。何故Bashなのか聞いてみたらBeerBashからとったとのこと。WordPressとしては少なくても国内では初の試みだと思う。

さてさていきなりモデレータの方が始まる前から顔が赤いという状況です。初参加なのでどうやることやら・・・




プログラム


今日は13時〜20時と長時間懇親しながらセッションもあるという異色なWordPress関連のイベントです。登壇者も9名と多いですね!

  1. 更新作業で消耗しない!Web製作者のためのWordPerss公式ディレクトリ活用術(Mignon Style
  2. トークセッション(テーマ系)
  3. とあるフリーランスのWebデザインの自社サイトのお仕事受注術(おおはらかずき
  4. トークセッション(運用・働き方系)
  5. トークセッション(コントリビューション系)
  6. Hello Dollyのここがクソ!? Hello Kushimoto から学ぶモダンなプラグイン制作術(Toro_Unit
  7. トークセッション(プラグイン系)
  8. Habakiri Advent Calendar 2015総まとめ!(キタジマタカシ
  9. Lightning ✕ ExUnit の開発背景と設計思想(石川栄和
  10. トークセッション(対談系)

※以下、筆者が理解した内容を筆者の感性で纏めています。
ですので必ずしも発表者の意図通りに書かれているわけではありません。

2015年12月9日水曜日

【お知らせ】WordPress 4.4がリリース

リリースされてましたので、早速導入中(まずはフルバックアップ中)。

レスポンシブイメージとか面白い機能が実装されたようですね。
またリンクは対応していれば、記事引用が自動的に挿入される(SNSでよくあるような)みたいです。

ちょっとバタバタしているのでいくつかアップデートしてしばし様子見します。

関連情報



2015年12月9日 @kimipooh

2015年10月17日土曜日

第46回WordBench大阪「ローカル開発環境のあれこれは俺達に聞け!」に参加して

今日は何度か訪れている JUSO Coworking でWordBench大阪勉強会が開催です。
今日は筆者も利用しているMAMPの有料版「MAMP Pro」の使用感について話しを聞けるということ、また、WP Total Hacks等有名プラグインの開発者である宮内氏の新しいプラグイン「Content Template Engine」(WordPressのコンテンツエリアでTwigテンプレートエンジンを使用可能にする)という濃い内容です。来週月曜からアメリカにいくためバタバタしているのですが、是非これは聞いておかねば!!ってことで十三までやってきました。

プログラム


MAMPとは?


WindowsやMacintoshのローカル環境に、開発環境(Apache+PHP, MySQL)を構築してくれる便利なソフトです。起動している時だけ動きます。つまりはWordPressなどウェブサーバー、データベース・サーバー(MySQL)が必要なCMS(コンテンツ・マネジメント・システム)もWindowsやMacintoshでネット接続せずに動作させることができるということです。テストには持って来いですよね!無償版MAMPでも十分使えるのですが、有料版ではどのような違いがあるのでしょうか。それを聞きたくてきました!

筆者がMAMPにであったのは、2013年2月に開催された第14回WordBench大阪でのローカル環境を使ったハンズオンのサポートをしたことが切っ掛けでした。そのときには、MAMP環境で作成したWordPressを本番環境へ移行するにはどうするのだ・・・ということをしていたものでした。この移行は、第32回WordBench大阪において説明されたWP-CLIツールを使った方法がとても便利で現在も愛用しています。

以下、聞いた内容のメモです。※から始まるのは筆者の見解や追加補足情報やコメントです。

セッション1 MAMP Proで簡単につくるWordPress開発環境(深沢氏)



2015年8月18日火曜日

【備忘録】 WPMLプラグインの自動更新方法(WPML 3.1.7以降) #wpml

WordPress - Installer プラグインが激重な件 #wpml で、WPML 3.1.7以降で InstallerプラグインをインストールするとWordPressが激重になるという記事を書きました。

結論

  • Installerプラグインは、WPML3.1.7リリースを持ってサポート打ち切りしたので削除してください。
という回答を得ました。ただ、それはまぁわかっていたのdすが問題は、


にInstallerプラグインの導入が推奨されていることにあります(アーカイブではあるのですが、検索上位にひっかかる)。
ただやり取りするのが面倒(時間ない...)になってきたのと、すでにInstallerプラグインはリンク先からダウンロードできないので、もういいやーって思いました。
でも、もしWPML 3.1.6以下を使っていて、さらにInstallerプラグインで自動更新を構築している場合には、WPML3.1.7以降にアップデートすることで問題起こる可能性があるので纏めておきます。

WPML 3.1.7以降は英語版ドキュメントを見よ!


2015年8月13日木曜日

WordPress - Installer プラグインが激重な件 #wpml

ここ最近、管理画面のみ激遅(何か動作させるのに30秒〜1分ぐらいかかる)ってことで、今日一日チェックしていました。

最初はApacheやMySQL、PHP周りをチェックしましたが、WordPressの特定サイト以外は特に遅いとは感じませんでした。まぁ若干チューニングアップはしましたので、他のサイトが少し速くなったのはよかったかもね。

結論からいうと、WPMLプラグインの自動更新を提供する「Installer」プラグインが犯人でした。こいつを停止すると、約7倍速くなりました... とても気づきにくいのでメモしておきます。

今回の現象

管理画面のみ応答が遅く、よく「接続が切れた」というメッセージが出て使いものにならないレベルになった。ウェブサイトの表示側は問題なし。

2015年7月28日火曜日

WordCamp Kansai 2015に参加して #wck2015

WordCamp Kansai 2015実行委員として頑張ってきた皆様、お疲れ様でした!!

私自身は、他のイベントが2日目にかぶってしまい、1日目のみの参加となりました。

当日の写真(1日目)

https://goo.gl/photos/wVz7hTmGHVAPcKtq6

あまり撮ってないですけど、、、、ね。

英語での情報発信強化を目指して

4月からの途中参加だったのですが、昨年のWordCamp Kansai 2014では英語での情報発信が少なかったので、これを推進したいなと思って広報チームに入りました。前半は、それなりにやっていたのですが、スピーカーとハンズオン世話人をすることになり、その準備に追われてしまって、7月に入ってからは広報チームとしての活動の多くが出来なくなってしまったのが申し訳なかったなーと反省してます。

パンフレット等の詰め合わせ(前日作業)


13時に皆で集まってやったのですが、時間が足りないこと!!
10を超えるパンフレットにA4以外もあり、少ない実行委員で1000部を詰め込むのは、思った以上に重労働でした。13時すぎに開始し、19時前ぐらいになんとか詰められた〜って感じです。会場設営のため一部メンバーが抜けた後も延々と詰めてました(休憩なし)。

次やるときには、もう1日前ぐらいからやったほうがいいなぁと思いました。

いざ、大阪大学へ

台風が心配でしたが、その影響もなくクラクラするほどの暑さで快晴でした!
山の上を登っていく感じで、途中に池があったりと景観のよいところですね!


WordCamp Kansai 2015会場到着!



9時前ぐらいにいったのですが、すでに実行委員、当日スタッフの皆さんが忙しく動きまわっていました。皆さん、お疲れ様でした!!

若干手伝いながらも、世話人している翻訳ハンズオン「踏み出してみよう!翻訳の第一歩」と、セッション「京都大学におけるWordPressを利用した多言語情報発信と管理運用」を掛け持ちしていたので、それらのスライド修正を主にやってました。
実際に300人収納できる講堂をみて、「おおー、もうちょい気合い入れねば!!」と思ったものでした。

WordCamp Kansai 2015開幕!!



始まってすぐにこの状態(10時開幕、10時18分の写真)。結構な人数が来られています。ここは休憩とブースを兼ねたアセンブリホールで、建物で唯一飲食が許された部屋です。スタッフルームでさえ飲食は厳禁です。そうそうスタッフの着替えについては、部屋がガラス張り (^^; だったので、皆トイレで着替えてました。



それが、12時54分ぐらいになると、もう満杯状態に...盛況でなによりです。

軽食と懇親会が無料サービス!!


今回は大盤振る舞いです。近場にあまり飲食店がないこと、当日炎天下だったので軽食はとてもありがたかったです!



最初は、一人一つずつだったのですが、最後余りまくって食べ放題でした (^^;

ハンズオン事前準備部屋

今回ハンズオンをするにあたって事前準備(ネット接続可能なPCやMAMPやWordPressの導入等)が必要でした。ただ、ブラっと来られる方、初心者の方々はそこまで導入が難しいかもしれません。そこで、ハンズオン事前準備部屋というのが設けられたのでした!!

これはとても好評で、多くの方が利用し、その過程でいろいろな方々とコミュニケーションができてとてもよかったです!!

翻訳ハンズオン「踏み出してみよう!翻訳の第一歩 

 

私を除いた世話人4名に対して、参加者は8名。
そのため3名のグループを作って世話人1名に対して、2名の参加者という体制にしました。この少人数制も、突っ込んだところまでいろいろ聞けるのでよかったようで、うまくいったなーと思いました。私も各グループを覗きにいって、フォローが必要そうな人のフォローをしたりしてました。翻訳が初めてな人だけでなくWordPressを触るのも初めてという方もいらっしゃったのですが、皆無事に何がしかの翻訳をし、満足して帰って行かれました。
Translating WordPress を活用した場合、作者に送りつけるという方法ではなく、WordSlackの#translateに「翻訳したぜ!!」って通知する手法がいいという話で、そのあたりも紹介しました。このハンズオンを通じて、世話人も参加者の一部もWordSlackの仲間入りをされましたね!!

冒頭、MAMPやXAMPP等の事前準備をお願いしていたこともあり、セッションチームからの指摘も受け、それらのソフトウェアの取り扱いについて注意喚起しました。
  • ウェブサーバー、データベースサーバーとして動作するため、起動時は他人からアクセスされてしまう恐れがある。
  • MAMPやXAMPPのアプリが起動している時だけ動作する
  • 不要だと感じたらアンインストールすることをオススメします。
      Windowsなら通常のアンインストール方法でよく、Macの場合にはフォルダごと削除してください。
今回、Translating WordPressでの翻訳も触れました。ちょうど一週間ぐらい前に、テーマの多くがここで翻訳できるようになっているのをみて、これはハンズオンで取り入れなければと思い、大幅加筆修正したのでした。

スライドの目次

  1. 筆者紹介
  2. 翻訳手法の紹介
  3. Translating WordPressでの翻訳デモと構成
  4. テーマ・プラグインフォルダで翻訳
  5. 翻訳ツールのご紹介
    1. Poedit
    2. Google Translation Toolkit
    3. Loco Translation プラグイン(WordPress)
    4. 開発者向け(Gettext, WordPerss i18n Tools)
  6. 翻訳ガイドラインについて
  7. デモ(開発者向け以外の、翻訳ツールの詳細利用の手引)
といったところです。

今後翻訳は、Translating WordPress に集約されていくと思います。
まだプラグインはTranslating WordPressに集約されておらず、ですので実験はできませんが、テーマであれプラグインであれTranslating WordPressを使った翻訳をする場合には、若干load_theme_textdomainやload_plugin_textdomainの書き方が変わります。

これはスライドのP18に若干触れていますが、両方対応する記述方法については
WordPress 3.7 以降での言語ファイルのロード方法(Foreignkey, Inc.)さんの情報が分かりやすいかなーと思います。

セッション「京都大学におけるWordPressを利用した多言語情報発信と管理運用


300人収納できる講堂ときいて、気合を入れねば!!ってことで作成していたのですが、15分枠は厳しすぎました〜。次からは20分は欲しいところです(実際、タイムキーパーの方との直前調整で20分にしてもらいました)。

短い時間でタイトルのようなことを伝えるのにどうすればいいのか、かなり悩みました。前日も当日もスライドかなり変更してましたねぇ。

大学のIT関係者の皆さん、是非コミュニティに参加しよう!!


ってのが、一番伝えたかったことだったのですが、こういうイベントって参加されている方おられるんでしょうかねぇ。時間がなかったのでそういう問いかけはしなかったのですが、次回そういう時間があるなら聞いてみたいですね。

一日目の閉幕


実行委員長のカイトさんからの挨拶で閉幕....

さぁ、懇親会(無料)へレッツゴーです!!


懇親会会場となったアセンブリホールは人で埋め尽くされてました。
食べきれないほどの食事が振る舞われ、いろいろな話ができてよかったです。

ただ、時間厳守!!

そう、大学のホールです。
18時30分開始したのですが、20時にはスタッフも含めて全員が外にでなければなりません!!そのため19時30分にお開きした上で、20時までに一日目の片付けをして全員出るという荒業がありました。スタッフ全員力を合わせて無事20時には出ることができました!!皆さんお疲れ様でした。

とうわけで怒涛の一日目が終わったのでした。
私は翌日の他のイベント(盲導犬育成のためのチャリティコンサート)の裏方スタッフなので(一年前から決まっていた...)、そのまま帰りました。二日目出られなくて残念!!

皆さんお疲れ様でした!!


2015年7月28日
@kimipooh