ネコでもわかる!さくらのVPS講座 ~第八回「WordPressサイトを公開しよう」
初心者がVPS(Virtual Private Server)をWebサーバーとして構築し、WordPressのサイトを運用できるようになるまでの「ネコでもわかる!」連載の第8回目(最終回)です。
最初から読みたい方はこちらからどうぞ。
前回(第7回目)ではファイアウォール"firewalld"の設定について解説しました。
今回はいよいよ最終回です。WordPressをインストールして、Webサーバーとして公開するまでを解説します。
対象サーバーは、さくらのVPS CentOS7 x86_64です。
1. WordPress用のDBを作成する
第4回目の記事でMariaDBをインストールしましたが、インストールしただけですのでまだ何も設定していません。
ここで、WordPress用のデータベースを作成しましょう。
MariaDBにはinformation_schema, mysql, performance_schemaという3つのデータベースが最初から存在しますが、これらはMariaDB自身の管理ために存在するデータベースでありWordPress用には使えませんので、4つめの新しいデータベースを作成します。
名前はwordpressdbという名前のデータベースを作成することにします。
データベースの作成はSSHログイン後にコマンドを入力して作成することもできますが、phpMyAdminで作成したほうが簡単だし分かりやすいでしょう。
phpMyAdminは第5回目記事でインストールしました。
以下のようなURLでアクセスできるように設定しましたね。
https://xxx.xxx.xxx.xxx/phpmyadminY2V8jYfM
(xxx.xxx.xxx.xxxはあなたのVPSのIPアドレスまたはドメイン名)
ログインユーザ名とパスワードはMariaDBのインストール時に設定したもので、ユーザ名はrootで設定しています。覚えているでしょうか...?
もし、phpMyAdminをインストールしていない方は、代わりの手段としてコマンドラインからコマンドを打ち込んでデータベースを作成してください。(やり方は後述)。
phpMyAdminにログインしたら、以下の手順でwordpressdbデータベースを作成します。
照合順序はutf8mb4_general_ciを選択してください。
作成ボタンを押すと、wordpressdbという空のデータベースが作成されます。
(左のサイドメニューにwordpressdbが追加されます。)
MariaDBコマンドラインからDBを作成する場合
phpMyAdminを使わない場合のデータベース作成手順です。(すでに上記でwordpressdbを作成された方はとばしてください)
まずVPSにSSHログインします。そのあと以下のmysqlコマンドでMariaDBにログインします。
# mysql -u root -p
Enter password: と聞かれるので、MariaDB rootユーザーのパスワードを入力してください。
MariaDBにログインしたあとは、次のコマンドでwordpressdbデータベースを作ります。
MariaDB [(none)]> create database wordpressdb collate utf8mb4_general_ci;
Query OK, 1 row affected (0.01 sec)
といったレスポンスが返ってきたら成功です。exitコマンドでMariaDBプロンプトを終了してください。
MariaDB [(none)]> exit
2. WordPressをインストールする
WordPress用のデータベースを作成したので、次にWordPress本体ファイルをダウンロードしてインストールします。
ダウンロードは以下のWordPress公式サイトから行えます。
https://ja.wordpress.org/txt-download/
ページ右側に「WordPress 4.9 をダウンロード」というボタンがあります(2017/11現在)。
このボタンをクリックしてzipファイルをパソコンにダウンロードして、パソコン上でファイルを解凍してからVPSにアップロードしても良いのですが、 ここではパソコンを経由せずVPSにファイルを直接ダウンロードしてインストールするという、少しスマートな方法をご紹介します。
WordPress公式サイトには、.zip形式ファイルのダウンロードボタンの下に、.tar.gz形式のダウンロードリンクがあります。
このリンクアドレスの文字列( https://ja.wordpress.org/wordpress-4.9-ja.tar.gz )をコピーします。
VPSにSSHログインしてsuコマンドでrootユーザーにスイッチし、以下のコマンドを入力します。
# cd /var/www/html # wget https://ja.wordpress.org/wordpress-4.9-ja.tar.gz
まず、cd コマンドでドキュメントルート /var/www/html へ移動しています。
2行目のwgetは、インターネット上のファイルやページをダウンロードするコマンドです。
先ほどコピーしたURL、https://ja.wordpress.org/wordpress-4.9-ja.tar.gz を指定することで、このファイルを/var/www/html の下にダウンロードしています。
.tar.gz形式のファイルは、.zip形式ファイルと同じように複数のファイルをまとめて圧縮したファイルです。普段WindowsやMacなどGUIが使えるOSを使っているとなじみがありませんが、Linuxではこの.tar.gz形式のファイルを解凍することができます。
wgetでダウンロード後、/var/www/htmlの下をls –lコマンドで見るとwordpress本体ファイルが存在していることがわかります。
# ls -l
・・・
-rw-r--r-- 1 root root 10147670 Nov 17 20:30 wordpress-4.9-ja.tar.gz
※注意: 第3回目のApacheのインストール時に作ったテスト用HTMLファイルindex.htmlや第4回目のphpのインストール時に作ったテスト用phpファイル index.phpファイルが残っている場合は、 rmコマンドで削除しておいてください。
(WordPressのインストール時にこのテスト用ファイルが表示されてしまうなどトラブルの元になるので)
# rm index.html
のように、rmのうしろにファイル名を指定します。これを実行すると削除して良いか聞かれるので'y'で答えて削除します。
次に、このtar.gzファイルを解凍します。
# tar xvzf wordpress-4.9-ja.tar.gz
tarはファイルを解凍するコマンドです。その後ろについているxvzfは解凍するためのオプションです。よく使うオプションなのでこのまま覚えておけば便利です。
意味を詳しく知りたい方は、こちらを参照してください。
コマンドを実行するとファイルが解凍されます。再度ls –lコマンドで見るとwordpressディレクトリができています。
# ls -l
drwxr-xr-x 5 nobody 65534 4096 Nov 17 19:24 wordpress
-rw-r--r-- 1 root root 10147670 Nov 17 20:30 wordpress-4.9-ja.tar.gz
ここまできたら、解凍元の.tar.gzファイルは必要ありませんのでrmコマンドで削除します。
そして、解凍後のディレクトリ/var/www/html/wordpressの下にはファイルがたくさん解凍されていますが、
http://xxx.xxx.xxx.xxx/wordpress ではなく
http://xxx.xxx.xxx.xxx/
でWordPressにアクセスできるようにしたいので、
wordpressディレクトリの下にあるファイルすべてを、ドキュメントルート/var/www/html/ にmvコマンドで移動します。
mvの後に指定する第1引数はwordpress/* ですが、この*(アスタリスク)でwordpressディレクトリの下のファイル全てが移動対象になります。そのあとの第2引数の.(ピリオド)は、「現在の位置」を指す記号になります。
つまり、「wordpressディレクトリ以下のファイル全部(wordpress/*)を、現在のディレクトリ(.)に移動する」という意味になります。
最後に、必要無くなった空のwordpressディレクトリをrmdirコマンドで削除します。
# rm wordpress-4.9-ja.tar.gz (rm: remove regular file 'wordpress-4.9-ja.tar.gz'? と聞かれた場合にはyと答えます) # mv wordpress/* . # rmdir wordpress
次に、権限の設定をします。
apacheユーザー、vpsuserユーザーのいずれのユーザーでもファイルを更新できるようにするため、すべてのファイルの所有者をapacheにして、グループをvpsuserにします。そしてグループに書き込み権限をつけておきます。
(権限については第3回目で触れました)
# chown -R apache:vpsuser * # chmod -R g+w *
chownでファイルの所有者(ユーザーとグループ)の変更をし、chmodで書き込み権限を変更します。
-R オプションをつけることで、「サブディレクトリにあるファイルも対象」になります。
また、前回chmodコマンドを使用した時は“775”という数字を指定しましたが、今回は”g+w”と指定しています。この場合、「グループに書き込み権限を追加する」という意味になります。ここで"775"と指定してコマンドを実行してしまうと、ディレクトリもファイルもすべて775の権限になってしまいます。もともとはディレクトリは755、ファイルは644というそれぞれ違う権限だったものを同じ権限にまとめてしまうのはセキュリティ的によろしくありません。ですのでグループの書き込み権限だけ追加する"g+w"という指定をしています。
ここまでできたらあなたのVPSのURL
https://xxx.xxx.xxx.xxx
にアクセスしてみましょう。
( Lets'EncryptによるSSLを導入しておらずhttpで運用したい場合は https:// ではなく http://にしてください)
以下のようなWordPressのインストール画面が表示されましたでしょうか?
次の画面で、
データベース名: wordpressdb
ユーザー名: root
パスワード: MariaDBのrootユーザーのパスワード
を指定してください。
このあと、WordPressのサイト名や管理ユーザーの設定などを行って、WordPressのインストールを完了させてください。
無事インストールが完了すると、WordPressが使えるようになります。
ここまで来たら完成です。おめでとうございます!
3. これからの運用で気をつけること
さて、これでひと通りのVPSの構築は終わったわけですが、これから継続的にVPSを使い続けていく場合には気をつけておくべきことがあります。
VPSは、レンタルサーバーと違ってサーバーの面倒を自分で見なければなりません。たまに、サーバーのセキュリティ脆弱性の問題が発生することがありますので、そういう情報を敏感にキャッチして適切な対処ができるようにしましょう。
VPSにインストールされているソフトウェパッケージのバージョンの確認は、以下のコマンドで確認できます。
# yum list installed
以下のコマンドは、セキュリティアップデートがあるソフトウェアのみをアップデートするコマンドです。定期的に実行すると良いでしょう。
# yum --security update
また、さくらのVPSに関する重要なお知らせは以下に掲載されます。特にソフトウェア脆弱性に関するお知らせが出た場合はすみやかに対処しましょう。
お知らせ: | さくらインターネット
https://www.sakura.ad.jp/news/sakurainfo/newsindex.php
例えば、セキュリティ脆弱性に関する事例を紹介しておきます。
以下は数年前に発覚したntpd(時刻同期サーバー)の脆弱性の注意喚起です。
このような情報をよく読んで、自分でセキュリティアップデートなどの対処を行う必要があります。
ntpd の monlist 機能を使った DDoS 攻撃に関する注意喚起
http://www.jpcert.or.jp/at/2014/at140001.html
本連載は以上です。
8回にわたりお届けした「ネコでもわかる!さくらのVPS講座」、いかがでしたでしょうか。
VPSが初めての方にとって、まだまだサーバーは扱いが難しいと感じるところはあるかも知れませんが、これをきっかけにサーバーをより身近なものとして感じていただければ嬉しく思います。
本記事をもってWordPressのインストールまで到達できましたので連載としてはいったん終了ですが、よりセキュリティを高めるために「番外編」としてWEBアプリケーションファイアウォールのSiteGuard Liteを紹介する記事を近日公開する予定です。お楽しみに。
また、過去の記事になりますが、VPSの運用のノウハウについて書いた「運用編」が役に立つかも知れません。あわせてお読みいただければ幸いです。
「ログの見かた」~初心者でもよくわかる!VPSによるWebサーバー運用講座(1) - さくらのナレッジ
(イラスト:オガ(ブログ))