2016年2月16日火曜日

FreeBSD PHP5.6 へアップグレード

FreeBSD の ports をチェックすると php5(php5.4) の ports ツリーが削除されていることを知りました。我が家の自宅サーバ(FreeBSD 9.3)では、この php5 で PukiWiki を動作させている関係上、php5 のアップグレードとそれに伴った PukiWiki のアップグレードも必要となりました。この記事では PHP5 のアップグレードについて記述します。
mod_php5-5.4.45,1           ?  error - origin not found
php5-5.4.45                 ?  error - origin not found
php5-ctype-5.4.45           ?  error - origin not found
php5-dom-5.4.45             ?  error - origin not found
php5-extensions-1.7         ?  error - origin not found
php5-filter-5.4.45          ?  error - origin not found
php5-gd-5.4.45_1            ?  error - origin not found
php5-gettext-5.4.45         ?  error - origin not found
php5-hash-5.4.45            ?  error - origin not found
php5-iconv-5.4.45           ?  error - origin not found
php5-json-5.4.45            ?  error - origin not found
php5-mbstring-5.4.45_1      ?  error - origin not found
php5-mcrypt-5.4.45          ?  error - origin not found
php5-mysql-5.4.45           ?  error - origin not found
php5-openssl-5.4.45         ?  error - origin not found
php5-pdo-5.4.45             ?  error - origin not found
php5-pdo_sqlite-5.4.45      ?  error - origin not found
php5-phar-5.4.45            ?  error - origin not found
php5-posix-5.4.45           ?  error - origin not found
php5-session-5.4.45         ?  error - origin not found
php5-simplexml-5.4.45       ?  error - origin not found
php5-sqlite3-5.4.45         ?  error - origin not found
php5-tokenizer-5.4.45       ?  error - origin not found
php5-xml-5.4.45             ?  error - origin not found
php5-xmlreader-5.4.45       ?  error - origin not found
php5-xmlwriter-5.4.45       ?  error - origin not found
php5-zlib-5.4.45            ?  error - origin not found

PHP5.6 へアップグレード

/usr/ports/UPDATING を確認すると php56 へのアップグレードの通知はちょうど一年前に出ていました(苦笑)。
20150220:
  AFFECTS: users of PHP

  The default PHP version has been updated from 5.4 to 5.6.

  If you use binary packages you should make a list of php packages
  before running 'pkg upgrade':

  # pkg info php5\* > ~/installed-php-ports-list

  After the upgrade, check with such list if all your php extensions
  are still installed, and reinstall them if needed.

この UPDATING の指示通りに以前にも行ったことがありますが、上手くアップグレードが出来なかった経験があります。そのため、ずっと PHP5.4 を使い続けていたはずです。

そこで今回は、単純に PHP5.4 の削除と PHP5.6 のインストールによってアップグレードを行いました。

メタデータの変更

PKG の取り扱い方法の解説にもあるメタデータの変更を行いました。
# pkg set -o lang/php5:lang/php56
Change origin from lang/php5 to lang/php56 for php5-5.4.45? [y/N]: y

# pkg set -o lang/php5-extensions:lang/php56-extensions
Change origin from lang/php5-extensions to lang/php56-extensions for php5-extensions-1.7? [y/N]: y

PHP5.4 の削除と PHP5.6 のインストール

まず PHP5.4 の削除を行いました。この PHP5.4 の削除によって、依存関係から PHP5.4 の拡張機能(Extensions)や Apache 用のモジュールも一緒に削除となりました。
# pkg delete php5-5.4.45
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 27 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
    php5-5.4.45
    php5-session-5.4.45
    php5-tokenizer-5.4.45
    php5-filter-5.4.45
    php5-xml-5.4.45
    php5-xmlreader-5.4.45
    php5-iconv-5.4.45
    php5-ctype-5.4.45
    php5-mysql-5.4.45
    php5-simplexml-5.4.45
    php5-sqlite3-5.4.45
    mod_php5-5.4.45,1
    php5-zlib-5.4.45
    php5-hash-5.4.45
    php5-pdo_sqlite-5.4.45
    php5-extensions-1.7
    php5-pdo-5.4.45
    php5-gd-5.4.45_1
    php5-mcrypt-5.4.45
    php5-openssl-5.4.45
    php5-dom-5.4.45
    php5-posix-5.4.45
    php5-gettext-5.4.45
    php5-mbstring-5.4.45_1
    php5-json-5.4.45
    php5-phar-5.4.45
    php5-xmlwriter-5.4.45

The operation will free 22 MiB.

Proceed with deinstalling packages? [y/N]: y

次にPHP5.6 をインストールしました。
# pkg install lang/php56
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Checking integrity... done (0 conflicting)
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
    php56: 5.6.18

The process will require 15 MiB more space.

Proceed with this action? [y/N]: y

そして PHP5 拡張機能(Extensions)をインストールしました。
# pkg install lang/php56-extensions
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
The following 19 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
    php56-extensions: 1.0
    php56-session: 5.6.18
    php56-xml: 5.6.18
    php56-tokenizer: 5.6.18
    php56-hash: 5.6.18
    php56-xmlreader: 5.6.18
    php56-dom: 5.6.18
    php56-pdo_sqlite: 5.6.18
    php56-pdo: 5.6.18
    php56-ctype: 5.6.18
    php56-iconv: 5.6.18
    php56-filter: 5.6.18
    php56-opcache: 5.6.18
    php56-posix: 5.6.18
    php56-simplexml: 5.6.18
    php56-sqlite3: 5.6.18
    php56-xmlwriter: 5.6.18
    php56-json: 5.6.18
    php56-phar: 5.6.18

The process will require 1 MiB more space.
568 KiB to be downloaded.

Proceed with this action? [y/N]: y

この他に mbstring(php56-mbstring-5.6.18_1) の拡張機能も追加でインストールしておきました。

Apache 用モジュールのインストール

ウェブサーバの Apache 用のモジュールもインストールしました。
# pkg install mod_php56
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
    mod_php56: 5.6.18

The process will require 4 MiB more space.
970 KiB to be downloaded.

Proceed with this action? [y/N]: y
(この項目を追記しました。)

ウェブサーバ(Apache)の再起動

ウェブサーバを再起動させて、インストールしたばかりの PHP5.6 をロードしました。
# apachectl restart

動作確認

PHP5 で動作している PukiWiki のページをブラウザで開いたところ、日本語の部分がすっぽりと抜けている状態でした。
そして最近ではほとんど使用していない rep2 を確認したところ、こちらは無事動作しているようでした。

PukiWiki の動作不良の対策については、以下の記事へ記述しました。
PukiWiki 1.5.0 へアップグレード
http://near-unix.blogspot.jp/2016/02/pukiwiki.html

0 件のコメント:

コメントを投稿