@eiKatou Blog http://eikatou.net/blog Fri, 21 Apr 2017 23:17:14 +0000 ja hourly 1 https://wordpress.org/?v=4.7.4 DockerでWordPress環境を構築する http://eikatou.net/blog/3299.html Wed, 19 Apr 2017 08:32:09 +0000 http://eikatou.net/blog/?p=3299 続きを読む ]]> WordPressのブログをAWS S3で公開するの続き。

前回はS3でブログを公開するところまでやったので、次はさくらインターネットのWordPressを止める必要がある。その前に自分のPCでWordPress環境を構築する。今回はDockerの勉強もかねて、Dockerを使って構築する。

Dockerとは

Dockerは軽量の仮想化環境である。VirtualBoxなどの仮想化はハードウェアからのエミュレーションであるが、DockerはホストOSの上のレイヤーでの仮想環境である。下のリンクが分かりやすい。
WikiPedia Docker
超入門Docker:第1回 Dockerとは

ミドルウェア(ApacheやMySQLなど)を入れたイメージを作り、そのイメージをベースとしたコンテナを動かしていく。もし、ミドルウェアのバージョンアップがあった時は、コンテナを作り直して、コンテナを差し替える形で起動すれば良い。負荷分散などで複数サーバを立ち上げたい時は、同じように設定されたコンテナを複数起動させることができる。要は、アプリケーション環境を一つの箱に入れ込んで管理できるというもの。

今回はホストOS(Mac)の環境を汚すことなく、WordPress環境を作れるところもメリットだと思った。

Docker for Macのインストール

Get started with Docker for Mac
上記リンクから、Dockerをインストール。Dockerアプリを起動させると、Macの上のバーにクジラが出てくる。

Docker ComposeでWordPress環境を構築

DockerでWordPress環境を構築するためには、MySQLとWordPressのイメージを利用する。このイメージはDockerHubで公開されている。オフィシャルと書いてあるので、信用できるものである。

MySQLとWordPressの2つのコンテナを使うので、Docker Composeを使う事にした。Docker Composeは以下のサイトの解説がわかりやすい。
docker-composeを使うと複数コンテナの管理が便利に

Dockerの公式サイトにWordPress環境構築のドキュメントがあるので、その通りに実行する。
Quickstart: Compose and WordPress

何も詰まることなく、あっけなくWordPress環境が立ち上がった。
http://eikatou.net/blog:8000 で繋いで見ると、初期画面が表示された。簡単すぎる!!

気になるところ

初期起動までは簡単だったけど、色々と気になるところが出てきた。

1つ目は、Data Volumeについて。Data Volumeは、コンテナの永続データを保存する仕組みのこと。永続データはData Volumeに入れるのが良いらしい。公式サイトのdocker-compose.ymlでは、WordPressの本体が入っている/var/www/htmlはData Volumeになっていない。画像のアップロード先でもあるので、Data Volumeにしておきたい。

2つ目は、MySQLのデータを編集するために、phpMyAdminを使えるようにしておきたい。

3つ目は、「WP Static HTML Output」を使おうとすると、”You are missing the zip extension”とメッセージが出て利用できない。以下のリンクに解決方法が出ているので、これを取り込むようにする。
PHP Zip Archive Enabled Fail #52

オレオレ版に改造

修正したDockerfileとdocker-composeは、GitHubにて公開している。
https://github.com/eiKatou/Sample/tree/master/Docker/WordPress

まず、3つ目に対応するため、zip extensionをインストール済みのDockerイメージを作成する。WordPressの公式イメージを元に、zip
extensionをインストールしたものである。この対応のために、Dockerfileを作成する。Dockerfileはイメージを作るためのソースコードのようなものだ。Dockerfileの記述に沿って、イメージが構築される。

次はdocker-compose.ymlを修正する。修正点は以下のとおり。
・Dockerfileで作ったイメージを利用する
・phpMyAdminのコンテナを起動
・WordPressのデータ保存先をData Volumeにする
・WordPressは80番ポートで動かすようにする(元は8000番ポート)

Dockerfileとdocker-composeの準備

~/wordpress/配下に、以下の2ファイルを配置。
・Dockerfile
・docker-compose.yml

イメージの作成

cd ~/wordpress
docker build -t wordpress:20170419 ~/wordpress
docker images

最後のコマンドで、wordpress:20170419のイメージができていることが確認できる。

WordPress起動

cd ~/wordpress/
docker-compose up -d

WordPressへのアクセス

WordPressへは以下のURLでアクセスする。
http://eikatou.net/blog/

phpMyAdminへのアクセスは以下のURL。
wordpress/wordpressでログインできる。
http://eikatou.net/blog:8080/

