さくらのVPSでCentOS 8+Nginx+WordPress環境を構築(3/4)

2020年1月28日Linux,WebサイトCentOS8,nginx,VPS,WordPress

前回、SSHの設定を行って、手元のPCからVPSサーバーへアクセスできるようにしました。

今回は引き続いて、Nginxのインストールと設定を行っていきます。

記事一覧

その1:さくらのVPSにCentOS 8をインストール
その2:SSHの設定
その3:Nginx、MariaDBなどのインストール ←本記事
その4:Nginx、MariaDBなどの設定とWordPressの配置

と、その前に

利便性をあげるためいくつか設定を行っておきます。これらは必須ではありません。好みに応じて設定しましょう。

はじめはソフトの自動更新設定です。セキュリティー向上のため、ソフトのアップデートを自動化しておきます。

dnf-automaticをインストールします。

sudo dnf install dnf-automatic

インストールしただけだと、更新をダウンロードするだけでインストールしてくれないため、設定ファイルを更新します。設定ファイルはこちらです。

sudo nano /etc/dnf/automatic.conf

apply_updateをyesに変更します。

apply_updates = yes

また、dnf-automaticを有効化(自動起動)して、起動します。

sudo systemctl enable dnf-automatic.timer && \
sudo systemctl start dnf-automatic.timer

次に、bashのオートコンプリートを入れます。次のコマンドでインストールします。タブキーでコマンドの補間をしてくれるようになります。

sudo dnf install bash-completion

 また、bashrcも変更しておきます。

nano ~/.bashrc

私は下記の設定を追加しました。1行目は、プロンプトを緑色にして、実行時刻を表示しています。2行目はllというコマンドを実行すると「ls -alF」を実行するようにエイリアスを設定しています。

PS1='\[\e[32m\][\t \u@\h \W]\$\[\e[0m\] '
alias ll='ls -alF'

Nginxのインストール

Nginxの公式リポジトリでは現時点での最新版の1.17が配信されているようですが、今回はCentOS 8のリポジトリにある1.16をインストールすることにします。

CentOS 8ではパッケージ管理システムがyumからDNFに変更となり、モジュールという考え方が導入されました。これによって、パッケージのバージョン切り替えが簡単にできるようになったようです。

インストールできるNginxのバージョンを調べてみます。

dnf module list nginx
Last metadata expiration check: 1 day, 12:59:56 ago on Sat 25 Jan 2020 10:39:24 AM JST.
CentOS-8 - AppStream
Name           Stream           Profiles           Summary                
nginx          1.14 [d]         common [d]         nginx webserver        
nginx          1.16             common             nginx webserver    

ということで、CentOS-8 AppStreamリポジトリでは、Nginxの1.14か1.16をインストールできます。今回はNginx 1.16をインストールしますので、次のコマンドを実行します。※epel-modularリポジトリではNginx mainlineが配信されていますが、調べられていません。

sudo dnf module install nginx:1.16/common

追記:DNFでNginx mainlineをインストールする方法を、別記事で投稿しました。こちらの記事をご覧ください。

追記おわり

インストールが終わりましたら、有効化して起動します。

sudo systemctl start nginx && \
sudo systemctl enable nginx

また、80番ポートを開放します。

sudo firewall-cmd --add-service http  &&\
sudo firewall-cmd --add-service http --permanent

ブラウザからVPSのIPアドレスにアクセスしてみて、Nginxのサンプルページが表示されたら成功です。

PHPのインストール

PHPは、Remiリポジトリから7.4をインストールすることにします。

sudo dnf install epel-release && \
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm && \
sudo dnf module install php:remi-7.4

WordPress環境で必要になるソフトもインストールします。

sudo yum install php-fpm php-mysqlnd php-json php-xml php-gd php-mbstring php-pecl-zip php-pecl-imagick

php-fpmとphp-mysqlndは、WordPressを動かすのに必須のものです。前者はNginxからPHPを動かすために、後者はWordPress(PHP)からMySQLを動かすのに使われます。(php-mysqlが見つからなかったので、代わりにphp-mysqlndを入れました)

php-xmlは、WordPressでAMPプラグインを使用する際に必要なようです。

php-gdは、WordPress上で画像編集を行う際に必要になります。

その他は、WordPressが推奨するパッケージです。

MariaDBのインストール

続いて、データベースシステムをインストールします。今回はMySQLの派生であるMariaDBを選びました。

MariaDBは次のコマンドでインストールできます。

sudo dnf install mariadb-server

一通りソフトのインストールが終わりました。

次回は、WordPressを動かすため、Nginxなどの設定を行っていきます。

created by Rinker
インプレス - impress top gear シリーズ
渡辺 高志 著、2017/2/16 発売
私もこの本を参考にして環境を構築しました。Cent OS 7にnginxを入れて、PHP+WordPress環境を構築したり、Let's Encryptを用いたSSL/TLSの設定方法などが詳しく載っています。