WordPress環境を構築してみる(centos7/apache/php/mysql)
WordPressを使ってブログやWEBサイトを構築してみたいと思う方は沢山おられます。既存のパッケージとして、初めからWordPressが使えるレンタルサーバーなどをご利用いただくのも良いですが、様々なカスタマイズや環境の拡張の可能性なども含めて、クラウドやVPSを利用されたい方もいると思いますので、手順の参考になればと思います。
環境構築は難しい?
一言でいうと難しくはないですが、当然多少なりともサーバーにログインしたりlinuxコマンドが打てる程度の知識は必要になります。今回の環境は以下の通りです。
- centos7
- apache 2.4.6
- php 7.4
- mysql 5.7
- 独自ドメイン wordpress.example.com
今回は細かいチューニングはなしにして、構築完了を目指します。
データベース準備
インストール
# リポジトリをインストールします
yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
# リポジトリが追加されたことを確認。ファイルが存在すればOK。
ls -la /etc/yum.repos.d/mysql-community.repo
# インストールバージョン確認
yum info --enablerepo=mysql57-community mysql-community-server
【期待値】バージョンが5.7.XXとなっていることを確認
# インストール
yum -y install --enablerepo=mysql57-community mysql-community-server
# インストール確認
mysql -V
【期待値】バージョンが表示されること
CREATE DB & CREATE USER
データベースの作成と接続ユーザーの作成を行います。データベースの情報は以下とします。
- DB名 wordpress
- DB接続ユーザー wordpress_user
- DB接続パスワード (任意の強固なパスワード)
# mysql起動
systemctl start mysqld
# 初期パスワード確認
cat /var/log/mysqld.log | grep "temporary password"
→こちらをメモ。
# mysqlにログイン
mysql -uroot -p
→先程メモしたパスワードでログイン。
# mysqlのrootパスワード変更(mysqlにログインした状態)
----------
mysql> set password for root@localhost=password('rootパスワード');
----------
→「rootパスワード」には任意の強固なパスワードを入力してください。
# DB作成 & ユーザー作成
----------
mysql> CREATE DATABASE `wordpress` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER wordpress_user@localhost IDENTIFIED WITH mysql_native_password BY '**********';
mysql> grant all privileges on wordpress.* to wordpress_user@localhost;
----------
→ 「**********」には、任意の強固なパスワードを入力してください。
# ログアウト
----------
mysql> exit;
----------
# 接続ができることを確認
mysql -uwordpress_user -p wordpress
apacheインストール
# インストール
yum -y install httpd
# インストール確認
httpd -v
----------
Server version: Apache/2.4.6 (CentOS)
----------
PHPインストール
# remiリポジトリインストール
yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# PHPインストール
yum -y install --enablerepo=remi-php74 php php-fpm php-mbstring php-mysqlnd php-xml php-devel
# インストール確認
php -version
【期待値】バージョンが表示されること
apache設定
apacheの設定を追加して、wordpress.example.comドメインでWordPressが動作するように設定します。
mod_ssl
いずれSSL設定をすると思うので、mod_sslをインストール
yum -y install mod_ssl
/etc/httpd/conf.d/wordpress.example.com.conf
下記ファイルを作成しましょう。
<VirtualHost *:80>
ServerName wordpress.example.com
DocumentRoot /usr/local/apache/vhosts/wordpress.example.com/htdocs
ErrorLog /usr/local/apache/vhosts/wordpress.example.com/logs/error_log
CustomLog /usr/local/apache/vhosts/wordpress.example.com/logs/access_log combined
</VirtualHost>
<Directory "/usr/local/apache/vhosts/wordpress.example.com/htdocs">
Require all granted
AllowOverride All
</Directory>
設定後、再起動しておきます。
systemctl restart httpd
WordPressインストール
独自ドメインを利用するので、ドキュメントルートやログの出力先を以下とします。
- ドキュメントルート /usr/local/apache/vhosts/wordpress.example.com/htdocs
- ログディレクトリ /usr/local/apache/vhosts/wordpress.example.com/logs
また、WordPressファイルは、公式ページにアクセスし、最新をダウンロードするようにしましょう。
# ディレクトリ作成
mkdir -p /usr/local/apache/vhosts/wordpress.example.com/{htdocs,logs}
# WordPressダウンロード
cd /tmp
curl -O https://ja.wordpress.org/latest-ja.tar.gz
# 解凍
tar -zxvf latest-ja.tar.gz
ls -la ./wordpress
【期待値】wordpressディレクトリが存在すること
# 配置
rm -r /usr/local/apache/vhosts/wordpress.example.com/htdocs
mv ./wordpress /usr/local/apache/vhosts/wordpress.example.com/htdocs
# 権限を変更します。
chown -R apache:apache /usr/local/apache/
ブラウザからアクセス
もちろんDNS設定している前提ですが、ここで今回のドメインにアクセスしてみます。(http://wordpress.example.com/)
「さあ、始めましょう!」をクリックします。
ここで、事前に作成していたWordPress用の設定を入力します。下記を書き換えましょう。(ホスト名や接頭辞は今回は修正しません)
- データベース名
- ユーザー名
- パスワード
送信ボタンを押します。
この画面が表示されれば、DB接続は成功しているので、「インストール実行」ボタンを押します。
最後の設定です。↑を入力すれば設定完了となります。入力後、「WordPressをインストール」ボタンを押します。
- サイトのタイトル…ホームページ、ブログなどのタイトル(あとで変更可能)
- ユーザー名…管理画面へログインする管理者
- パスワード…管理者のログインパスワード
- メールアドレス…管理者のメールアドレス
- 検索エンジンでの表示…任意。まだ検索エンジンでヒットされたくないという場合は、チェック。(この設定が尊重されるかは不明)
インストール完了画面が出たと思います。管理画面へログインして存分にいじくり倒しちゃいましょう。
さいごに
初心者の方向けに丁寧に書きましたが、手順としてはごく短いものですし、時間もかからずに構築できると思います。速度アップの細かいチューニングであったり、カスタムテーマを作成したり、やることはまだありますが、まず触ってみたいという方は試してみてください。
今回はmod_sslを入れておきながら、HTTPS設定をしていませんが、やりたい方はこちらをご参考に。それでは。