[技術]WordPress 4.0がリリースされました

wordpress4.0

前回、Sueface Pro3に関するブログを書いていて気がついたのですが
Wordpress、4.0 (“ベニー”) がリリースされたようですね。
今までは3.X 系で 今回で4.X 系になったのに
(メジャーアップではないというあたり、「ん?」って感じですが…)

4.0での変更点は こちら
※ WordPress.com のサイトにリンクします

ざっくりと見たところ、大きめな変更点は以下3つのようです。

1.言語切替方法の変更

今までは、Wordpressをサーバ上にインストール際に使用する言語を
選択していたのですが、4.0からはインストール後の管理画面で
変更ができるようになるようです。
ただ、変更すると以下のようになるのが「まじか?」と思いました。

こちらで English (United States) にすると機能的にも
完全に英語版になりますのでその点をご留意ください

表示だけでなく、機能面も変わってしまうというのは怖いなぁと。
マルチバイト対応がなくなってしまえば、日本語に戻したとしても
書いてあった内容が文字化けしてしまう可能性もありそう。。
迂闊に変更することはできないということですね。
(するかどうかはおいといて)

参考:WordPress 4.0 における言語関連実装の変更とその注意点

2.埋め込みメディアの追加

WordPressではYouTubeの動画のURLをエディタ内に書くだけで
自動で動画の再生画面が開きます。

ただし、これはWordpressの純粋なエディタ使用時だけ有効であり
他のエディタプラグインを使用している場合は本機能は使えません。
※ 使用している Ultimte TinyMCE というプラグインではだめでした。
  ただ、このプラグインでYouTubeのみ、Iframe又はembedタグで
  動画を挿入できます(再生画面はプレビューしなくてはできませんが)

この埋め込みメディアの種類が TED を含め、何個か追加された模様
詳細はこちら

3.エディタ部分の動的化

書く文章量に応じてエディタの縦幅が動的に広がるようです。
文章をたくさん書く方にはいいのかもしれませんが、個人的には
「う~ん。別にいらないかな」って感じでした。


冒頭の変更点のリンクには他にも変更点が書いてありますが
大き目の変更として、以上3点を挙げさせていただきました。


いろいろ追加された4.0ですが、今使用しているWordpressは
いろいろとカスタマイズしていることもあり、バージョンアップ後に
変更を反映させるのが面倒なのとめぼしいUpdateもないので
4.0へのバージョンアップは今のところ見送り。
#すでに4.1の話がでているようなので、それ待ちかなぁ。

[技術]resolv.confが勝手に書き換わる問題

さくらインターネットからレンタルしているサーバ(VPS)で
ワードプレスを構築し、このブログを書いています。

突然外部のサーバにアクセスできなかったり、プラグインの
検索や更新ができなくなったりして若干はまったので
その対応の備忘録。

同様の現象が起きた方、参考にしていただければと。
※現象が発生したOSは CentOS 6 でした。

結論は /etc/resolv.conf の内容が勝手に書き換わって
いたため、DNS(Domain Name Server)へアクセスできず
名前解決できなくなっていたからでした。
どのDNSへアクセスするかを制御しているのが resolv.conf となります。

名前解決とは、ドメイン(goole.comやyahoo.co.jpなど)から
IPアドレス(192.168.XXX.XXX 的な数字)を割り出すことをいいます。
ネットワークの世界ではこの数字を元に、URLのアクセスを行います。
(ざっくりいうと)


発生したエラー内容は以下。(正確な文言はメモしてませんでした)

「プラグインの検索ができませんでした。サーバ上の設定に問題が
あると思われるので、ホスティング会社に問い合わせしてみてください」

早速、さくらインターネットに問い合わせ。
回答は、VPSなので詳細調査はできないが
・resolv.conf を書き換えることはしない。
・NetworkManagerデーモンが起動していれば勝手に
 書き換わる可能性があるので確認してみてください

とのこと。結局自分で調べることに(泣)
Name or service not known というメッセージもでていたので
NetworkManagerデーモン含め、DNS周りからの調査。

まずはNetworkManagerデーモン起動チェック

chkconfig --list NetworkManager
NetworkManager  0:off   1:off   2:off   3:on    4:on    5:off   6:off

3:on 4:on の設定・・・起動している。。。
なので、停止を実行

chkconfig NetworkManager off
NetworkManager  0:off   1:off   2:off   3:off   4:off    5:off   6:off

次にresolv.confの確認

vi /etc/resolv.conf
# Generated by NetworkManager
search com

# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com

DNS1、DNS2、DOMAINの設定がない!!

resov.conf の設定はファイルを更新してもネットワークを
再起動すればもとに戻ってしまうので、このファイルを
生成するスクリプトファイルを修正

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"                                                           
IPADDR="XXX.XXX.XXX.XXX"
NETMASK="XXX.XXX.XXX.XXX"
GATEWAY="XXX.XXX.XXX.XXX"
ONBOOT="yes"
TYPE="Ethernet"
IPV6INIT="yes"
IPV6_ROUTER="no"
IPV6ADDR="XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX/64"
DOMAIN="XXXXXXXX"
DNS1="XXX.XXX.XXX.XXX"
DNS2="XXX.XXX.XXX.XXX"

DOMAINに借りているサーバに設定しているドメイン
DNS1、DNS2は使用するDNSサーバのIPアドレス
をそれぞれ入力。
私の場合、さくらインターネットのDNSのIPアドレスを入力。

設定反映のため、ネットワーク(eth0)を再起動
※環境によって、ネットワークは異なります(eth1、eth2など)

service network restart

resolv.conf の再確認

vi /etc/resolv.conf
# Generated by NetworkManager                                           
search hlis-toproad.com com
nameserver XXX.XXX.XXX.XXX
nameserver XXX.XXX.XXX.XXX

searchには検索するドメイン
nameserverには上で設定したDNS1/DNS2のIPアドレスが
表示されていれば設定完了。

無事、プラグインの検索/更新と
外部サーバへのアクセスができました。

○参考記事
http://easyramble.com/ping-test-and-delete-networkmanager.html
http://demosite.jpaccess.net/wiki/index.php?Vine5%2Fresolv.conf%A4%C8ifcfg-eth0