概要

Ubuntu 22.04を検証機にインストールしたので、nginx環境を構築します。

前提

  • OSインストール済み
  • 初期設定完了済み

さっくりとした手順

  1. 必要なパッケージをインストールします。
  2. nginxのレポジトリを追加します。
  3. aptitudeでnginxのインストールを行います。
  4. phpのレポジトリを追加します。
  5. aptitudeでphpのインストールを行います。
  6. apache2を停止し、nginxサービスを有効化します。
  7. php8.3用のfpmをインストールします。

パッケージのインストール

sudo aptitude install curl gnupg2 ca-certificates lsb-release ubuntu-keyring build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev git

先を見据えてgit等もついでにインストールします。

レポジトリ追加

  • レポジトリ追加
cat <<- __EOF__ | sudo tee -a /etc/apt/sources.list.d/nginx.list
deb https://nginx.org/packages/ubuntu/ jammy nginx
deb-src https://nginx.org/packages/ubuntu/ jammy nginx
__EOF__
  • 鍵追加
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62

nginxで統一されている鍵を利用します

nginxインストール

  • パッケージ更新
sudo aptitude update

実行時、W: https://nginx.org/packages/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.の警告は無視して大丈夫です。

  • インストール
sudo aptitude install nginx
  • バージョン確認
nginx -v

2023/12/29時点ではnginx/1.24.0と表示されていました

php8.3インストール

  • レポジトリ追加
sudo add-apt-repository ppa:ondrej/php
  • パッケージアップグレード
sudo aptitude update
sudo aptitude install php8.3

sudo aptitude install php8.3-{opcache,pdo,bcmath,calendar,ctype,fileinfo,ftp,gd,intl,json,ldap,mbstring,mysql,posix,readline,sockets,bz2,tokenizer,zip,curl,iconv,phar,xml,dev}

sudo aptitude install php8.3-{imagick,gmp}
  • バージョン確認
php -v

2023/12/29時点では PHP 8.3.1と表示されていました

apache2の無効化とnginxの再開

依存関係で、apacheが同時にインストールされます。本検証ではnginxを用いるので、apache2を無効化します。

  • apache2停止
sudo systemctl stop apache2.service
  • apache2自動起動停止
sudo systemctl disable apache2.service
  • apache2停止確認
systemctl status apache2.service

inactive(dead)を確認します

  • nginx再開
sudo systemctl start nginx
  • nginx自動起動有効化
sudo systemctl enable apache2.service
  • nginx起動確認
sudo systemctl status nginx
  • curlによる起動確認
curl http://localhost

Welcome to nginx! を確認します。

php-fpmインストール

nginxとphpを連携させるfpmをインストールします。

  • インストール
sudo aptitude install php8.3-fpm
  • インストール確認
systemctl status php8.3-fpm

active(running)を確認します。