VirtualBoxでLAMP環境を構築し、WordPressをインストールする。

概要

#2020 12/28追記 CentOS 8は2021年にメンテナンス終了日(EOL)を迎えるので、当記事の内容をUbuntu用に変更して、新しく投稿しました。

How to Install WordPress with LAMP Stack on Ubuntu 20.04 LTS

LAMP環境とは、

Linux主にサーバ分野で利用されるオープソースのOS
ApacheオープンソースのWebサーバ
MariaDBMySQLから派生したDBサーバ(MySQL)
PHPプログラミング言語(Python, Perl)

このように頭文字を組み合わせた、webアプリケーション開発の基本的な環境のことです。今回はLAMP環境にWordPressをインストールしてみようと思います。

ここからはLinux(CentOS8)がインストールされている仮想マシンがある前提で始めていきます。

Apache(2.4.37)

インストール

では最初にApache(httpd)を以下のコマンドでインストールします。

# dnf -y install httpd

次は、firewalldの設定をしていきます。firewalldが動作しているのを確認します。

動作(active)しているので、以下のコマンドでApacheへのアクセスを許可するように設定します。

# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --add-service=https --zone=public --permanent
# firewall-cmd --reload
オプション説明
–add-serviceゾーンで許可するサービスを追加
–zoneコマンド実行時のゾーンの指定
–permanent実行時だけでなく永続的に設定する

ちなみにゾーンというのは、firewalldが用意している数種類の設定テンプレートです。その一つであるpublicは、デフォルトでsshとdhcpv6-clientの通信だけ許可しています。なので今回Apacheが許可されるよう追加で設定したわけです。

そしたら、Apacheの自動起動の有効化と起動の設定をします。

# systemctl enable --now httpd

SELinuxの無効化

次は、SELinuxの設定です。SELinuxが有効だと、システムのセキュリティを強固にすることができますが、今回は学習用テスト環境として構築するため、無効にします。(さくっと進められる)

まずは、getenforceで有効になっていることを確認し、設定ファイルで変更します。

# getenforce        #確認
Enforcing      #有効

# vim /etc/selinux/config   #設定ファイルを編集

SELINUXの行で、enforcingからdisabledに変更し、その後rebootで再起動します。

# getenforce
Disabled

再びgetenforceを行い、Disabledであれば無効になっています。

動作確認

では、動作確認をしてみます。以下のコマンドでIPアドレスを確認し(自分の場合enp0s3)、

# ip a       #IPアドレスを確認

192.168.0.4だったので、このIPアドレスを入力し、テストページが表示されます。

注意点として、VirtualBoxマネージャのネットワーク設定で、ブリッジアダプターを選択していないと表示されません。

ひとまずApacheのインストールと設定はおしまいです。

PHP(7.4.12)

今回は最新のPHP7.4系をインストールしたいため、epelリポジトリとremiリポジトリを追加してインストールします。(デフォのAppstreamリポジトリは7.2系)

# dnf install epel-release
# dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
# dnf module install php:remi-7.4

もしすでに別のバージョンのPHPが入っており、エラーが出た場合は、以下のコマンドを実行してから再びインストールしてください。

# dnf module reset php

完了後にPHPのバージョンを確認します。

# php -v
PHP 7.4.12 (cli) (built: Oct 27 2020 15:01:52) ( NTS )

MariaDB(10.3.17)

インストール

ではさっそく以下のコマンドでインストールしていきます。

# dnf -y install mariadb mariadb-server mariadb-devel
パッケージ説明
mariadbMariaDBのクライアント(mysqlコマンドでログインし、様々な処理を行う)
maridadb-serverMariaDB本体
mariadb-develアプリケーション側のライブラリがDBクライアントを認識できるようにする)

完了後、MariaDBの自動起動の有効化と起動の設定をします。

# systemctl enable --now mariadb 

mysql_secure_installation

