様々なシーンでWeb上に情報を発信、共有したい場合がある。その手段となるWebサイトの構築手順を記載する。
本ナレッジでは、最初に必要となる手順として、Webサイトを簡易に構築可能とするコンテンツ管理システム (CMS) であるWordPressの導入方法を記載する。
本手順は開発およびその後の運用を容易にするため、Dockerも合わせて利用した手順となる。
Sponsored Links
本手順の前提となるサーバ環境
本手順を実施するためのサーバ環境を以下に示す。
- サーバ環境は、AWSやGCPのようなクラウド上のIaaSや、レンタルサーバを利用すると、Webサイトをそのまま公開することが可能である。ただし、自身のPCへ導入することも可能なため、まずはテストとして自身のPCに導入しても良い。
- 後述するが、本手順はDocker を利用した導入手順のため、PCにテストとして導入し、Webサイト構築後クラウド上のサーバへ移行することも容易である。
- OSはUbuntuやCentOS等のLinuxを利用する。
DockerおよびDocker Composeインストール
WordPressを導入するにあたり、物理サーバやPCにそのままインストールし、導入することも可能である。しかし、構築にはDBの導入等も必要であり、さらに運用においてもバージョンアップが必要であったり、サーバやPC環境を替えたい場合新規に環境構築が必要となり、容易ではない。
そのため、本ナレッジでは、DockerおよびDocker Composeを利用して、サーバ環境を仮想化し、その中にWordPressを導入する。本対応により構築も運用も容易となる。特に仮想化したサーバ環境をそのまま別PC、サーバにも移行可能となるため、自身のPCでテストした後、クラウド上のサーバへ移行するといった対応が容易である。
そのため、本ナレッジでは、DockerおよびDocker Composeを利用して、サーバ環境を仮想化し、その中にWordPressを導入する。本対応により構築も運用も容易となる。特に仮想化したサーバ環境をそのまま別PC、サーバにも移行可能となるため、自身のPCでテストした後、クラウド上のサーバへ移行するといった対応が容易である。
- Dockerをインストール。インストール手順は以下ナレッジにて記載。
- Docker Composeをインストール。インストール手順は以下ナレッジにて記載。
WordPress用仮想サーバのためのDocker設定
- WordPress用仮想サーバのためのDockerComposeファイルを設置するディレクトリを作成。
- 以下のディレクトリは例である。任意のディレクトリで問題ない。
$ mkdir -p ~/web/top/docker_compose/
$ cd ~/web/top/docker_compose/
- WordPress用仮想サーバのためのDockerComposeファイルを作成する。
- 下記例ではエディタとしてviを記載しているが、emacs等何を利用しても問題ない。
$ vi docker-compose.yml
- 下記内容をコピーし、”docker-compose.yml”ファイルに記載して保存。
- 本設定はWordPressの仮想サーバとMySQLを利用したデータベースの仮想サーバをダウンロードし、構築するものである。
version: '3'
services:
db:
image: mysql:5.7
volumes:
- ./volumes/db_data:/var/lib/mysql
environment:
MYSQL_DATABASE: top_wordpress_db
MYSQL_USER: user01
MYSQL_PASSWORD: passWord01@
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
restart: always
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "80:80"
volumes:
- ./volumes/wordpress/html:/var/www/html
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: top_wordpress_db
WORDPRESS_DB_USER: user01
WORDPRESS_DB_PASSWORD: passWord01@
restart: always
上記設定の詳細について記載する。本設定は例であり、必要に応じて適宜修正。
- データベースの仮想サーバ設定
- MySQL 5.7を利用。
- 物理PCやサーバ上の ”./volumes/db_data” を、仮想サーバの “/var/lib/mysql” に設定。“/var/lib/mysql” 配下にはデータベースの実体ファイルがあるため、ファイルを順次更新する必要がある。Dockerを利用した仮想サーバはポリシーにもよるが、基本的に変更を加えるファイルの実体は仮想サーバ内に持たない方が良い。そのため、本設定により物理PCやサーバ側のディレクトリと連携させて、そちらにファイルを保存する。
- DB名は ”top_wordpress_db” 。
- DB内のユーザ名は “user01” 。
- 上記ユーザのパスワードは “passWord01@” 。
- DB内のrootユーザの初期パスワードを (pwgenにて) ランダムで生成。
- 障害等で停止したら、自動で再起動。
- WordPressの仮想サーバ設定
- WordPressの仮想サーバはデータベースの仮想サーバの後に構築。
- WordPressは最新バージョンを利用。
- 仮想サーバの80番ポートを、物理PCやサーバ上の80番ポートに繋げて公開。
- 物理PCやサーバ上の ”./volumes/wordpress/html” を、仮想サーバの “/var/www/html” に設定。“/var/www/html” 配下にはWordPress関連の実体ファイルがあるため、ファイルを順次更新する必要がある。Dockerを利用した仮想サーバはポリシーにもよるが、基本的に変更を加えるファイルの実体は仮想サーバ内に持たない方が良い。そのため、本設定により物理PCやサーバ側のディレクトリと連携させて、そちらにファイルを保存する。
- WordPressにて利用するデータベースを上記のデータベースとして、3306番ポートにて接続。
- WordPressにて利用するデータベースを上記のデータベースとして、DB名 ”top_wordpress_db” に接続。
- WordPressにて利用するデータベースを上記のデータベースとして、ユーザ名 “user01” にてDBへログイン。
- 上記ユーザのパスワードは “passWord01@” を利用。
- 障害等で停止したら、自動で再起動。
前述の設定内にある、仮想サーバ側のディレクトリと連携する物理PCやサーバ上のディレクトリを作成する。
- データベース用仮想サーバの “/var/lib/mysql” とする、物理PCやサーバ上の ”./volumes/db_data” を作成。
- WordPress用仮想サーバの “/var/www/html” とする、物理PCやサーバ上の ”./volumes/wordpress/html” を作成。
$ mkdir -p ./volumes/db_data
$ mkdir -p ./volumes/wordpress/html
WordPress用仮想サーバ起動 & Webサイト表示確認
- 作成したファイルを基にDocker Compose利用して、WordPress用仮想サーバをダウンロード、インストールし、起動。
$ docker-compose up -d
- Webブラウザで下記にアクセス。
http://localhost/
(または、http://127.0.0.1/)
- WordPress の画面が表示されれば完了。言語の選択画面が表示される。
- その後は、WordPress画面に従って初期設定を実施する。本設定の手順は別ナレッジにて記載する。
Sponsored Links