SE(しがないエンジニア)のブログ

IT技術ネタ(クラウド・セキュリティ周り)が中心です!他雑記(お馬さん 他いろいろ)もあり。

お手軽にHTTP/2のWordPressサイトをつくる

OSは?

ブログの初投稿時にご紹介させて頂いたマシン(Hasee君)で構築しており、OSは以下の通りです。

# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

インストールは特別な事は行っておらず、最小限のインストールで進めております。

OSインストール後にやったこと(いろいろ)

SELinux

disabledにして切ってしまう!

# getenforce
Disabled

iptables

firewalldは利用せず、慣れているiptablesを利用。いつもここを参考にしてます。いい加減に覚えたい。(笑)

CentOS7でのiptablesの設定忘れるのでメモ - Qiita

HTTP/2対応のApacheをインストール

ソースからコンパイルするのも一苦労、、なのでIUSリポジトリからyumで簡単にインストールしてしまいます。下記サイトのSSL証明書作成のところまでコピペで基本進められます!(CentOS 7.4以上である必要アリ)

HTTP/2 に対応した Apache を yum でインストール | あぱーブログ

PHPの最新版やMariaDBをインストール

PHPは5系ではなく7系を入れましょう。MariaDBも必要なので入れましょう。ちなみに、「php-なにがし」は入れておかないと怒られることがあります。毎回忘れがちなので下記にコマンドの備忘を残します。

# yum -y install php-mysqlnd --enablerepo=remi-php73

PHP 7.3 の最新版を CentOS 7.5 に yum インストールする - サーバー構築と設定 ~初心者にも分かりやすく解説~

CentOS 7にMaria DBとPHP 7.0を入れる - Qiita

WordPressのインストール

JVN iPediaを参照したりすると分かりますが、古いバージョンを利用していると脆弱性に晒されることもありますので基本は最新版を。(プラグイン自体に脆弱性が潜んでいることもありますので常に最新版の心がけを!)

JVN iPedia

WordPressをインストールする(CentOS7.4) - Qiita

[CentOS7] WordPressの導入 │ Web備忘録

WordPress推奨構成とMySQLデータベースの作成 - WordPressの使い方

Apacheの設定ファイルは各サーバーにしているマシンの環境にも依存してしまいますが、2点目のサイトがかなり分かりやすく説明しております。

ここまで来てローカルIPで設定出来るところまで行ったら折角なのでドメインを取得しましょう!

ドメイン取得とサイトのSSL

我が家の場合はCATVのプロバイダで固定IPを取得しておりません。なので、DDNSを利用して簡易的にドメインを取得してしまいます。今回、試験的に取得してみたのはココです。

Free Dynamic DNS (DDNS) for Home Server and VPS etc | MyDNS.JP

ルータ上で公開しているIPに関しては下記で確認してみましょう。そして、大抵の自宅環境では静的IPマスカレードの機能を利用して外部にサーバーを公開する流れになります。ざっくり言うと「このポートで来たアクセスをローカルPCのこのIPにアクセスするよう変換する」という感じです。

確認くん

SSLは定番?の「Let's Encrypt」を利用します。サーバで取得するコマンド例は下記の通りです。参考サイトと共に。

Let’s Encrypt サーバー証明書の取得と自動更新設定メモ | あぱーブログ

# certbot certonly --webroot \
-w (document root path with wordpress) \
-d (domain name) \
-m (mail address) \
--agree-tos -n

正常に発行されると証明書のパスが表示されますのでApacheの設定ファイルに組み込みましょう。下記は参考です。

SSLCertificateFile /etc/letsencrypt/live/(domain name)/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/(domain name)/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/(domain name)/chain.pem

そして、DDNSでアクセス出来るようになったドメインでセットアップしてしまい、管理画面にアクセス出来るようになったらテーマをインストールしてみたり。

https://wp-cocoon.com/downloads/

Cocoonテーマをインストールする方法 | Cocoon

出来上がったサイトは?

中身はまだ何も作ってないです・・・・。

https://btsn.mydns.jp/

HTTP/2はSSLで本領を発揮する為、アクセスしてみてHTTP/2化しているかを確認してみましょう。下記はFirefoxの開発者ツール(F12)でのスクリーンショットです。

f:id:btsn:20190507230002p:plain

以上となります。マシンのスペックにもよりますが、ガッツリやってみると1.5~2時間程度で辿り着けると思います。

追記(Appendix)

2019/05/15

WordPressのサイトは結局、IT系以外の趣味の事を書くことにしました。WordPressのテストを兼ねているので殆ど雑記になる予定です。(笑)