設定には、mysql_secure_installationツールを使います。

# mysql_secure_installation
-------(省略)---------
Enter current password for root (enter for none):          #Enter押す

<<<rootのパスワード設定>>>
Set root password? [Y/n]     #Enter押す
New password:                #パスワード入力
Re-enter new password:       #再度パスワードを入力
Password updated successfully!
Reloading privilege tables...
 ... Success!

--------(省略)------------
<<<匿名ユーザの無効化>>>
Remove anonymous users? [Y/n]      #Enter押す
.... Success!

--------(省略)-------------
<<<リモート先からのrootログインを禁止>>>
Disallow root login remotely? [Y/n]       #Enter押す
... Success!

--------(省略)-------------
<<<testデータベースの削除>>>
Remove test database and access to it? [Y/n]       #Enter押す
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

--------(省略)-------------
<<<テーブル情報の再読み込み>>>
Reload privilege tables now? [Y/n]                #Enter押す
.... Success!

ユーザ作成・データベース作成

WordPress用ユーザとデータベースを作成します。

# mysql -uroot -p<rootパスワード>
-------(省略)----------
MariaDB [(none)]> create user <ユーザ名>@localhost identified by '<パスワード>';      #ユーザ作成
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> create database <データベース名>;      #データベース作成
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]> grant all privileges on <データベース名>.* to <ユーザ名>@localhost;        #ユーザにデータベース使用権限を付与
Query Ok, 0 rows affected (0.000 sec)

MariaDB [(none)]> exit
Bye

これでひとまずMariaDBインストールとセットアップおしまいです。

WordPress(5.5.3)

以上でLAMP環境が構築できたので、WordPressのインストールをしていきます。

ダウンロード

まずWordPressのダウンロードサイトから.tar.gzのリンクのアドレスを入手します。

そしたら、/tmpに移動し、wgetコマンドでダウンロードします。

$ wget https://ja.wordpress.org/latest-ja.tar.gz

無事完了したので、今度はこのファイルを/var/www/~に解凍していきます。

$ sudo tar -zxvf latest-ja.tar.gz -C /var/www/

-Cで解凍、展開するディレクトリをtarコマンドに教えてあげます。

完了したら、/var/wwwに移動して、lsで覗いてみます。

すると、wordpressがあると思うので、所有者とグループをapacheにします。

$ sudo chown -R apache.apache wordpress

Apacheの設定変更

Apacheのドキュメントルートと、ディレクトリの設定を以下のように変更します。

# vim /etc/httpd/conf/httpd.conf
----------(省略)---------------
DocumentRoot "/var/www/wordpress"               #/wordpressを追記
----------(省略)---------------
<Directory "/var/www/wordpress">               #ここも/wordpressを追記
     AllowOverride None
     Require all granted
</Directory>

そしたらApache再起動です。

# systemctl restart httpd

wp-config.phpの設定

次は、ワードプレスの設定ファイルの編集を行います。

# cd /var/www/wordpress
# ls -l

これを実行すると、wp-config-sample.phpがあると思います。確認したら、wp-config.phpに名前変更し、編集します。

# mv wp-config-sample.php wp-config.php       #wp-config.phpに名前変更
# vim wp-config.php
------------(省略)-------------------
define( 'DB_NAME', 'データベース名' );       #データベース名を入力
define( 'DB_USER', 'ユーザ名' );       #ユーザ名を入力
define( 'DB_PASSWORD', 'パスワード' );    #パスワードを入力

セットアップ

では、Webブラウザを立ち上げ、自分のIPアドレスを再びURLに入力します。すると、

インストールページが表示されるので、好きなように設定を進め、インストールを押します。その後は今設定したログイン名とパスワードでログイン。

これにて、LAMP環境の構築から、WordPressインストールまで終了しました。

参考文献

標準テキスト CentOS7 構築・運用・管理パーフェクトガイド

Comments

Copied title and URL