CentOS8でのWordPress構築
はじめに
CentOS8でのWordPres構築手順になります。CentOS8は、CentOS7と色々と異なる部分が多く、かなりハマりましたので参考になればうれしいです。
前提
VagrantおよびVirtualBoxがインストールされていること
構築手順
VirtualboxでCentOS8サーバーを構築する
VagrantにCentOS8のBoxを追加する
まず最初にVagrantでCentOS8を利用可能とする為、Boxを追加する操作を行います。
vagrant box add generic/centos8
==> box: Loading metadata for box 'generic/centos8'
box: URL: https://vagrantcloud.com/generic/centos8
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.
1) docker
2) hyperv
3) libvirt
4) parallels
5) virtualbox
6) vmware_desktop
Enter your choice: 5
==> box: Adding box 'generic/centos8' (v2.0.6) for provider: virtualbox
box: Downloading: https://vagrantcloud.com/generic/boxes/centos8/versions/2.0.6/providers/virtualbox.box
box: Download redirected to host: vagrantcloud-files-production.s3.amazonaws.com
box: Progress: 100% (Rate: 18.5M/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'generic/centos8' (v2.0.6) for 'virtualbox'!
次に作業フォルダを作成し、ターミナルで該当ディレクトリへ移動します。なお、以下は注意事項となります。
パスに日本語を含む場合、後続の作業でURIエンコーディングが必要となる為、ASCIIのみを推奨
日本語を含まなくても途中のパスが問題でURIエラーになるケースがある為、windowsの場合はcドライブ直下にフォルダ作成することを推奨
vagrant init generic/centos8
vagrantfileの編集
以下の通りvagrantfileを修正してください。
# サーバー定義設定
config.vm.define :wp do |wpcent8|
wpcent8.vm.hostname = "wpserver"
wpcent8.vm.network :private_network, ip:"192.168.0.11"
end
Vagrantを起動
vagrant up
仮想マシン(CentOS8)の設定
仮想マシンへログイン
vagrant ssh wp
ルートユーザーへ切り替え
sudo su
selinux無効化
getenforce Enforcing
vi /etc/selinux/config
SELINUX=enforcing → SELINUX=disabled
getenforce Disabled
時刻同期設定
vi /etc/chrony.conf
#pool 2.centos.pool.ntp.org iburst → pool ntp.jst.mfeed.ad.jp iburst
systemctl restart chronyd
タイムゾーン設定
timedatectl set-timezone Asia/Tokyo
Apacheのインストール
Apacheのインストール
dnf -y install httpd
Error: Failed to synchronize cache for repo 'epel’が発生する場合、以下のように
/etc/yum.repos.d/epel.repoファイルを編集してepelを無効化(enabledを"1″から"0″へ変更)する
[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
#baseurl=https://download.fedoraproject.org/pub/epel/$releasever/Everything/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
Apache自動起動設定
systemctl enable httpd.service
Apache起動
systemctl start httpd.service
Apache起動確認
systemctl status httpd.service
httpのポート開放(80)
firewall-cmd --permanent --zone=public --add-service=http
firewallのリロード
firewall-cmd --reload
ブラウザからApache起動確認 (192.168.0.11をブラウザのURLに入力)
phpおよびMySQLのインストール
phpインストール
dnf module install -y php
dnf install php-mysqlnd
mysqlインストール
dnf install php mysql-server
mysql自動起動設定
systemctl enable mysqld.service
mysql起動
systemctl start mysqld.service
mysql起動確認
systemctl status mysqld.service
WordPressのインストール
カレントディレクトリ移動
cd /var/www/html
WordPressダウンロード
wget https://ja.wordpress.org/latest-ja.tar.gz
ファイルの解凍
tar xvf latest-ja.tar.gz
権限の変更
chown -R apache:apache *
chmod -R 777 /var/www/html
httpd.confの編集
DocumentRoot "/var/www/html"
#
# Relax access to content within /var/www.
#
<Directory "/">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
# Further relax access to the default document root:
<Directory "/var/www/html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All★
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
DBの作成
[root@wpserver html]# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or ¥g.
Your MySQL connection id is 8
Server version: 8.0.17 Source distribution
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '¥h' for help. Type '¥c' to clear the current input statement.
// DBを作成
mysql> create database wordpress default character set utf8;
Query OK, 1 row affected, 1 warning (0.01 sec)
create user 'wp_user' identified by 'password';
grant all on wordpress.* to 'wp_user';
// 終了
exit
Apache再起動
systemctl stop httpd
systemctl start httpd
WordPress起動確認
ブラウザから(http://192.168.0.11/wordpress)へアクセスし、WordPressの画面が表示されれば完了です。
おわりに
今回の手順は最低限の操作でWordPressをCentOS8で構築する為の手順となりますので、例えばWordPressの権限設定等は適宜、見直しください。