概要
Ubuntu 22.04を検証機にインストールしたので、nginx環境を構築します。
前提
- OSインストール済み
- 初期設定完了済み
さっくりとした手順
- 必要なパッケージをインストールします。
- nginxのレポジトリを追加します。
- aptitudeでnginxのインストールを行います。
- phpのレポジトリを追加します。
- aptitudeでphpのインストールを行います。
- apache2を停止し、nginxサービスを有効化します。
- 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)を確認します。