WebOS Goodies

WebOS の未来を模索する、ゲームプログラマあがりの Web 開発者のブログ。

WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
Subscribe       

webapp-config による Web アプリケーションのアップデート

先日、 Portage の安定版 phpMyAdmin が 2.8.0.2 にアップデートされました。 **webapp-config** を使ってインストールしたアプリケーションの初めての更新なので、本日はそれを題材に **webapp-config** を使った Web アプリケーションの更新方法をご紹介しようと思います。

なお、 **webapp-config** についての詳細は、 Web アプリをバーチャルホスト環境にインストールするなどの記事をご参照ください。

パッケージの更新

Portage によるパッケージの更新はいつもどおりですが、 **webapp-config** を使用するときのためにバージョン番号を確認しておく必要があります。まずは以下のようにして更新後のバージョン番号を表示させ、それをメモしておきましょう。

emerge --update --pretend dev-db/phpmyadmin

今回は以下のように表示されているので、バージョン番号は 2.8.0.2 です。

[ebuild  NS   ] dev-db/phpmyadmin-2.8.0.2

バージョン番号が確認できたら、実際にパッケージを更新しましょう。いつもどおり、以下のコマンドで OK です。

emerge --update dev-db/phpmyadmin

もちろん "emerge --update world" で他のパッケージといっしょに更新してもかまいません。更新されたファイル群は以下のディレクトリにインストールされます。

/usr/share/webapps/<パッケージ名>/<バージョン>

更新が終わったら、念のため etc-update か dispatch-conf を実行しておきましょう。

webapp-config の実行

vhosts USE フラグが有効になっている場合は、パッケージを更新しただけでは実際に使用している Web アプリケーションは更新されません。更新を完了するためには、以下のようにして **webapp-config** を実行します。

webapp-config -U [オプション] [-h <バーチャルホスト名>] \
    [-d <ディレクトリ>] <パッケージ名> <バージョン>
バーチャルホスト名
バーチャルホスト の FQDN を指定します。インストールディレクトリの指定のほか、 Web アプリケーションが自身の URL を必要とする場合にも使用されるようです。-h オプションを省略すると、localhost が指定されたものとみなします。
ディレクトリ
"htdocs" 以下に指定されたディレクトリを作成し、そこにインストールします。-d オプションを省略すると、"htdocs" 直下にインストールされます。
パッケージ名, バージョン
Portage がインストールしたディレクトリと同じものを指定してください。

今回の場合、 phpMyAdmin が "/var/www/localhost/htdocs/phpmyadmin" にインストールされていたとすると、実行するコマンドは以下のようになります。

webapp-config -U -h localhost -d phpmyadmin phpmyadmin 2.8.0.2

これでパッケージはアップデートされましたが、場合によっては追加の手順が必要になります。その場合 **webapp-config** の最後でその旨のメッセージが出力されますので確認してください。

設定ファイルの更新

phpMyAdmin の場合、 webapp-config の最後で以下のように表示されます。

* One or more files have been config protected
* To complete your install, you need to run the following command(s):
*
* CONFIG_PROTECT="/var/www/localhost/htdocs/phpmyadmin//libraries" etc-update

どうやら、 etc-update で設定ファイルを更新してやる必要があるようですね。メッセージに従い、以下のコマンドを実行します。 etc-update の使い方はこちらの記事をご覧ください。

CONFIG_PROTECT="/var/www/localhost/htdocs/phpmyadmin/libraries" etc-update

これでアップデートは完了です。サイトにアクセスして、動作確認をしてみてください。

古いパッケージの削除

通常、 Web アプリケーションは更新しても古いパッケージが削除されません。ですので、動作確認がとれたら古いパッケージは手動で削除しましょう。今回の場合、"dev-db/phpmyadmin" の 2.8.0.2 より古いパッケージを削除すればよいので、以下のように emerge を実行すればよいでしょう。

emerge --unmerge '<dev-db/phpmyadmin-2.8.0.2'

これで古いパッケージも綺麗さっぱりなくなって、完全に新しいバージョンに移行できました。

以上、本日は phpMyAdmin を題材にして Gentoo Linux における Web アプリケーションのアップデート方法をご紹介しました。全体的にいちいちバージョン番号を指定するのが面倒ですが、難しい作業ではありませんね。慣れてしまえばさくさく終わると思います。これならたくさん Web アプリケーションをインストールしても安心ですね!(^^)

関連記事

この記事にコメントする

Recommendations
Books
「Closure Library」の入門書です。
詳しくはこちらの記事をどうぞ!
Categories
Recent Articles