お手軽に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を参照したりすると分かりますが、古いバージョンを利用していると脆弱性に晒されることもありますので基本は最新版を。(プラグイン自体に脆弱性が潜んでいることもありますので常に最新版の心がけを!)
と
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/
出来上がったサイトは?
中身はまだ何も作ってないです・・・・。
HTTP/2はSSLで本領を発揮する為、アクセスしてみてHTTP/2化しているかを確認してみましょう。下記はFirefoxの開発者ツール(F12)でのスクリーンショットです。
以上となります。マシンのスペックにもよりますが、ガッツリやってみると1.5~2時間程度で辿り着けると思います。
追記(Appendix)
2019/05/15
WordPressのサイトは結局、IT系以外の趣味の事を書くことにしました。WordPressのテストを兼ねているので殆ど雑記になる予定です。(笑)