146
144

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ubuntuに最新のnginxをインストールする

Last updated at Posted at 2014-10-07

ubunutの初期リポジトリからapt-getでnginxをインストールすると、残念ながらだいぶ遅れたnginxがインストールされます。

2016/3/12 本稿の手順をansibleで書いた場合の参考例を追加しました。

マニュアルインストール編

最新版をインストールするには、以下の3つがあります。

  1. ソースからコンパイル
  2. PPAからインストール
  3. 公式nginxをリポジトリに追加

1はconfigureとか色々とやることが多いので2か3を使いたいところです。
また、PPAは正直何が混入されているかわからないので、最終的には3の公式の最新版を使いたい訳です。

ということで、今回は、3の方法でインストールする方法です。

# (1) nginxサイトが配布するPGPキーを追加
curl http://nginx.org/keys/nginx_signing.key | sudo apt-key add -

# (2) リポジトリを一覧に追加
VCNAME=`cat /etc/lsb-release | grep DISTRIB_CODENAME | cut -d= -f2` && sudo -E sh -c "echo \"deb http://nginx.org/packages/ubuntu/ $VCNAME nginx\" >> /etc/apt/sources.list"
VCNAME=`cat /etc/lsb-release | grep DISTRIB_CODENAME | cut -d= -f2` && sudo -E sh -c "echo \"deb-src http://nginx.org/packages/ubuntu/ $VCNAME nginx\" >> /etc/apt/sources.list"

# (3) アップデート後、nginxをインストール
sudo apt-get update
sudo apt-get install nginx

NOTE
(2)のリポジトリを追加するコマンド内にある"trusty"はお使いのOSに応じ、下表を参考に任意のOSコード名を設定してください。
上記コマンドでOSコード名を自動取得するように修正しました。OSのバージョンを気にせず、コピペでご利用いただけます。

OSバージョン コード名
10.04 lucid
12.04 precise
14.04 trusty
14.10 Utopic
15.04 vivid
15.10 wily
16.04 xenial
16.10 Yakkety
17.04 Zesty

Ansible編

ansibleを使うとOSの情報が取得できるので以下のようなYMLファイルでインストールできます。ANYHOSTのところはよしなに書き換えてください。
ansible便利ですね。

- hosts: ANYHOST
  become: yes
  vars:
    nginx_pgp_url: http://nginx.org/keys/nginx_signing.key
    nginx_repository_url: http://nginx.org/packages/ubuntu/
  tasks:
    - name : Add official nginx PGP key
      apt_key: url={{nginx_pgp_url}} state=present
    - name : Add official nginx repository
      lineinfile : >
        dest=/etc/apt/sources.list
        line='{{item}} {{nginx_repository_url}} {{ansible_distribution_release}} nginx'
      with_items:
        - deb
        - deb-src
    - name : Run apt-get update
      apt: update_cache=yes
    - name : Install nginx
      apt : name=nginx state=present

146
144
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
146
144

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?