WordPress はカスタマイズの幅が広い、
ホームページ作成ツールとして有名です。
WordPress をインストールすれば、
ブラウザからサーバにアクセスして、
そのまま、サイトの編集ができるようになります。
また、多くのプラグインが提供されていて、
こうできたらいいのにを実現しやすいツールです。
そんな、WordPressを使うには、
WordPress をインストールするサーバーが必要です。
サーバーでは、無料のものも多くありますが、
その多くは、「共有サーバー」と呼ばれるもので、
WordPress だけ触らせてもらえるようなものがほとんどです。
後々、WordPress 以外のツールも使いたいと思っている場合は、
自分専用のサーバーが欲しくなりますね。
今では、かなり安価で、
仮想的に専用のサーバーを提供してくれる「VPS」と呼ばれるサービスも多くあります。
今回は、このVPSを利用して、WordPressのインストールを行う方法をまとめておきます。
- WordPress の構成
- VPSレンタルサーバーの契約
- ドメインを取得する
- サーバーの操作
- 接続確認
WordPress の構成
初めに、WordPress の構成を見ておきましょう。
以下で、様々な手順を実行していくときに、
見通しが良くなるはずです。
サーバーの役割
まず、WordPress はサーバーで実行されます。
Webサイトを他の人に表示するのも、Webサイトを自分で編集するのも、
基本は、WordPress が動いているサーバーで行います。
サイトの持ち主である自分も、
サーバーにアクセスしてサイトの編集をするのが基本的な形になります。
サーバーは、自分の持ってるPCを使ってもいいのですが、
Webサイトは何時でも誰でもアクセスできる必要があるので、
サーバーは電源つけっぱなしじゃないといけません。
そうなると、電気代もかかりますし、
うっかり電源を落とすとWebサイトに繋がらなくなる、
いわゆるWebの障害になってしまいます。
VPS を使えば、おそらくは電気代よりも安価に、
常時つけっぱなしのサーバーを家の外で借りられるので、
これらの問題は解決です。
WordPress を支えるツールたち
WordPress 本体だけでは、Webサイトとして機能しません。 主に、下の三つのツールと連携しながらWebサイトを提供します。
- PHP
- データベース
- HTTP サーバー
PHP
WordPress は、大部分が PHP とよばれるプログラムで構成されています。
そのため、この PHP を動作させる環境をサーバー上で構築しておく必要があります。
データベース
WordPress は、記事などのWebページの中身をデータベースに格納しています。
ページの中身とデザインを分けておき、
後で合成することで、表示するためのページを作り出す仕組みになっています。
この仕組みのおかげで、中身と独立して自由にデザインを変えられるのですね。
HTTPサーバー
WordPress は、Webページの中身を作りますが、
その中身を来訪者に渡す人が必要です。
これはいわゆるHTTPサーバーの仕事です。 ここでは、メジャーなHTTPサーバーであるApacheを使うことにします。
VPSレンタルサーバーの契約
まずは、VPSを提供しているレンタルサーバーの契約を行いましょう。
提供しているサービスごとにスペックや価格設定が異なりますが、
ここでは、ServersManを使うことにします。
他のVPSにしても、ほぼ手順は変わらないでしょう。
契約するためには、サービスのサイトに行きます。
基本は、Webページの案内に従って契約を進めていけばOKです。
サーバーの初期設定についても尋ねられるので、
今回は、「自分でカスタマイズ」から「Ubuntu」を初期OSに設定します。
手続が完了すれば、IPアドレスやログイン情報などを含めた、
サーバーの情報がメールで届きます。
これで、自分のサーバーを手にいれました。
ドメインを取得する
ドメインとはいわゆる「○○.com」のように、
URLに含まれてくる文字列です。
ドメインなんてなくても、IP のついたサーバーさえあれば、
WordPress のサイトを立ち上げることはできるのですが、
とはいえ、どのサイトもドメインを持っているのが普通ですし、
ドメインを持っていないと何かと不便が多くなります。
まともなサイトはどこもドメインを持っているので、
まともなサイト作りを目指すからには、ドメインを取得しましょう。
無料のドメインもありますが、期限付きだったりするので、
無難に有料のドメインを使うことにします。
有料といっても、かなり安価なものが多いです。
ドメインの契約
ドメインを提供してくれるサービスは複数ありますが、
ここでは「ムームードメイン」を使うことにします。
Webサイトにアクセスしたら、使いたいドメイン名を検索して、
すでに使用されていないかを確認します。
使用可能なドメインであれば、そのまま契約に進むことができます。
Webページの案内に従って手続きを進めれば、
自分のドメインとドメイン管理用のログイン情報が得られます。
DNS の設定
ドメインを取得したら、それで終了ではありません。
ドメインとは、サーバーの名前のようなものですが、
今取得したドメインがどのサーバーのものかがこのままだと分かりません。
これは、DNSの設定で決まります。
DNS は「ドメイン」と「サーバーのIP」を紐づける仕組みで、
この対応を教えることで、取得したドメイン名で、
VPSのサーバーにアクセスできるようになります。
DNSにムームーDNSを選んでいれば、
ムームードメインの管理画面から、
「ムームーDNS]→「変更」→「設定2」で、
次のようなテーブルを編集して、設定します。
サブドメインを空欄にすると、取得したドメインそのものの設定となり、
種別「Aレコード」にして、
VPSの「IPv4 アドレス」を内容に記入します。
最後に「セットアップ情報変更」をクリックして設定を完了します。
DNSは世界中のコンピューターにドメインとIPアドレスの対応を教えるので、
設定の変更が反映されるにはしばらく時間がかかることもあります。
サーバーの操作
さあ、契約してからほったらかしでしたが、
ここからは、サーバーを触っていきます。
まずは ssh でリモートログイン
当然ですが、サーバーは手元にないので、
リモートログインして操作することになります。
大抵の場合は、ssh によるリモートログインを提供しているはずです。
ただし、VPSからリモートログイン用にポートが指定されている場合があるので、
契約時の情報をチェックしてssh用のポート番号を確認しておきましょう。
ssh [ログイン名]@[IPアドレス] -p [ssh用のポート番号]
上の大括弧で囲んだ部分は、すべて契約時のメールを参照しましょう。
※DNSの設定が反映されていれば、[IPアドレス]は取得したドメイン名でもOKです。
つぎにパスワードを要求されるので、それも契約時のメールのものを入力すればログイン完了です。
ここから、コマンドで、サーバーの操作を始めていきます。
ユーザーの作成
常に root で操作するのも気持ち悪いので、
ユーザーを作っておきましょう。
またsudoにも登録しておきます。
adduser [ユーザー名] gpasswd -a [ユーザー名] sudo
apt の更新
初期設定の状態だと情報が古いことが多いので、初めに更新をかけておきます。
sudo apt-get update
software-properties-common のインストール
サーバーの再起動時に、いちいちWebサイトを立ち上げ直すのは面倒なので、
起動時に自動で実行するようにします。
sysv-rc-conf
コマンドを使って自動起動を設定しますが、
このコマンドを入れるために、software-properties-common
パッケージをインストールします。
sudo apt install software-properties-common
Apache のインストール
続いて、WordPress を支える3大ツールのうちの一つ、
HTTP サーバーをインストールするのですが、
ServersMan の場合、初めから Apache というHTTPサーバーがインストールされています。
※むしろCentOSを選択していれば、WordPress自体が初めから入っています
とりあえず、どうさ確認として、Webブラウザに
「http://[ドメイン名]」と入力してみて、Apacheの画面が表示されることを確認しておきましょう。
ついでに、DNSの設定が反映されたかも確認できますね。
反映されていない場合は、「http://[IPアドレス]」で確認しておきましょう。
sudo sysv-rc-conf apache2 on
PHP のインストール
続いて、PHPのインストールを行います。
PHPは必要に応じてモジュールを追加でインストールすることになりますが、
ここでは、最小限必要なものだけインストールしておきます。
sudo apt install php5 libapache2-mod-php5 php5-mcrypt php5-mysql php5-gd
MySQL のインストール
3大ツール最後の一つデータベースをインストールします。
データベースにも様々な種類がありますが、
ここではMySQLを使うことにします。
インストール
インストールは次のコマンドで行います。
sudo apt install mysql-server
途中でパスワード等を設定するので、忘れないようにしましょう。
データベースの作成
WordPress と連携するためのデータベースを用意します。
まずは、MySQLにログインします。
mysql -u root -p
パスワード要求されるので、入力すると、
MySQLの操作に移ります。
次のコマンドで、空のデータベースを作ります。
「wordpress」のところは、データベースの名前なので、
自由に設定していいのですが、後で使うので忘れないようにしましょう。
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
最後に、データベースの操作を終えて、コマンドラインに戻ります。
exit
自動起動の登録
データベースについても、自動起動を登録しておきましょう。
sudo sysv-rc-conf mysqld on
WordPress のダウンロード
準備が整ったので、いよいよ、WordPressです。
WordPress の本体はファイル群となっているので、
ファイルを丸ごとダウンロードしてきます。
wp-cli のインストール
wp-cli は WordPress をコマンドラインから操作するためのものですが、
WordPress をダウンロードしてくるときにも便利なので、インストールしておきます。
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp
本体のダウンロード
wp-cli を使って、本体をダウンロードしてきます。
sudo wp core download --locale=ja --path=/var/www/html/wordpress --allow-root
--path
ではダウンロードするディレクトリを指定します。
ディレクトリ名はwordpress
でなくてもいいのですが、
以降でもこのパスを使うので、違う名前にする場合は気を付けましょう。
WordPress の初期設定
もろもろの初期設定を行っていきます。
.htaccess の用意
Apache が用いるファイル「.htaccess」を作成しておきます。
sudo touch /var/www/html/wordpress/.htaccess sudo chmod 660 /var/www/html/wordpress/.htaccess
wp-content/upgrade ディレクトリの用意
WordPress が更新ファイルをダウンロードするためのディレクトリを準備しておきます。
sudo mkdir /var/www/html/wordpress/wp-content/upgrade
デフォルト設定ファイルを準備
WordPressが用意した設定ファイルのサンプルをコピペして、
設定ファイルのベースを作ります。
sudo cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
パスフレーズの生成
設定ファイルで、ランダムな文字列を設定する箇所がありますが、
文字列を生成する API が提供されているので、そちらを使って生成しておきます。
curl -s https://api.wordpress.org/secret-key/1.1/salt > ~/tmp_pass
生成された文字列は、~/tmp_pass
に一時的に保存しておきます。
設定ファイルの編集
先ほどコピペで作った設定ファイルを基に、設定を変更していきます。
まずは、エディタで開くのですが、ここでは、emacsを使うことにします。
emacs がインストールされていない場合は、次のコマンドでインストールします。
sudo apt install emacs
そして、次のコマンドで、編集を始めます。
sudo emacs /var/www/html/wordpress/wp-config.php
データベースの設定
次に対応する部分を探して、書き換えます。
define('DB_NAME', 'wordpress'); define('DB_USER', 'root'); define('DB_PASSWORD', '【パスワード】');
パスフレーズの設定
次に対応する部分に、先ほど生成したパスフレーズを入力します。
define('AUTH_KEY', '英数字列'); define('SECURE_AUTH_KEY', '英数字列'); define('LOGGED_IN_KEY', '英数字列'); define('NONCE_KEY', '英数字列'); define('AUTH_SALT', '英数字列'); define('SECURE_AUTH_SALT', '英数字列'); define('LOGGED_IN_SALT', '英数字列'); define('NONCE_SALT', '英数字列');
手打ちするのは非常に面倒なので、
emacs のファイルから挿入機能を使いましょう。
「Ctrl+x i」と入力後、「~/tmp_pass」を指定すると、
指定されたファイルの中身をそのまま貼り付けます。
更新をapacheに書き込ませる
設定ファイルの末尾に、
define('FS_METHOD', 'direct');
を指定して、
「Ctrl+x s」で上書き保存後、「Ctrl+x c」でエディタを閉じます。
ファイル操作の権限設定
WordPress のファイル自体への書き込み権限を与えておきます。
sudo chown -R [ユーザー名]:www-data /var/www/html/wordpress sudo chmod -R g+w /var/www/html/wordpress/wp-content sudo chmod -R g+w /var/www/html/wordpress/wp-includes
Apache の設定
WordPress の設定はできたので、後は、
それを公開するための Apache の設定です。
Apache の書き込み設定
Apache 側でのアクセス制限の設定を行います。
まずは設定ファイルを開きます。
sudo emacs /etc/apache2/apache2.conf
ファイルの中に次を付けたします。
<Directory /var/www/html/wordpress> AllowOverride All </Directory>
バーチャルホストの設定
Apache では、1つのサーバーで複数のサイトを運用するために、
バーチャルホストを使ってサイトの提供を行っています。
そのバーチャルホスト1つに、WordPress を配信するように設定しましょう。
デフォルトの設定ファイルをコピー
設定ファイルを書くために、デフォルトの設定をベースにします。
そのため、設定ファイルを次のようにコピーします。
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/010-wordpress.conf
設定ファイルを編集
コピーしたファイルを編集していきます。
まずは、エディタでファイルを開きます。
sudo emacs /etc/apache2/sites-available/010-wordpress.conf
そして、ファイルの中で対応する部分を探して、次のように書き換えます。
DocumentRoot /var/www/html/wordpress
これで、WordPress が配信されるように設定を書き換えました。
設定変更を反映する
最後に、設定変更を反映させましょう。
まずは、設定が誤ってないかをチェックします。
sudo apache2ctl configtest
バーチャルホストの設定を有効にします。
sudo a2dissite 000-default sudo a2ensite wordpress
設定の書き換えを有効にします。
sudo a2enmod rewrite
最後に、apache を再起動します。
sudo service apache2 restart
接続確認
以上で、全ての手順が完了しました。