独自ドメイン取得からブログ開設まで:(2)サーバー設定編

はじめに

ずっと前から実現したかった独自ドメインを使ったWebサイト構築。今まで、自宅でサーバーを立ち上げ、ダイナミックDNS+無料サービスドメインを使って、自前で様々な機能を実装するなど、実験レベルで細々と続けてきましたが、今回、本腰を入れて、独自ドメインを取得するところから、レンタルサーバー設定、WordPress設定などを経て、記事を書き始めました。それが本サイトです。

自分の覚え書きという側面もありますが、皆さんの参考になればと思い、サイト構築手順を簡単にまとめました。

本記事は「サーバー設定編」です。

(関連記事)

独自ドメイン取得からブログ開設まで:(1)ドメイン取得編
はじめに ずっと前から実現したかった独自ドメインを使ったWebサイト構築。今まで、自宅でサーバーを立ち上げ、ダイナミックDNS+無料サービスドメインを使って、自前で様々な機能を実装するなど、実験レベルで細々と続けてきましたが、今回、本腰を入...

レンタルサーバーの設定(スタードメイン無料サーバーの場合)

巷には、数多くのレンタルサーバー提供サービスがありますが、Webでのおすすめ情報や、サービス提供会社の公式Webサイトなどを見ながら、私の場合は主に以下の点を評価し「スターサーバー」を利用することに決めました。系列のドメイン取得サービス「スタードメイン」も含めた総合的評価です。

  • レンタルサーバーの性能が比較的良く、料金も安価
  • 「スタードメイン」との連携が容易
  • 「スタードメイン」でドメインを取得すると「スタードメイン無料サーバー(無料レンタルサーバー powered by StarServer)」を利用でき、より性能が良い「スターサーバー」の有料プランにも新たに環境設定せずに簡単にアップグレードできる
  • 独自SSLが無料で利用できる

「スターサーバー」「スタードメイン」は、ネットオウル株式会社(以下、ネットオウル)が提供しています。ネットオウルは、他にSSL証明書サービスの「SSL BOX」も提供しており、Webサイト構築のための基本的なサービスを揃えています。

最終的には、「スターサーバー」の有料プランの利用を考えいますが、まずは「スタードメイン無料サーバー(無料レンタルサーバー powered by StarServer)」をセットアップして使いました。本記事は、「スタードメイン無料サーバー」の設定について、記載します。

「スタードメイン」でドメインを取得しなくても無料で利用できる「スターサーバーフリー」というプランもありますが、今回使用するサーバーよりも、使用できる機能が少なかったり、広告表示がされたりするものであり、今回のものとは別物です。

「スタードメイン無料サーバー」の申し込み

サーバーを利用するためには、まずは、利用申し込みをする必要があります。以下のページのとおり「ネットオウルメンバー管理ツール」にログインした後に対象ドメインの「ドメイン管理ツール」から申し込みます。

お申し込み方法 | レンタルサーバー【スターサーバー】
レンタルサーバー「スターサーバー」のご利用マニュアル | サーバーアカウントの新規お申し込み手順です。(スタードメイン無料サーバーの場合)

「スターサーバー」側でサーバーの準備が整ったら、「サーバー設定完了のお知らせ」メールが届き、サーバーが無事動き出しました。以下のページのように、自分のサイトにアクセスして、確認します。

WEBサイト公開ガイド | レンタルサーバー【スターサーバー】
レンタルサーバー「スターサーバー」のご利用マニュアル | サーバー設定完了後の最初のウェブサイト公開方法についてご説明しています。

SSLの導入

無料独自SSLを設定する

