前回はServersMan@VPSに導入しているDebian GNU/Linuxをsqueezeからwheezyに更新しようと思ったところ、あえなく失敗しました。
Debianを更新したい主目的はnginxとWordPressを最新に更新したいということだったので、今回は手動でnginxを更新したいと思います。
APT設定の変更
nginxを使うにあたりwww.dotdeb.orgというサイトのパッケージを利用していました。
ところがnginxの公式サイトを見ると、公式サイトでDebian用のnginxのパッケージを配布していることがわかりました。
このサイトの記述にしたがって次の内容のファイルを/etc/apt/sources.list.d/nginx.listとして作成します。
deb http://nginx.org/packages/debian/ squeeze nginx deb-src http://nginx.org/packages/debian/ squeeze nginx
次にnginxのPGPキーを入手して自分のシステムに追加します
wget http://sysoev.ru/pgp.txt apt-key add pgp.txt
古いnginxの削除
nginxのパッケージ構成が異なっていて、トラブルを起こす可能性があるので、古いパッケージは設定ファイルをバックアップした後、削除しておきます。
削除するときに依存関係の警告が出るので–force-dependsをつけて強制的に削除します。
cd /etc cp -a nginx nginx.back dpkg --force-depends --purge nginx nginx-common nginx-doc nginx-full
nginxの更新
それではパッケージを更新します。
まずはパッケージ情報一覧を更新します。
apt-get update
... パッケージリストを読み込んでいます... 完了 W: GPG エラー: http://nginx.org squeeze Release: 公開鍵を利用できないため、以下 の署名は検証できませんでした: NO_PUBKEY ABF5BD827BD9BF62
PGPキーを追加したはずなのですがエラーが出ます・・・よくわかりませんがこのまますすめます
apt-get install nginx
... 警告: 以下のパッケージは認証されていません! nginx 検証なしにこれらのパッケージをインストールしますか [y/N]? y ... nginx (1.4.1-1~squeeze) を設定しています ... 設定ファイル /etc/nginx/nginx.conf を新規にインストールしています ... 設定ファイル /etc/nginx/koi-utf を新規にインストールしています ... 設定ファイル /etc/nginx/mime.types を新規にインストールしています ... 設定ファイル /etc/nginx/fastcgi_params を新規にインストールしています ... 設定ファイル /etc/nginx/koi-win を新規にインストールしています ... 設定ファイル /etc/nginx/win-utf を新規にインストールしています ... 設定ファイル /etc/nginx/uwsgi_params を新規にインストールしています ... 設定ファイル /etc/nginx/scgi_params を新規にインストールしています ... 設定ファイル /etc/init.d/nginx を新規にインストールしています ... 設定ファイル /etc/default/nginx を新規にインストールしています ... 設定ファイル /etc/logrotate.d/nginx を新規にインストールしています ... ...
よくよく見ると/etc/nginx/nginx.conf が上書きされているのがわかります。
バックアップした設定ファイルを書き戻します
cd /etc cp -a /etc/nginx.back/* /etc/nginx/
また必要なディレクトリを作成しておきます
mkdir /var/lib/nginx chown www-data.www-data /var/lib/nginx
ここまで来たら設定ファイルに間違えないことを確認してから、nginxを再起動します
/etc/init.d/nginx configtest
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
/etc/init.d/nginx restart
[ ok ] Restarting nginx: nginx.
まとめ
今回はnginxをhttp://nginx.org/で公開されているDebian squeeze用のパッケージを使って、最新版に更新しました。
設定ファイルnginx.confが上書きされてしまうので、そのバックアップだけとっておけば、ほかは特に問題ないと思います。
次回はDebian squeezeのWordPressを3.3.2から3.5系列に更新したいと思います。
コメント