この間、Oracle Linux 7ベースのOracle Autonomouse Linux 環境にWordPressサーバを建てる手順を書いたけど、そういえばベースとなるCent OS 7(Oracle Linux 7)環境でWordpressサーバを建てる手順を書いたことなかったな、と書いてみる。
前準備
CentOS7として基本的な設定を行っていく。
準備1:パッケージのアップデート
インストール済みのパッケージを最新にするため「yum update」を実行する
準備2:日本時間にする
日本に住んでいる場合、日本時間表記の方が使いやすいので、OSも日本時間表示に設定する。
1
$ sudo timedatectl set-timezone Japan
変更されたことを確認するには「timedatectl」を実行する。
2
Local time: Tue 2020-07-07 10:04:40 JST
3
Universal time: Tue 2020-07-07 01:04:40 UTC
4
RTC time: Tue 2020-07-07 01:04:38
5
Time zone: Japan (JST, +0900)
準備3:パッケージの自動アップデート設定をする
方針にもよりますが、最近は死ぬパッケージが配布されることは少ないので、自動アップデートしてしまえ、と、yum-cronによる自動アップデート設定を入れています。
まず、yum-cron パッケージをインストールします。
1
$ sudo yum install yum-cron
次に /etc/yum/yum-cron.conf を編集して自動アップデートを有効にします。
1
$ sudo vi /etc/yum/yum-cron.conf
ファイル内にある「apply_updates = no」を「apply_updates = yes」に変更します。
変更後の該当部分は以下の様になります。
1
# Whether updates should be applied when they are available. Note
2
# that download_updates must also be yes for the update to be applied.
準備4:EPELレポジトリの追加
EPELレポジトリ が必要になるので追加します。
1
$ sudo yum install epel-release
注:RHEL 7の場合は epelパッケージ をダウンロードしてインストールします。
また、後述するphpおよびMariaDBのインストールでは、ol7_addons収録のoniguruma-5.9.5 を使用します。epel収録のoniguruma-6.8.2では依存関係解決でエラーとなりますので、epel収録のonigurumaを使用しないよう設定します。
設定は /etc/yum.repos.d/epel.repo の[epel]に対して「exclude=oniguruma」という記述を追加します。
2
name=Extra Packages for Enterprise Linux 7 - $basearch
インターネット公開用準備
インターネット公開にあたりやっておいた方が良いことです。
fail2ban導入
公開サーバには各種アタックが頻繁にやってきます。管理用sshポートにも行われ無駄にCPU資源とトラフィックを食われます。
多少なりとも低減した方がいいので、fail2banというEPELレポジトリに含まれるソフトウェアを導入します。
fail2banは、ログイン失敗ログなどを監視し、一定数を超えたら該当するIPアドレスからのアクセスを一定期間受け付けなくする仕組みです。
1
$ sudo yum install fail2ban
fail2banの設定は /etc/fail2ban/ にあり、fail2ban.confやjail.confなどがあります。
しかし、ユーザ側で設定を追加修正したい場合はこれらのファイルを直接編集するのではなく、 /etc/fail2ban/jail.local というファイルを作成してそこに行っていきます。
1
$ sudo vi /etc/fail2ban/jail.local
/etc/fail2ban/jail.localには下記の様な内容を記載します。
2
# 86400秒=24時間以内に5回不審なアクセスがあったら24時間BAN
6
# 259200秒=3日以内に5回不審なアクセスがあったら3日間BAN
12
ignoreip = 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 <既知>の固定IPがあれば追加>
16
banaction = firewallcmd-ipset
bantime/findtimeは2種類書いてありますが、まずは24時間で設定して、管理アクセス等に問題がないことを確認したら3日に変更するなどしてください。
設定が終わったらfail2banサービスを起動するための設定を入れていきます。
まず、初期状態は起動しない設定であるためenableに変更します。
1
$ systemctl list-unit-files|grep fail
2
fail2ban.service disabled
3
$ sudo systemctl enable fail2ban.service
4
Created symlink from /etc/systemd/system/multi-user.target.wants/fail2ban.service to /usr/lib/systemd/system/fail2ban.service.
5
$ systemctl list-unit-files|grep fail
6
fail2ban.service enabled
次にfail2banを起動します。
1
$ systemctl status fail2ban.service
2
● fail2ban.service - Fail2Ban Service
3
Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; enabled; vendor preset: disabled)
4
Active: inactive (dead)
6
$ sudo systemctl start fail2ban.service
7
$ systemctl status fail2ban.service
8
● fail2ban.service - Fail2Ban Service
9
Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; enabled; vendor preset: disabled)
10
Active: active (running) since Tue 2020-07-07 10:23:36 JST; 2s ago
12
Process: 2099 ExecStartPre=/bin/mkdir -p /run/fail2ban (code=exited, status=0/SUCCESS)
13
Main PID: 2100 (f2b/server)
14
CGroup: /system.slice/fail2ban.service
15
mq2100 /usr/bin/python -s /usr/bin/fail2ban-server -xf start
17
Jul 07 10:23:36 phoenix-websa-jp systemd[1]: Starting Fail2Ban Service...
18
Jul 07 10:23:36 phoenix-websa-jp systemd[1]: Started Fail2Ban Service.
19
Jul 07 10:23:37 phoenix-websa-jp fail2ban-server[2100]: Server ready
動作確認を行います。
わざとパスワードを間違えるなどして /var/log/fail2ban.log にログが出力されることを確認します。
Webサーバ用ポート公開設定
標準ではdhcpv6-clientとsshのポートしか公開されていないため、Webサーバを建てても外部からアクセスできません。
http(ポート80)とhttps(ポート443)を公開する設定を行います。
まず現状を確認します。
1
$ sudo firewall-cmd --list-all
4
icmp-block-inversion: no
7
services: dhcpv6-client ssh
httpとhttpsの公開設定を入れます。
1
$ sudo firewall-cmd --permanent --zone=public --add-service=http
3
$ sudo firewall-cmd --permanent --zone=public --add-service=https
reloadを行って設定を反映します。
1
$ sudo firewall-cmd --reload
3
$ sudo firewall-cmd --list-all
6
icmp-block-inversion: no
9
services: dhcpv6-client http https ssh
php 7.4追加編
Oralce Linux 7だと簡単に追加できたりするPHP Packages for Oracle Linux を利用する。
/etc/yum.repos.d/oracle-php.repo というファイルを作って下記を記載する。(sudo vi /etc/yum.repos.d/oracle-php.repo )
2
name=Oracle Linux $releasever PHP 7.4 Packages for Development and test ($basearch)
9
name=Oracle Linux $releasever Add ons ($basearch)
上記では「ol7_developer_php74」と「ol7_addons」を追加しているが、ol7_addonsの方はMariaDBのインストール時にも必要になるレポジトリとなる。
phpをインストールします。あとでWordpressから要求されるパッケージもあるのでいろいろインストールします。(php-pecl-imagick と php-mbstring はパッケージの依存の問題でインストール不可だった )
1
$ sudo yum install php php-json php-bcmath php-pear-Net-Curl php-gd php-mbstring
3
--> Finished Dependency Resolution
7
================================================================================
8
Package Arch Version Repository Size
9
================================================================================
11
php x86_64 7.4.7-1.0.1.el7 ol7_developer_php74 3.4 M
12
php-bcmath x86_64 7.4.7-1.0.1.el7 ol7_developer_php74 56 k
13
php-gd x86_64 7.4.7-1.0.1.el7 ol7_developer_php74 72 k
14
php-json x86_64 7.4.7-1.0.1.el7 ol7_developer_php74 58 k
15
php-pear-Net-Curl noarch 1.2.5-10.el7 epel 13 k
16
php-mbstring x86_64 7.4.7-1.0.1.el7 ol7_developer_php74 500 k
17
Installing for dependencies:
18
apr x86_64 1.4.8-5.el7 base 103 k
19
apr-util x86_64 1.5.2-6.el7 base 92 k
20
dejavu-fonts-common noarch 2.33-6.el7 base 64 k
21
dejavu-sans-fonts noarch 2.33-6.el7 base 1.4 M
22
fontconfig x86_64 2.13.0-4.3.el7 base 254 k
23
fontpackages-filesystem noarch 1.44-8.el7 base 9.9 k
24
gd-last x86_64 2.1.1-2.el7 ol7_developer_php74 140 k
25
httpd x86_64 2.4.6-93.el7.centos base 2.7 M
26
httpd-tools x86_64 2.4.6-93.el7.centos base 92 k
27
jbigkit-libs x86_64 2.0-11.el7 base 46 k
28
libX11 x86_64 1.6.7-2.el7 base 607 k
29
libX11-common noarch 1.6.7-2.el7 base 164 k
30
libXau x86_64 1.0.8-2.1.el7 base 29 k
31
libXpm x86_64 3.5.12-1.el7 base 55 k
32
libjpeg-turbo x86_64 1.2.90-8.el7 base 135 k
33
libtiff x86_64 4.0.3-32.el7 base 171 k
34
libvpx x86_64 1.3.0-5.el7_0 base 498 k
35
libxcb x86_64 1.13-1.el7 base 214 k
36
libxslt x86_64 1.1.28-5.el7 base 242 k
37
mailcap noarch 2.1.41-2.el7 base 31 k
38
php-cli x86_64 7.4.7-1.0.1.el7 ol7_developer_php74 5.1 M
39
php-common x86_64 7.4.7-1.0.1.el7 ol7_developer_php74 1.1 M
40
php-pear noarch 1:1.9.4-21.el7 base 357 k
41
php-process x86_64 7.4.7-1.0.1.el7 ol7_developer_php74 76 k
42
php-xml x86_64 7.4.7-1.0.1.el7 ol7_developer_php74 185 k
43
oniguruma x86_64 5.9.5-3.el7 ol7_addons 128 k
46
================================================================================
47
Install 6 Packages (+26 Dependent packages)
49
Total download size: 17 M
この操作によりWebサーバもインストールされている。
なお、php-mbstringのインストールで失敗する場合、epel収録のoniguruma 6がインストールされているか、oniguruma 5がレポジトリ内に見つからない、というものです。
oniguruma 5はol7_addonに含まれます。
MariaDB設定編
CentOS7ではmariadb 5.5.65が用意されている。しかし、このバージョンはWordPress推奨ではないため、最新版のMariaDBをMariaDB Foundationから入手 しインストールする。
「/etc/yum.repos.d/mariadb.repo」というファイルを作り、以下の内容を入力。(sudo vi /etc/yum.repos.d/mariadb.repo)
1
# MariaDB 10.5 CentOS repository list - created 2020-07-07 02:24 UTC
そして、mariadb-serverをインストールします。
1
$ sudo yum install MariaDB-server MariaDB-client
3
--> Finished Dependency Resolution
7
================================================================================
8
Package Arch Version Repository Size
9
================================================================================
11
MariaDB-client x86_64 10.5.4-1.el7.centos mariadb 13 M
12
MariaDB-compat x86_64 10.5.4-1.el7.centos mariadb 2.2 M
13
replacing mariadb-libs.x86_64 1:5.5.65-1.el7
14
MariaDB-server x86_64 10.5.4-1.el7.centos mariadb 26 M
15
Installing for dependencies:
16
MariaDB-common x86_64 10.5.4-1.el7.centos mariadb 81 k
17
boost-program-options x86_64 1.53.0-28.el7 base 156 k
18
galera-4 x86_64 26.4.5-1.el7.centos mariadb 9.5 M
19
pcre2 x86_64 10.23-2.el7 base 201 k
20
perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base 32 k
21
perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base 57 k
22
perl-DBI x86_64 1.627-4.el7 base 802 k
23
perl-Data-Dumper x86_64 2.145-3.el7 base 47 k
24
perl-IO-Compress noarch 2.061-2.el7 base 260 k
25
perl-Net-Daemon noarch 0.48-5.el7 base 51 k
26
perl-PlRPC noarch 0.2020-14.el7 base 36 k
27
socat x86_64 1.7.3.2-2.el7 base 290 k
30
================================================================================
31
Install 3 Packages (+12 Dependent packages)
33
Total download size: 52 M
MariaDBサーバの自動起動を設定します。
1
$ systemctl list-unit-files|grep mariadb
2
mariadb.service disabled
3
mariadb@.service disabled
4
$ sudo systemctl enable mariadb.service
5
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
6
$ systemctl list-unit-files|grep mariadb
8
mariadb@.service disabled
MariaDBを起動します。
1
$ systemctl status mariadb.service
2
● mariadb.service - MariaDB 10.5.4 database server
3
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
4
Drop-In: /etc/systemd/system/mariadb.service.d
5
mqmigrated-from-my.cnf-settings.conf
6
Active: inactive (dead)
9
$ sudo systemctl start mariadb.service
10
$ systemctl status mariadb.service
11
● mariadb.service - MariaDB 10.5.4 database server
12
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
13
Drop-In: /etc/systemd/system/mariadb.service.d
14
mqmigrated-from-my.cnf-settings.conf
15
Active: active (running) since Tue 2020-07-07 11:30:10 JST; 1s ago
18
Process: 32580 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
19
Process: 32554 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
20
Process: 32552 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
21
Main PID: 32565 (mariadbd)
22
Status: "Taking your SQL requests now..."
23
CGroup: /system.slice/mariadb.service
24
mq32565 /usr/sbin/mariadbd
26
Jul 07 11:30:10 phoenix-websa-jp mariadbd[32565]: 2020-07-07 11:30:10 0 [Note...
27
Jul 07 11:30:10 phoenix-websa-jp mariadbd[32565]: 2020-07-07 11:30:10 0 [Note...
28
Jul 07 11:30:10 phoenix-websa-jp mariadbd[32565]: 2020-07-07 11:30:10 0 [Note...
29
Jul 07 11:30:10 phoenix-websa-jp mariadbd[32565]: 2020-07-07 11:30:10 0 [Note...
30
Jul 07 11:30:10 phoenix-websa-jp mariadbd[32565]: 2020-07-07 11:30:10 0 [Note...
31
Jul 07 11:30:10 phoenix-websa-jp mariadbd[32565]: 2020-07-07 11:30:10 0 [Note...
32
Jul 07 11:30:10 phoenix-websa-jp mariadbd[32565]: 2020-07-07 11:30:10 0 [Note...
33
Jul 07 11:30:10 phoenix-websa-jp mariadbd[32565]: 2020-07-07 11:30:10 0 [Note...
34
Jul 07 11:30:10 phoenix-websa-jp mariadbd[32565]: Version: '10.5.4-MariaDB' ...
35
Jul 07 11:30:10 phoenix-websa-jp systemd[1]: Started MariaDB 10.5.4 database....
36
Hint: Some lines were ellipsized, use -l to show in full.
最後にWordpress用データベースを作成します。
2
Welcome to the MariaDB monitor. Commands end with ; or \g.
3
Your MariaDB connection id is 4
4
Server version: 10.5.4-MariaDB MariaDB Server
6
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
8
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
10
MariaDB [(none)]> create database DB名 character set utf8;
11
Query OK, 1 row affected (0.000 sec)
13
MariaDB [(none)]> grant all on DB名.* to wordpress@localhost identified by 'パスワード';
14
Query OK, 0 rows affected (0.002 sec)
Webサーバ SSL設定編
昨今のWebサーバはSSL化が必須です。
Let’s Encriptを利用したSSL化が使用しやすいですが、certbotだと仕組みが大がかりになってしまうので小回りが利くshellベースのdehydrated を使用します。
EPELレポジトリに含まれているため導入は簡単です。
1
$ sudo yum install dehydrated
2
<略>--> Finished Dependency Resolution
6
================================================================================
7
Package Arch Version Repository Size
8
================================================================================
10
dehydrated noarch 0.6.5-1.el7 epel 85 k
13
================================================================================
16
Total download size: 85 k
dehydratedによるSSL証明書取得処理には /var/www/dehydrated が使用されるためディレクトリを作成します。
1
$ sudo mkdir /var/www/dehydrated
http://~/.well-known/acme-challenge でアクセスした時に上記ディレクトリが開くようApacheの設定を /etc/httpd/conf.d/dehydrated.conf として作成します。(sudo vi /etc/httpd/conf.d/dehydrated.conf )
1
Alias /.well-known/acme-challenge /var/www/dehydrated
2
<Directory /var/www/dehydrated/>
Webサーバが自動起動するように設定します。
1
$ systemctl list-unit-files |grep http
3
$ sudo systemctl enable httpd.service
4
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
5
$ systemctl list-unit-files |grep http
続いてWebサーバを起動します。
1
$ systemctl status httpd.service
2
● httpd.service - The Apache HTTP Server
3
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
4
Active: inactive (dead)
7
$ sudo systemctl start httpd.service
8
$ systemctl status httpd.service
9
● httpd.service - The Apache HTTP Server
10
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
11
Active: active (running) since Tue 2020-07-07 10:55:23 JST; 14s ago
14
Main PID: 30854 (httpd)
15
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
16
CGroup: /system.slice/httpd.service
17
tq30854 /usr/sbin/httpd -DFOREGROUND
18
tq30855 /usr/sbin/httpd -DFOREGROUND
19
tq30856 /usr/sbin/httpd -DFOREGROUND
20
tq30857 /usr/sbin/httpd -DFOREGROUND
21
tq30858 /usr/sbin/httpd -DFOREGROUND
22
mq30859 /usr/sbin/httpd -DFOREGROUND
24
Jul 07 10:55:22 phoenix-websa-jp systemd[1]: Starting The Apache HTTP Server...
25
Jul 07 10:55:23 phoenix-websa-jp systemd[1]: Started The Apache HTTP Server.
26
Hint: Some lines were ellipsized, use -l to show in full.
SSL証明書を発行するホスト名を /etc/dehydrated/domains.txt に記載する。(sudo vi /etc/dehydrated/domains.txt)
1行に複数のホスト名を記載するとaliasになります。
登録作業を開始します。
1
$ sudo dehydrated --register
2
# INFO: Using main config file /etc/dehydrated/config
3
# INFO: Using additional config file /etc/dehydrated/conf.d/local.sh
7
To accept these terms of service run `/bin/dehydrated --register --accept-terms`.
1
$ sudo dehydrated --register --accept-terms
2
# INFO: Using main config file /etc/dehydrated/config
3
# INFO: Using additional config file /etc/dehydrated/conf.d/local.sh
4
+ Generating account key...
5
+ Registering account key with ACME server...
6
+ Fetching account ID...
初回のSSL証明書発行処理を実行します。
1
$ sudo dehydrated --cron
2
# INFO: Using main config file /etc/dehydrated/config
3
# INFO: Using additional config file /etc/dehydrated/conf.d/local.sh
4
+ Creating chain cache directory /etc/dehydrated/chains
5
Processing phoenix.websa.jp
6
+ Creating new directory /etc/dehydrated/certs/phoenix.websa.jp ...
8
+ Generating private key...
9
+ Generating signing request...
10
+ Requesting new certificate order from CA...
11
+ Received 1 authorizations URLs from the CA
12
+ Handling authorization for phoenix.websa.jp
13
+ 1 pending challenge(s)
14
+ Deploying challenge tokens...
15
+ Responding to challenge for phoenix.websa.jp authorization...
17
+ Cleaning challenge tokens...
18
+ Requesting certificate...
19
+ Checking certificate...
21
+ Creating fullchain.pem...
/etc/dehydrated/certs/ にdomais.txtの各行の一番最初に書いたホスト名のディレクトリが作られており、その中に証明書が配置されています。
1
$ sudo ls -l /etc/dehydrated/certs/
3
drwx------. 2 root root 239 Jul 7 11:04 phoenix.websa.jp
4
$ sudo ls -l /etc/dehydrated/certs/phoenix.websa.jp/
6
-rw-------. 1 root root 1655 Jul 7 11:04 cert-1594087457.csr
7
-rw-------. 1 root root 2256 Jul 7 11:04 cert-1594087457.pem
8
lrwxrwxrwx. 1 root root 19 Jul 7 11:04 cert.csr -> cert-1594087457.csr
9
lrwxrwxrwx. 1 root root 19 Jul 7 11:04 cert.pem -> cert-1594087457.pem
10
-rw-------. 1 root root 1648 Jul 7 11:04 chain-1594087457.pem
11
lrwxrwxrwx. 1 root root 20 Jul 7 11:04 chain.pem -> chain-1594087457.pem
12
-rw-------. 1 root root 3904 Jul 7 11:04 fullchain-1594087457.pem
13
lrwxrwxrwx. 1 root root 24 Jul 7 11:04 fullchain.pem -> fullchain-1594087457.pem
14
-rw-------. 1 root root 3243 Jul 7 11:04 privkey-1594087457.pem
15
lrwxrwxrwx. 1 root root 22 Jul 7 11:04 privkey.pem -> privkey-1594087457.pem
なお、Let’s EncryptのSSL証明書は有効期限90日ですが、 /etc/cron.d/dehydrated に更新処理が設定されています。
Apacheに対する設定変更
phpインストール時に導入されたのはhttpのみで、httpsアクセスに関連するモジュール(mod_ssl)はインストールされていません。
1
$ sudo yum install mod_ssl
mod_sslによりSSL設定ファイルが /etc/httpd/conf.d/ssl.conf に配置されます。
しかし今どきじゃないようなので、ApacheのSSL対応設定をMozilla SSL Configuration Generatorベースの設定をssl-mozilla.confとして記載します。
1
$ sudo vi /etc/httpd/conf.d/ssl-mozilla.conf
記載する内容は下記の様になる。
1
# generated 2020-07-07, Mozilla Guideline v5.4, Apache 2.4.6, OpenSSL 1.0.2k, intermediate configuration, no OCSP
4
# this configuration requires mod_ssl, mod_rewrite, and mod_headers
7
RewriteRule ^(.*)$ https://% {HTTP_HOST}$1 [R=301,L]
12
SSLCertificateFile /etc/dehydrated/certs/<ホスト名>/cert.pem
13
SSLCertificateChainFile /etc/dehydrated/certs/<ホスト名>/chain.pem
14
SSLCertificateKeyFile /etc/dehydrated/certs/<ホスト名>/privkey.pem
16
# HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
17
Header always set Strict-Transport-Security "max-age=63072000"
20
# intermediate configuration
21
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
22
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
23
SSLHonorCipherOrder off
変更後、Webサービスを再起動する。
1
$ sudo systemctl restart httpd
WordPress導入
EPELレポジトリにWordPressパッケージがありますがバージョンが5.1.6と古く、また、WordPress管理画面からのアップデートとのバッティング問題がありますので、パッケージは使用しません。
/var/www/htmlにwordpressのtar.gzを展開します。
5
$ sudo tar xfz latest.tar.gz
11
drwxr-xr-x. 5 nobody nfsnobody 4096 Jun 11 06:48 wordpress
WordPressディレクトリの所有者をWebサービスのユーザである「apache」に変更します。
2
root 32093 1 0 11:17 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
3
apache 32094 32093 0 11:17 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
4
apache 32095 32093 0 11:17 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
5
apache 32096 32093 0 11:17 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
6
apache 32097 32093 0 11:17 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
7
apache 32098 32093 0 11:17 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
8
apache 32103 32093 0 11:18 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
9
apache 32113 32093 0 11:19 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
10
opc 32700 1911 0 11:38 pts/0 00:00:00 grep --color=auto http
11
$ sudo chown -R apache:apache wordpress
14
drwxr-xr-x. 5 apache apache 4096 Jun 11 06:48 wordpress
/var/www/html/wordpress をDocumentRootとするように ssl-mozilla.conf に追加する。
1
# generated 2020-07-07, Mozilla Guideline v5.4, Apache 2.4.6, OpenSSL 1.0.2k, intermediate configuration, no OCSP
4
# this configuration requires mod_ssl, mod_rewrite, and mod_headers
7
RewriteRule ^(.*)$ https://% {HTTP_HOST}$1 [R=301,L]
11
DocumentRoot /var/www/html/wordpress
13
SSLCertificateFile /etc/dehydrated/certs/<ホスト名>/cert.pem
14
SSLCertificateChainFile /etc/dehydrated/certs/<ホスト名>/chain.pem
15
SSLCertificateKeyFile /etc/dehydrated/certs/<ホスト名>/privkey.pem
17
# HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
18
Header always set Strict-Transport-Security "max-age=63072000"
21
# intermediate configuration
22
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
23
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
24
SSLHonorCipherOrder off
設定後、Webサーバを再起動する
1
$ systemctl restart httpd
https://~/ にアクセスしてみると・・・
phpからmariadbにアクセスするためのパッケージが抜けていました。
1
$ sudo yum install php-mysql
3
--> Finished Dependency Resolution
7
================================================================================
8
Package Arch Version Repository Size
9
================================================================================
11
php-mysqlnd x86_64 7.4.7-1.0.1.el7 ol7_developer_php74 228 k
12
Installing for dependencies:
13
php-pdo x86_64 7.4.7-1.0.1.el7 ol7_developer_php74 121 k
16
================================================================================
17
Install 1 Package (+1 Dependent package)
19
Total download size: 349 k
php関連のパッケージを変更した場合は、httpdを再起動します。
1
$ sudo systemctl restart httpd
無事にWordpress初期画面が確認出来ました。
途中、wp-config.php に書き込めないと出ますので、「sudo vi /var/www/html/wordpress/wp-config.php」を実行し、指定された内容を記載します。
1
$ sudo vi /var/www/html/wordpress/wp-config.php
以上で完了です。
“CentOS 7 / Oracle Linux 7でWordPressサーバを建てる” への2件の返信