(第1回)LinuxにWordPressを構築【CentOS7】

(第1回)LinuxにWordPressを構築【CentOS7】

目次

はじめに
CentOS7のインストール
SELinuxの設定

はじめに

昨今はレンタルサーバー等で容易にインストールが可能なWordPress。

いざ、オンプレ環境で構築する際に、「あれ、、どうやるんだっけ、、」といったことにならないように
今回はオンプレミス環境でCentOSを立ち上げてWordPressを構築していきたいと思います。

CentOS7のインストール

まずはインストールするCentOSですが、今回は以下のカーネルバージョンを用意しました。

OSバージョン3.10.0-862.el7.x86_64

Hyper-V上に仮想環境でCent-OS7を構築してみたいと思います。

まずはCentOSの公式サイトよりiso形式のインストーラをダウンロードします。

「DVD ISO」ボタンからCentOS7のパッケージのダウンロードページへ移動します。
今回は「CentOS-7-x86_64-DVD-1804.iso」をインストールすることにしました。

過去のバージョンをインストールする場合は、http://vault.centos.org/ からisoファイルがダウンロード可能です。(2018年10月現在)

ダウンロードが完了したらさっそくHyper-Vで起動します。
※ Hyper-V第2世代でLinuxを起動する場合、UEFIセキュアブートを無効にしないと起動しないので注意が必要です。

Hyper-VからCentOS7のインストールメディアを起動した状態です。

「Tab」キーを押すとインストールオプションが指定できます。
「テキストインストール」形式にした場合、CUIで対話式にインストールが進みます。
(そのほかに解像度変更やUSBサポート、CPU自己診断の無効化など可能です。)

今回はGUI形式でのインストールを行うので、何も入力せずに待ちます。

待っていると自動的にインストール画面へ遷移しました。

インストール時に使用する言語を日本語にします。

インストール時の設定で以下の2つを事前に設定しておきたいと思います。

  • インストール先
  • ネットワークとホスト名

まず、「インストール先」は「パーティション構成」を「自動構成のパーティション構成」(初期値)に設定しました。
続いて「ネットワークとホスト名」は自身の環境に合わせて設定をおこないます。

DHCPだと不便なので、固定のIPアドレスを設定します。

Eth0 IPv4のセッティングIPアドレス192.168.x.x (自身の環境に合わせて適宜設定)
ネットマスク24 (255.255.255.0)
ゲートウェイ192.168.x.x (自身の環境に合わせて適宜設定)
DNSサーバー8.8.8.8 (今回はGoogleパブリックDNSを指定)

※ 設定内容は後で確認すると /etc/sysconfig/network-scripts/ifcfg-eth0 に反映されていました。

上記2つの設定が完了したらインストールの開始をします。

インストールは何分か時間がかかるのでその間に「root」アカウントのパスワードを設定します。

しばらくするとインストールが完了するので再起動しましょう。

「ソフトウェアの選択」で最小限のインストール(初期値)を選択したので再起動が完了するとCUIで表示されるので「root」アカウントでログインします。

インストール後に気づいたのですが、CentOS7ではファイルシステムが標準で「xfs」となる
CentOS6までは「ext4」が標準だったため、「ext4」にする場合はインストール時の「パーティション設定」で変更すると良いようです。

インストール後にファイルシステムの状況を確認しました。

[root@localhost ~]# df -T
ファイルシス            タイプ   1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/centos-root xfs         52403200 1004360 51398840    2% /
devtmpfs                devtmpfs      491548       0   491548    0% /dev
tmpfs                   tmpfs         503564       0   503564    0% /dev/shm
tmpfs                   tmpfs         503564    6764   496800    2% /run
tmpfs                   tmpfs         503564       0   503564    0% /sys/fs/cgroup
/dev/mapper/centos-home xfs         77548548   32944 77515604    1% /home
/dev/sda1               xfs          1038336  131960   906376   13% /boot
tmpfs                   tmpfs         100716       0   100716    0% /run/user/0

SELinuxの設定

次は、SELinuxの設定をおこないます。

  • SELinux 現在の状況確認
  • SELinux 設定ファイルのバックアップ
  • SELinux 設定の変更

SELinuxとはセキュリティ関連のLinuxカーネル制御機能です。
設定したポリシーに沿ってリソースへのアクセスを制御するためのセキュリティ機能です。

SELinuxのステータスは以下の3種類です。

enforcingポリシーの内容に従ってアクセス制御が有効な状態。監査ログに記録され、ポリシーに違反するリソースへのアクセスは遮断。
permissiveポリシーに違反するリソースへのアクセスに対して警告を出力。監査ログへ記録されるがアクセス制御は無効な状態。
disabledリソースへのアクセス制御が無効な状態。監査ログにも記録されない。

サーバーを初期構築する際はこの機能が有効になっているとインストールが上手くいかないケースなどがあるため今回は無効にします。
まずは現在の状況を確認します。

[root@localhost ~]# getenforce
Enforcing

Enforcing…インストール直後は有効となっています。

設定ファイルを修正するのでまずはオリジナルをcpコマンドでバックアップします。

[root@localhost ~]# cp -piv /etc/selinux/config /etc/selinux/config.`date "+%Y%m%d"`
`/etc/selinux/config' -> `/etc/selinux/config.20181015'

lsコマンドでファイルが出力されたか確認します。

[root@localhost ~]# ls -l /etc/selinux/
合計 12
-rw-r--r--. 1 root root  547 10月 15 10:22 config
-rw-r--r--. 1 root root  547 10月 15 10:22 config.20181015
drwx------. 2 root root    6 10月 15 10:22 final
-rw-r--r--. 1 root root 2321  4月 11  2018 semanage.conf
drwxr-xr-x. 7 root root  215 10月 15 10:23 targeted
drwxr-xr-x. 2 root root    6  4月 11  2018 tmp

SELinuxを無効化するために設定ファイルをviコマンドで編集します。
「SELINUX=enforcing」を「SELINUX=disabled」に変更します。

[root@localhost ~]# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
# SELINUX=enforcing #コメントアウト
SELINUX=disabled #追記
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

ファイルの保存が完了したらサーバーを再起動します。

[root@localhost ~]# shutdown -r now

再起動後、改めてSELinuxの状態を確認します。
「getenforce」コマンドで「Disabled」と返ってくれば無効化された状態です。

[root@localhost ~]# getenforce
Disabled

「Disabled」が返ってきたので無事SELinuxが無効になりました。

これでSELinuxの設定は完了です。

インストール作業を終えて

今回はひとまずインストールメディアから仮想マシンでインストールを実施したところまでです。
今後も注意すべき点をピックアップしながら進めていきたいと思います。

次回はミドルウェアのインストールをおこなう予定です。