「スタードメイン無料サーバー」では、無料独自SSLを利用できます。SSLを利用すると、サーバーとクライアント間の通信が暗号化され、盗聴などの危険を減らすことができます。以前は、SSLを使用する場面は個人情報の入力フォームなどに限られていました。しかし、2018年7月リリースのGoogle Chrome 68から、SSLで暗号化されていない(URLが「http://」で始まる)Webページを閲覧した際に警告が表示されるようになり、現在では、すべてのページについてSSL対応するのが普通になりつつあります。

そこで、今回のサイト構築にあたって、全ページのSSL対応を目標とします。まずは、以下のページに沿って、無料独自SSLを利用できるように設定します(今回はCSR情報を入力しません)。

無料独自SSLを設定する | レンタルサーバー【スターサーバー】
レンタルサーバー「スターサーバー」のご利用マニュアル | 無料独自SSLについての情報です。

上記設定後は、明示的に「https://」でURLを指定することによりSSL通信が利用可能になります。

Webサイトの常時SSL化

現時点では、明示的に「https://」でURLを指定することによりSSL通信が利用可能になりますが、「http://」でURL指定した場合はSSL通信が行われません。それではセキュリティ上問題があるので、「http://」でURL指定した場合でも、自動的に「https://」に切り替わるように、以下のページの「Webサイトの常時SSL化」に従って「常時SSL化」の設定をします。

まだCMS(今回はWordPress)を導入していないので、ここでは、「Webサイトの常時SSL化」のみ設定します。
Webサイトの常時SSL化 | レンタルサーバー【スターサーバー】
レンタルサーバー「スターサーバー」のご利用マニュアル | Webサイトを常時SSL化する方法について記載しています。

WordPressの導入

PHPバージョン設定

WordPressでは、PHP(HTMLに埋め込むことができ、動的なWebページの生成によく使われるオープンソースの汎用スクリプト言語)を利用しています。

「スタードメイン無料サーバー」は、PHPの複数バージョンを選択して利用することができるようになっているので、まず、対象のサーバーで利用するPHPのバージョンを以下のページに従って設定します。

基本的には、選択肢の中で「(推奨)」と書かれているバージョンうち、最新のものを選択すると良いと思います。

PHPバージョン設定 | レンタルサーバー【スターサーバー】
レンタルサーバー「スターサーバー」のご利用マニュアル | PHPのバージョンを設定することができる「PHPバージョン設定」機能の設定手順です。(スタードメイン無料サーバーの場合)

データベース設定

WordPressでは、コンテンツの管理にデータベースを使用しています。そのため、WordPressを導入する前に、データベースをあらかじめ作成して、データベースユーザの作成や権限設定などを、以下のページに従って実施する必要があります。なお、WordPressが使用できるデータベースはいくつかありますが、「スターサーバー」ではMySQLというデータベースを使用します。

このステップで、「データベース名(サーバーID+任意文字列)」「MySQLユーザ名(サーバーID+任意文字列)」「MySQLユーザのパスワード」を自分で決める必要があります。私は、今後一つのサーバーに複数のサイトを立ち上げる可能性を考慮して、「データベース名」と「MySQLユーザ名」の”任意文字列”の部分は、今回構築しているサイトのドメイン名(.comを除いたもの)を指定しました。

[フリー PHP+MySQL・スタードメイン無料サーバー]データベースの設定 | レンタルサーバー【スターサーバー】
レンタルサーバー「スターサーバー」のご利用マニュアル | サーバー管理ツール上で、データベースの作成や、データベースユーザーの作成、権限設定などを行う際の手順です。(フリー PHP+MySQLプラン・スタードメイン無料サーバーの場合)
設定したデータベース名、MySQLユーザ名、パスワードなどは、忘れないように管理しましょう。

WordPress日本語版のインストール

「スターサーバー」では、とても簡単にWordPressをインストールすることができる「簡単インストール」機能を利用することができます。もちろん、ある程度スキルのある人なら、WordPress公式サイトからWordPressモジュール(Zipファイル)をダウンロードしてきて、解凍、FTPソフトを使ってサーバーにアップロード、Web経由でサーバーにアクセスしてインストールおよび各種設定し…というステップを踏めば、そして関連するソフトウェアのバージョン整合性なども自分で管理する覚悟を持てば、WordPressをインストールすることが可能です。しかし、失敗しても簡単にやり直すことができる、関連ソフトウェア間の整合性も取られているなど、自分で大きなカスタマイズをするつもりがないのであれば、「簡単インストール」機能を利用すべきでしょう。

以下のページに従って、WordPressを「簡単インストール」機能でインストールします。

WordPressのインストール方法(簡単インストール) | レンタルサーバー【スターサーバー】
レンタルサーバー「スターサーバー」のご利用マニュアル | コンテンツ管理システム(CMS)の「WordPress 日本語版」を「簡単インストール」機能を使ってインストールする際の手順です。

データベース情報の入力欄には、前のステップで作成したデータベースの情報を入力します。

ブログ情報の入力欄には、これから構築するブログサイトの情報を入力します。その際「インストール先」に入力するURLの指定には、以下に注意してください。

  • 入力例で「wp」となっている部分を空白にして、そのドメインの最上位ディレクトリにWordPressをインストールすることもできます。しかし、他のソフトウェアのファイル群と混在してしまうので、必ずWordPress専用のディレクトリを指定するようにします。他のソフトウェアに関しても同じようにすることによって、各ソフトウェアの独立性、ポータビリティ性を高めることができます。
  • 入力例では「wp」となっていますが、これでは、このディレクトリ配下にWordPressがインストールされていることが容易に想像できてしまいます。使用しているソフトウェアが特定されることによって、そのソフトウェアへの攻撃が容易になります。今後のステップで、このディレクトリ名が表面上見えなくなる設定をしますが、マイナスの可能性は少しでも小さくしましょう。私の場合は、このWordPressのコンテンツがこのサイトのメインコンテンツになることから、「Main」としました。
ブログ情報入力欄で設定した「ユーザ名」「パスワード」はWordPressのものです(データベースとは別)。WordPress管理画面へのログインの際に必要になるので、忘れないように管理しましょう。

運用するCMSにおける常時SSL化

今回のサイト構築には、CMS(Contents Management System)としてWordPressを利用しますので、ここではWordPressにおける設定方法を掲載します。

以前のステップ「Webサイトの常時SSL化」では、サイトの基本設定としての常時SSL化をしました。WordPressで運用する場合には、さらに以下のページの「ご利用のCMSにおける常時SSL化」に従って、WordPressとしての設定が必要です。

Webサイトの常時SSL化 | レンタルサーバー【スターサーバー】
レンタルサーバー「スターサーバー」のご利用マニュアル | Webサイトを常時SSL化する方法について記載しています。

WordPressのサイトアドレスを変更

「WordPress日本語版のインストール」のステップで「インストール先」のURLを指定し、そのURLにWordPressをインストールしました。このままだと、今回開設したWordPressサイトは、そのURLでアクセスすることになります。

例えば、「インストール先」に、私が設定したように「http://○○○○○.com/Main」と入力したとすると、実際にサイトにアクセスするときには「https://○○○○○.com/Main/」とURLが長くなってしまうと共に、サブディレクトリ名「Main」が見えてしまいます。サブディレクトリ名が見えてしまうことに関しては、セキュリティの問題(使用CMSがWordPressだと分かってしまう)を避けるために「Main」としたので良いのですが、やはり、このサイトで唯一のコンテンツのトップページのURLは「https://○○○○○.com/」としたいところです。

以下に、サイトの(トップ)アドレスを「https://○○○○○.com/Main/」から「https://○○○○○.com/」にする手順を示します。

  1. WordPressの管理ページからの設定変更
    ワードプレスの管理ページにログインして、「設定」-「一般設定」に移り、以下を変更後、「変更を保存」
    • WordPressアドレス(URL):WordPressをインストールしているディレクトリ(https://○○○○○.com/Main) ←変更なし
    • サイトアドレス(URL):ユーザーにアクセスして欲しいアドレス(https://○○○○○.com)
  2. .index.phpの修正
    ドキュメントルートのindex.phpに上記の「WordPressアドレス(URL)」直下のindex.phpの記述を追記し、以下の部分を修正する。
    /** Loads the WordPress Environment and Template */
    /*require __DIR__ . '/wp-blog-header.php';*/
    require __DIR__ . '/Main/wp-blog-header.php';
    
  3. .htaccessの修正
    ドキュメントルートの.htaccessに上記の「WordPressアドレス(URL)」直下の.htaccessの記述を追記する。

WordPressユーザー名の隠蔽

WordPressのユーザ名は、サイト攻撃の手掛かりにもなり得ますので、セキュリティ確保のために外部からわからないようにすることが重要です。

「WordPress日本語版のインストール」のステップで設定したWordPressの「ユーザ名」で作成したユーザは、WordPress管理画面にログイン可能な管理者権限を持ったものです。この管理者権限を持ったユーザはもちろんのこと、投稿者権限のみを持つユーザについても、ユーザー名を隠蔽する方が良いでしょう。

さて、WordPressの設定を変更することなく、デフォルトのまま使用した場合、ユーザ名(と同じ文字列)は以下の箇所に表示されます。

  • 記事の「投稿者」欄
  • 「投稿者アーカイブページ」のURL

以下にそれぞれについての対応方法を示します。

記事の「投稿者」欄への対応

投稿した記事の「投稿者」欄には、正確には「ユーザ名」が直接表示されるのではありません。「投稿者」として表示されるのは、各ユーザ設定の中の「ブログ上の表示名」です。この「ブログ上の表示名」は、「ユーザ名」と「ニックネーム」のどちらかを選択することができるのですが、ユーザの新規作成の際に「ニックネーム」には「ユーザ名」と同じ文字列がデフォルトで設定されます。したがって、デフォルトの状態だと「ユーザ名」と「ニックネーム」が同じですから、「ブログ上の表示名」も、結果的に「ユーザ名」と同じ文字列が設定されることになります。

上記のことから、「ニックネーム」を「ユーザ名」とは違う(できれば、「ユーザ名」を連想できない)文字列を指定し、さらに「ブログ上の表示名」に「ニックネーム」を選択することにより「ユーザ名」を隠蔽することができます。

「投稿者アーカイブページ」のURLへの対応

「投稿者アーカイブページ」とは、指定した投稿者が投稿した記事の一覧ページのことです。「投稿者アーカイブページ」のURLは、「https://(WordPressのトップURL)/archives/author/「Author Slug」/(「archives/」部分は変更可能)です。「Author Slug」とは、その投稿者(Author)に関連するページのURLに埋め込まれる、投稿者を特定する文字列のことです。ユーザの新規作成時に、この「Author Slug」が「ユーザ名」と同じ文字列に設定されるので、結果的に、デフォルトのままだと「投稿者アーカイブページ」のURLに「ユーザ名」と同じ文字列が埋め込まれてしまいます。

『記事の「投稿者」欄への対応』で、「ブログ上の表示名」を「ユーザ名」とは違う文字列の「ニックネーム」に設定している場合、そもそも「ユーザ名」と同じ文字列に設定されている「Author Slug」がURLに埋め込まれている「投稿者アーカイブページ」にたどり着く方法がなければ、「ユーザ名」が表面に出てくることはありません。ところが、実は「https://(WordPressのトップURL)/?author=n」の「n」に「ユーザID」(ユーザ作成時に1から順に振られる正の整数)を入れることにより、内部でその「ユーザID」に対応したユーザの「投稿者アーカイブページ」にURLリダイレクトされ、表示することができるのです。「ユーザID」は正の整数ですので、ある正の整数を「n」に当てはめることにより、その「ユーザID」に対応したユーザの「Author Slug」が分かってしまいます。

そこで、上記問題に対処するためには、「Author Slug」を「ユーザ名」とは違う文字列に変更してしまえば、「投稿者アーカイブページ」のURLに「ユーザ名」の文字列が現れることはありません。しかし、現状では、WordPress単体で「Author Slug」を変更する手段がないのです。そこで、登場するのが、「Edit Author Slug」というプラグインです。このプラグインは「Author Slug」を変更することを可能にするもので、これによって「Author Slug」を「ユーザ名」を連想させない文字列に変更すれば、解決します。「Edit Author Slug」プラグインをインストールして有効化すると、ユーザーの設定画面に「Author Slug」を変更できる項目が追加されるので、「Custom」を選択して、その入力フィールドに「ユーザ名」を連想させない文字列を入力して、更新すれば対応完了です。

「Slug」とは、英和辞典で調べると「ナメクジ、怠け者、のろのろした動物、金属の小さな塊、…」などなど、ちょっと今回の「Author Slug」にはなかなか結び付きませんが、Web業界では「位置を示す文字列」の意味があるようです。WordPressでは、ほかに「固定ページ」のSlug、「投稿ページ」のSlug、「カテゴリー」や「タグ」のSlugなどがあります。

おわりに

以上で、WordPressの導入に際して、最低限しておきたい作業が完了しました。あとは、コンテンツをどんどん充実させていきながら、細かい設定の調整をしていけば良いでしょう。