Debian 7(wheezy)でWordPress4.xを使う その1: 調査と準備

調査

前回はこのブログのテーマをSimplicityにしたことによる効果を紹介しました。

今回は少し話題が変わってWordPress本体の話です。SimplicityというテーマはWordPress Popular Postsというプラグインと連携したウィジェットを利用することができます。

しかし、WordPress Popular PostsプラグインはWordPress3.8以上に対応しているため、現状のWordPress3.6をアップデートする必要が出てきました。

WordPress Popular Posts
WordPress Popular Posts
Developer: Hector Cabrera
Price: Free

DebianのWordPressパッケージの状況

下記のURIにアクセスしてDebianのWordPressパッケージの状況を見てみます。

DebianのWordPressパッケージ

これを見ると、私の使用しているDebian 7(wheezy)ではWordPres3.6.1が利用できることがわかります。WordPress3.8以上を使うためにはjesieのWordPressパッケージを使う必要が出てきます。

jessieのパッケージを流用

今回はこのjessie(testing)のパッケージの流用にチャレンジします。以前、Debian 6(squeeze)に対してwheezyのWordPressパッケージを流用したことがありました。

今回は、Debian 6.0のシステムに強引にDebian 7.0 (wheezy)のWordPressパッケージ(バージョン3.3.x)をインストールするための準備を行います。 調べたところ依存パッケージの問題は内容で、簡単にいきそうです。 次回は万が一のためにWordPressのデータをバックアップします。

この時と同様にパッケージの流用を進めてみます。

jessie用パッケージ入手の準備

まず次の内容のファイルを/etc/apt/sources.list.d/ディレクトリに「jessie.list」というファイル名で作ります。

deb http://ftp.jp.debian.org/debian jessie main contrib non-free
deb-src http://ftp.jp.debian.org/debian jessie main contrib non-free

次に/etc/apt/preferences.d/ディレクトリにファイル名「jessie」で次の内容のファイルを作ります。

Package: *
Pin: release n=jessie
Pin-Priority: 110

ここまで準備できたらapt-getコマンドでパッケージ情報を更新します。

apt-get update

設定の確認

ここまでの設定がうまくいっているかどうかを確認してみましょう。まず、パッケージ管理システムが把握しているwordpressパッケージの情報を表示させてみます。

apt-cache showpkg wordpress
Package: wordpress
Versions:
4.1+dfsg-1 (/var/lib/apt/lists/ftp.jp.debian.org_debian_dists_jessie_main_binary-amd64_Packages)
 Description Language:
                 File: /var/lib/apt/lists/ftp.jp.debian.org_debian_dists_jessie_main_binary-amd64_Packages
                  MD5: 3558d680fa97c6a3f32c5c5e9f4a182a
 Description Language: en
                 File: /var/lib/apt/lists/ftp.jp.debian.org_debian_dists_jessie_main_i18n_Translation-en
                  MD5: 3558d680fa97c6a3f32c5c5e9f4a182a

3.6.1+dfsg-1~deb7u5 (/var/lib/apt/lists/ftp.jp.debian.org_debian_dists_wheezy_main_binary-amd64_Packages) (/var/lib/apt/lists/security.debian.org_dists_wheezy_updates_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language:
                 File: /var/lib/apt/lists/ftp.jp.debian.org_debian_dists_jessie_main_binary-amd64_Packages
                  MD5: 3558d680fa97c6a3f32c5c5e9f4a182a
 Description Language: en
                 File: /var/lib/apt/lists/ftp.jp.debian.org_debian_dists_jessie_main_i18n_Translation-en
                  MD5: 3558d680fa97c6a3f32c5c5e9f4a182a


Reverse Depends:
  wordpress-xrds-simple,wordpress
  wordpress-openid,wordpress
(以下省略)

4行目にjessieのパッケージの情報(WordPress4.1のパッケージ)が、12行目にwheezyのパッケージの情報(WordPress3.6.1のパッケージ)が表示されており、正しくjessieとwheezyのパッケージを認識していることがわかります。

次にjessieのパッケージが勝手にインストールされないことを確認します。–no-actオプションを付けてapt-get updateしてみましょう。正しく設定されていれば何もインストールされないはずです。これでWordPress4.1のパッケージがインストールされるようだと、何か設定が間違っています。

apt-get --no-act upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。

また、同様に–no-actオプションを付けてwordpressパッケージをインストールしようとすると既にインストール済みと表示されるはずです。これはパッケージ管理システムとしてはあくまでもwheezyのパッケージをメインとして扱っているからです。

apt-get --no-act install wordpress
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
wordpress はすでに最新バージョンです。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。

最後にjessieを指定して再度同じことをしてみます。今度はWordPress4.1のパッケージをインストールしようとするはずです。

apt-get --no-act -t jessie install wordpress
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libphp-snoopy php5-cli tinymce
これを削除するには 'apt-get autoremove' を利用してください。
以下の特別パッケージがインストールされます:
  libao-common libao4 libc-dev-bin libc6 libc6-dev libcurl3-gnutls libffi6 libflac8 libgmp10 libgnutls-deb0-28
  libhogweed2 libjs-jquery libjs-mediaelement libnettle4 libogg0 libp11-kit0 libphp-phpmailer librtmp1 libspeex1
  libtasn1-6 libvorbis0a libvorbisenc2 libvorbisfile3 php-getid3 vorbis-tools wordpress-l10n
  wordpress-theme-twentyfifteen
提案パッケージ:
  libaudio2 libesd0 libesd-alsa0 libpulse0 glibc-doc gnutls-bin speex
以下のパッケージは「削除」されます:
  locales
以下のパッケージが新たにインストールされます:
  libao-common libao4 libcurl3-gnutls libffi6 libflac8 libgnutls-deb0-28 libhogweed2 libjs-jquery libjs-mediaelement
  libnettle4 libogg0 librtmp1 libspeex1 libtasn1-6 libvorbis0a libvorbisenc2 libvorbisfile3 php-getid3 vorbis-tools
  wordpress-theme-twentyfifteen
以下のパッケージはアップグレードされます:
  libc-dev-bin libc6 libc6-dev libgmp10 libp11-kit0 libphp-phpmailer wordpress wordpress-l10n
アップグレード: 8 個、新規インストール: 20 個、削除: 1 個、保留: 443 個。
(以下省略)

wordpressにつられて多くのパッケージがインストールされるのが気になりますが(特にlibcパッケージがアップグレードされるのが心配・・・)、パッケージの設定としては大丈夫なようです。

まとめ

今回はDebian 7(wheezy)でjessieのWordPressパッケージ(バージョン4.1)を使う準備を整えました。

jessieのWordPressパッケージをwheezyで使おうとすると、libcパッケージも一緒にアップグレードされてしまうことがわかりました。

次回は万が一に備えてバックアップを行います。