【WordPress構築講座 第2回】データベースという名の「金庫」を作る
こんにちは!「リナックス先生」です。
前回は、Webサーバー(Apache)とPHPをインストールして、サーバーが動くところまで確認しました。
今回は、いよいよWordPressの本体をサーバーに入れていきますよ!
先生、ついにWordPressですね!
でも、「データベース」って聞くと、なんか急に難しそうな気がして…。
SQLとかコマンドで打つんですよね? 間違えてサーバーを壊しちゃいそうで怖いです。
大丈夫よ。
レンタルサーバーなら裏で勝手にやってくれる作業を、自分でやるだけ。
イメージとしては「空っぽの金庫(DB)」を作って、「管理人(ユーザー)」を決める。
やることはこれだけよ。コマンドの意味もしっかり解説するから、一つずつ進めていきましょう!
1. データベース「MariaDB」のインストール
RHEL/CentOS系のLinux(AlmaLinux含む)では、MySQLの互換ソフトウェアである「MariaDB(マリア・ディービー)」が標準採用されています。
WordPressの記事データ、カテゴリー、設定情報、コメントなど、サイトの全ての文字情報を保存するための重要なソフトです。
インストールと起動
以下のコマンドを実行します。-y は「インストールの確認で全てYesと答える」というオプションです。
# MariaDBサーバーのインストール [root@localhost ~]# dnf install mariadb-server -y # 起動 [root@localhost ~]# systemctl start mariadb # サーバー再起動時も自動で動くように設定 [root@localhost ~]# systemctl enable mariadb
初期セキュリティ設定(mysql_secure_installation)
インストール直後のデータベースは、テスト用の設定が残っていたり、パスワード無しのユーザーがいたりと、セキュリティ的に「鍵が開いた状態」です。
以下のコマンドで初期ロックを行います。
[root@localhost ~]# mysql_secure_installation
コマンドを実行すると、対話形式でいくつか質問されます。以下を参考に回答してください。
Q1. Enter current password for root: (現在のルートパスワードは?)
A. 何も入力せず Enter
※まだ設定していないため空欄でOKです。
Q2. Switch to unix_socket authentication? (unix_socket認証に切り替える?)
A. n
※今回は汎用的なパスワード認証を使います。
Q3. Change the root password? (DBの管理者パスワードを設定する?)
A. n
※今回はOSのrootユーザー権限でDB操作を行うため、設定を省略します。(本番運用の際は y で設定推奨)
Q4. Remove anonymous users? (匿名ユーザーを削除する?)
A. y
※誰でもログインできるユーザーは危険なので削除します。
Q5. Disallow root login remotely? (リモートからの管理者ログインを禁止する?)
A. y
※外部から管理者として侵入されるのを防ぎます。
Q6. Remove test database? (テスト用DBを削除する?)
A. y
※不要なデータは削除します。
Q7. Reload privilege tables now? (設定を今すぐ反映する?)
A. y
2. WordPress用のデータベース作成(SQL操作)
ここからがいよいよエンジニアらしい作業です。
データベース管理システムの中に入って、「SQL(エスキューエル)」という言語を使って命令を出します。
MariaDBにログイン
[root@localhost ~]# mysql -u root
プロンプト(左側の文字)が MariaDB [(none)]> に変われば、DBの中にログイン成功です。
3つのステップで環境を作る
以下の3つのSQLコマンドを順番にコピー&ペーストしてください。
重要:2行目の ‘password123’ の部分は、必ず自分だけの複雑なパスワードに変更してください!
/* 1. 金庫を作る:wordpress という名前のデータベースを作成 */ MariaDB [(none)]> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4; /* 2. 管理人を作る:wp_user というユーザーを作成し、パスワードを設定 */ MariaDB [(none)]> CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'password123'; /* 3. 権限を与える:wp_user に wordpress 金庫の合鍵(全権限)を渡す */ MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost'; /* 4. 設定を反映して終了 */ MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit
なるほど!CREATE で作って、GRANT で権限を与える。
英語の意味そのままなので、意外と理解しやすいですね!
3. WordPress本体のダウンロードと配置
データベースの準備ができたら、WordPressのプログラム本体をサーバーにダウンロードします。
最新版のダウンロードと解凍
公式サイトから最新の日本語版を取得します。
# 作業用ディレクトリ(ホーム)に移動 [root@localhost ~]# cd /root # curlコマンドでファイルをダウンロード(-Oは大文字のオー) [root@localhost ~]# curl -O https://ja.wordpress.org/latest-ja.tar.gz # tarコマンドでファイルを解凍 # x:展開, z:gzip形式, v:詳細表示, f:ファイル指定 [root@localhost ~]# tar -xzvf latest-ja.tar.gz
公開ディレクトリへ配置
解凍すると wordpress というフォルダができます。中身を全てWeb公開ディレクトリ(/var/www/html/)に移動させます。
# 中身を全て(-r)コピー [root@localhost ~]# cp -r wordpress/* /var/www/html/
4. 【最重要】ファイルの所有者を変更する
ここが初心者が一番ハマるポイントです。
ファイルをコピーした直後、ファイルの「持ち主(所有者)」は作業を行った root になっています。
しかし、実際にこれらのファイルを読み書きするのは、Webサーバーソフトである Apache です。
持ち主が root のままだと、WordPressが「画像がアップロードできない」「プラグインが更新できない」「設定ファイルが作れない」といったエラーを起こします。
chownコマンドで所有権を渡す
以下のコマンドで、ディレクトリごっそり所有者を変更します。
# /var/www/html 以下の全ての所有者を apache ユーザーに変更 # -R は「ディレクトリの中身も再帰的に全て」という意味 [root@localhost ~]# chown -R apache:apache /var/www/html
これはテストに出るレベルで重要よ!
「WordPressで書き込みエラーが出たら、まずは権限(パーミッション)と所有者を疑え」
これがサーバー管理者の鉄則なの。
5. ブラウザで確認しよう!
さあ、全ての準備は整いました!
ブラウザを開いて、VPSのIPアドレスを入力してみましょう。
http://[あなたのVPSのIPアドレス]/
あの見慣れた「WordPressへようこそ」(または言語選択画面)が表示されましたか?
もし表示されない場合は?
- 画面が真っ白: PHPのインストールに失敗している可能性があります。
php -vでバージョンを確認しましょう。 - 接続できない: ファイアウォール設定を忘れていませんか?
firewall-cmd --list-allでservices: httpがあるか確認してください。 - データベース接続エラー: まだこの段階では出ません(次のステップです)。
先生!!出ました!!
本当に黒い画面の操作だけで、WordPressのロゴが表示されました!
自分で作ったサーバーだと、感動もひとしおですね…!
次回予告:SSL化(HTTPS)と初期設定
第2回で、WordPressが起動する状態まで持ってくることができました。
しかし、今はまだセキュリティ保護されていない http:// の状態です。
最終回となる次回は、Webサイト運用の常識である「SSL(HTTPS化)」を、無料の証明書「Let’s Encrypt」を使って設定します。
そして、先ほど作ったデータベース情報をWordPressに入力して、インストールを完了させましょう!
▼サーバー選びで迷っている方はこちら
「コマンド操作は自分には難しそう…」「もっと簡単にブログを始めたい」という方は、VPSではなくレンタルサーバーがおすすめです。
自分に合ったサーバーの選び方を以下の記事で解説しています。

▼学習用VPSを用意するなら
本講座で使用している、コマンド操作の練習に最適なVPSはこちらの記事で紹介しています。


コメント