WordPress停止

cd ~/wordpress/
docker-compose down

Dockerを使ってみて

Dockerで簡単にWordPress環境を作ることができた。また、自分のPCに直接ミドルウェアを入れる必要がないので、自分のPC環境を汚さずに、色々な環境をお試しで作ることができる。勉強するところは多いが、非常に便利なソフトウェアだと思った。Dockerは開発が続いているので、今後はもっと便利になっていくと思う。

]]>
WordPressのブログをAWS S3で公開する http://eikatou.net/blog/3247.html Sun, 16 Apr 2017 09:36:29 +0000 http://eikatou.net/blog/?p=3247 続きを読む ]]> WordPressを動かすにはPHPやMySQLが必要なため、どうしてもレンタルサーバを借りることになってしまう。このブログもWordPressを利用しており、さくらのレンタルサーバ スタンダードを使っていた。このレンタルサーバのお値段は1年間で5,142円。メモ書き程度にしか使っていないブログで、この値段は高い、と思っていたところに、AWS S3を使ってホスティングする方法を見つけた。

この方法は、自分のPC内でWordPressを起動させ、そのWordPressを静的HTMLに出力して、それを外部に公開する方法となる。そのため、WordPressが持つ全ての機能が動くわけではない。例えば、コメント機能や予約投稿などの機能が使えなくなってしまう。

現在、さくらインターネット上で稼働しているWordPressをAWS S3に移行する。また、独自ドメイン「eikatou.net」を使っているため、このドメインでアクセスできるよう設定を行う。

以下の2つのサイトを参考に実施していく。
S3で独自ドメインを使用して静的ウェブサイトをセットアップしてみる
独自ドメインを使ってAmazon S3で静的Webサイトをホストする

AWS S3の利用料は?

事前に、AWS S3の利用料を調べておく。
AWS S3料金

リクエスト回数とデータ転送量で料金が決まる。何の根拠もない数字だけど、10,000リクエスト+データ転送量5GBだとすると、$0.01+$0.14*5で$0.71。100円ぐらいの想定である。ただし、S3は大量のリクエストが来た場合でも処理できてしまうため、料金が青天井となる可能性がある。AWSの請求アラートを設定しておくのをお勧めする。

WordPressを静的HTMLにする

WP Static HTML Output」というプラグインを利用する。

Base Urlに、自分のブログのトップアドレスを入力する。Start static site exportボタンを押すと、HTMLファイルが作成されていく。ブラウザの通知を有効にすると、バックアップが完了した時点で通知が行われる。その通知を押すと、ダウンロードできるリンクが表示される。

静的HTMLにする前に、ブログのパーマリンク設定を変更しておこう。”http://xxxx/2017/04/13/”のようなURLでは静的HTMLにできないからだ。管理画面の設定>パーマリンクで、カスタム構造を選んで、”/%post_id%.html”を入れるようにした。

AWS S3にファイルを配置する

以下の内容を順に実施していく。
・バケット作成
・AWS CLIコマンドのインストール
・S3にアップロード

S3にファイルを配置するために、まずはバケットを作成する。これはAWSの公式ドキュメントにやり方が載っている。ここを見ながら設定する。
例: 静的ウェブサイトをセットアップする

注意点は、独自ドメインを設定するときは、ドメインと同じ名前のバケット名にすること。このサイトはeikatou.netドメインを利用しているので、バケット名もeikatou.netとした。

次はAWS CLIコマンドのインストール。
AWS コマンドラインインターフェイス
Installing with get-pip.py

自分のMacには、すでにPythonは入っていた。pipを入れる必要があるので、get-pip.pyを上記リンクからダウンロードして実行する。また、sixはすでにインストール済みであったため、ignoreオプションをつけている(これをつけないとエラーになった)。

$sudo python get-pip.py
$sudo pip install awscli –upgrade –ignore-installed six

AWS CLIコマンドの設定を行い、S3にアップロードする。
まずは、Access KeyとSecret Access Keyを登録する。

$aws configure
AWS Access Key ID [None]: xxxxx
AWS Secret Access Key [None]: xxxx
Default region name [None]: ap-northeast-1
Default output format [None]: json

S3のバケット内を確認。

$aws s3 ls s3://eikatou.net

S3のバケットとローカルフォルダを同期させる(アップロードされる)。「WP Static HTML Output」で出力したzipをダウンロードして解凍したフォルダを、自分のPCに置いている。

$aws s3 sync /Users/ei/www/eikatou.net s3://eikatou.net –exclude *.tmp –exclude .DS_Store

AWS S3にドメインの設定をする

