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 アプリケーションをインストールしても安心ですね!(^^)
詳しくはこちらの記事をどうぞ!
この記事にコメントする