今回は独自ドメインを使っているため、AWS S3に独自ドメインの設定をする。
・さくらインターネットのドメイン設定を削除
・AWS Route 53のホストゾーンを作成
・AWS Route 53のドメイン情報を設定(エイリアスレコードの追加)
・ムームードメインのネームサーバ書き換え

ドメイン設定の削除を参考に、さくらインターネットで登録済みのドメイン設定を削除した。

AWS Route 53の設定については、公式ドキュメントに記載があるので、それを参考に実施する。
ステップ 3: Amazon Route 53 ホストゾーンを作成、設定する

また、以下のサイトも非常に参考になった。
S3で独自ドメインを使用して静的ウェブサイトをセットアップしてみる

エリアスレコードを追加するときは、作成したS3のバケットが出てくるので、それを選択すること。

最後に、ムームードメインのネームサーバの設定を変更する。ここには、Route53のType「NS」レコードのサーバを設定する。
ネームサーバのセットアップ方法(GMOペパボ以外のサービス)

動作確認

ドメインでアクセスして、ブログが見えていることを確認した。

]]>
ホーム画面に「Twitter」(Android)のリストを開くアイコンを作る方法 http://eikatou.net/blog/3240.html Sun, 23 Oct 2016 14:39:06 +0000 http://eikatou.net/blog/?p=3240 続きを読む ]]> 今まで「twicca」を愛用してきたけど、画像などのリンクが開けないことが増えてきたので、Android公式Twitterアプリを利用し始めた。

しかし、公式アプリではリストを開くまでに3タップ必要で、そこが不満だった。ホーム画面にTwitterのリストを開くアイコンを作る方法を見つけたので紹介する。

1.「URLへのショートカット」をインストール
https://play.google.com/store/apps/details?id=jp.miotti.ShortcutToURL&hl=ja

2.「URLへのショートカット」を起動
名前:好きなショートカット名
URL:twitter://list?screen_name=ユーザ名&slug=リスト名

URLの”ユーザ名”の箇所には自分のTwitterユーザ名(@は除く)を入れる。”リスト名”の箇所にはリストの名前を入れる。

3.最後にアイコンを選択して、OKを押す。これでホーム画面にショートカットができているはず。

(おまけ情報)
ブラウザなどでリンクを押した後に、公式アプリが起動する場合は、そのリンクを取ればショートカットが作れる。今回はPCのChromeでデバイスをスマートフォンにして、リンクを取得した。

]]>
macOS Sierraに安心してアップデートするためのチェックリスト http://eikatou.net/blog/3232.html Fri, 23 Sep 2016 23:01:03 +0000 http://eikatou.net/blog/?p=3232 続きを読む ]]> macOS Sierraがリリースされましたね。MacのOS更新の前に確認する事をまとめてみました。これをチェックしてから、更新に進みましょう。

160924-0001

ハードウェア条件を確認

Macのハードウェア条件を見て、アップデート対象のMacかを確認します。ここで対応していなければ、アップデートは出来ないです。

macOS Sierraの新機能を確認

macOS Sierraで新機能を確認します。アップデートするOSがどのような機能を持っているか調べておきます。この時、利用しない機能を覚えておきます。OSアップデートして、すぐに設定画面が出てくる可能性があるためです。

普段使っているアプリがmacOS Sierraに対応済みか確認

macOS Sierraにアップデートして、普段使っているアプリケーションが動かなければ困ります。事前にアプリケーションが対応済みかを確認しておきます。

基本は、そのアプリケーションのサイトを確認するのが良いでしょう。
以下のサイトも役に立ちます。
macOS Sierra 10.12: Compatible Apps

ちなみに、私が利用しているアプリの対応状況は以下でした(2016/09/23時点)。
・1Password -> OK
・ATOK -> 不明(未対応だが動くかも)
・ウィルスバスター -> バージョンアップで対応
・Evernote -> OK
・Dropbox -> 特定の使い方で問題が発生
・IntelliJ IDEA -> 未対応(対応中)

IntelliJ IDEAが対応中とのことで、アップデート待ち中です。

Google先生にアップデートの結果を聞く

Googleで検索して、新OSのアップデートを済ました人達の結果を確認しましょう。ネガティブなキーワードで検索して、問題が起きた事例を確認しておきます。
・macos sierra 問題
・macos sierra 動かない
・macos sierra 遅い
・macos sierra 重い

アップデート前に・・

アップデート前に以下を確認します。
・バックアップを取りましたか?
・ウィルス対策ソフトをオフにしていますか?
・別途インターネットにアクセスする方法がありますか?

ここまで来たら準備万端です。アップデートボタンを押すだけです!

]]>