[Docker] WordPressを速攻インストールして構築を開始できるDocker開発環境をつくった

WordPressを開発するとき、MAMPやLocal by Flywheel、皆さんはどんなツールを使っていますか?

開発環境って結構構築が面倒だったりしますよね。

ここ1年くらい、私はDockerで開発環境を構築しています。非常にシンプルな開発環境ですが、個人的には気に入っています。

メールの送受信も確認できるMailHog付きです。

WordPressがサクッと動作するDocker環境

Git

以下のリポジトリを利用します。

https://github.com/onocom/wp-docker

前提

インストール方法

Git Clone

Docker立ち上げ

クローンしたディレクトリに移動

Docker起動

Docker停止

使い方

WordPressインストール

http://localhost:8000/

※ 初回起動時には、WordPressのインストール画面が立ち上がるはずです。

WordPressインストール画面

phpMyAdmin

http://localhost:8080/

phpMyAdmin画面

MailHog

ローカル環境でメール受信・送信を確認する画面が立ち上がります。

http://localhost:8025/

MailHog画面

ディレクトリ構成

Dockerが起動すると、以下のディレクトリが生成されます。
htmlがApacheのドキュメントルートになります。

※ www配下のディレクトリは、gitignoreされています。

まとめ

シンプルな構成にしているので改善とかもしやすいかな。

ぜひぜひご活用いただけると嬉しいです。

 



[制作者向け] WAFが正常なJavaScriptもエラーにしてしまう場合の.htaccessによる対応方法(CPIシェアードプランACE01の場合)

WordPressやconcrete5等のCMSを使うなら絶対あったほうが良いWAF

WordPressに対する不正攻撃からサーバを守ってくれるWAF(Webアプリケーションファイアウォール)。

CPIのレンタルサーバ シェアードプランACE01にはWAFが標準装備されていて、クロスサイト・スクリプティングやSQLインジェクション等のサイバー攻撃を未然に防いでくれます。

詳しくはCPIの以下のページに分かりやすい解説が載っています。

https://www.cpi.ad.jp/shared/detail/waf.html

CPIは、ジェイピー・セキュア社のSiteGuard Liteを導入しているようですね。

WAFがある安心感は非常に大きく、利用しないのはもったいない!というかWAFが使えるなら絶対に使ったほうが良い機能です。

しかしながら、WAFがしっかりと動作しすぎるために、サイト構築時に悪意のないJavaScriptもエラーになるケースも割りと多かったりします。

GoogleAnalyticsのコードをconcrete5の管理画面にペーストして保存しようとすると以下のようなエラーになり上手く保存が出来ないことも。

WAF(SITEGUARD)エラー

.htaccessでWAFの設定を変更・無効にできる

そんなときに私は、JavaScriptを貼り付けて保存する間だけ.htaccessを使ってWAFを無効化しています。

手順とは言いながら、.htaccessに以下の一行を付け加えるだけです。

これで、WAFを無効に出来ます。この行を削除すると有効化されます。

無効化して作業が終わったら、すぐに有効化をしましょう!

すぐに有効化をしましょう!

大事なので2回言いました。

また、ON(有効)・OFF(無効)の2択ではなくて、より柔軟にWAFの除外設定をすることも可能です。

その解説は以下のCPIスタッフブログに詳しく書かれていますのでご一読下さいませ。

知らないと怖いWebセキュリティと、CPIサーバーのWAF設定方法
http://shared-blog.kddi-web.com/webinfo/129#setting

2017年2月24日追記

あれから色々と調べていたら、以下サイトに記載されていた、IPアドレスによりWAFの除外設定をする方法がCPIでも使えました。

192.168.1.1 の部分を自分のIPアドレスに変更すると、該当IPアドレスからのアクセスの場合、WAFのフィルタリングから除外されます。

【誤検知】WAFのSiteGuard Liteで閲覧をブロックされてしまった場合の除外設定の方法
http://spot-web.jp/blog/2700/

 

感想

WAFがサイト構築の足かせにならないように、WAFと仲良く付き合っていきたいですね。

CPI LOVEなページを作りました

4年以上愛用しているCPIの共用レンタルサーバー ACE01について、褒めたり、愛のこもった文句を言うページを作りました。CPIサーバをご検討されている方は、もし良ければこちらもご覧ください。




【Windows】hostsファイルとは、hostsファイルの場所、hostsファイルの編集・書き換え方法

hostsファイルとは

hostsファイル ・・・ ホスツファイルと読む。

DNSより先に参照されるIPアドレスとドメイン名の一覧のこと。

ここにIPアドレスとドメイン名を対にして記載しておくことにより、DNSが応答しないときや、Webサイトを新サーバで構築する時などに活用できる。

hostsファイルを扱うにあたって、事前にネットワークやDNSの仕組みを知っておくとよいかも。

hostsファイルの場所一覧(Windowsの場合)

WindowsのhostsファイルはOS毎に違うのかな。と思って一覧にしたけど同じっぽい。(Windows 10以外はネットで調べました)

Macユーザの方はこちらの記事をどうぞ。[2019年7月17日追記]

●Windows 10のhostsファイル

C:\Windows\System32\drivers\etc\hosts

●Windows 8 / Windows 8.1のhostsファイル

C:\Windows\System32\drivers\etc\hosts

●Windows 7のhostsファイル

C:\Windows\System32\drivers\etc\hosts

●Windows Vistaのhostsファイル

C:\Windows\System32\drivers\etc\hosts

hostsファイルの書き方

hostsファイルをメモ帳やエディタで開き、末尾や任意の行に以下の形式でIPアドレスとホスト名の対応を記述する。

記述形式

記述例

先頭に#を入れることでコメントも使える。

補足・注意事項

hostsファイルを編集するには管理者権限が必要。

メモ帳を開く際に、【メモ帳アイコンを右クリック→管理者として実行】をしてからhostsファイルを開くと編集出来る。

詳しくはMicrosoftのナレッジベースに記載されている。

Windows Vista で Hosts ファイルや Lmhosts ファイルを変更できない
https://support.microsoft.com/ja-jp/kb/923947

Windows 10でも似たようなもんです。

書き換えてから再起動が必要になる場合もある。という記述をウェブ上にチラホラ見かけたけど、Windows 10では再起動の必要はなさそう(実体験)。

DNSより先に参照されることを忘れずに。

DNSよりも先に参照されるので、DNSの設定を変えたのに、古いサーバから新しいサーバに参照先が変わってくれない!ということが起きることもあるかと。

気をつけよう。

まとめ

hostsファイルは慎重に扱いましょう。

普段あまりhostsファイル弄らないんだけど、皆弄ること多いのかな?

 

フリーソフトを使って手軽に更新する方法も

コメントで「Hosts File Manager」というフリーソフトをご紹介いただきました。(ありがとうございます。)

以下からダウンロードいただけますので、hostsファイルを直接触るのは怖いという方は、ご活用されては。

http://softwarefactory.jp/ja/products/hostsfilemanager/



【DB】CPIのシェアードプラン ACE01で新しいバージョンのMySQLを利用する場合の覚書

ACE01でMySQL 5.5.42 / MySQL 5.6.30から選べる様になった!?

CPIの共用サーバーのACE01がまたいつの間にか新しくなっているような!?

MySQLの5.5.42 か 5.6.30を選べるようになっているではありませんか!

http://www.cpi.ad.jp/shared/detail/mysql.html

実際ユーザーポータルでもMySQL5.6.30でデータベースを作るか、MySQL5.5.42でデータベースを作るかを選択できるようになっていました。

cpi.PNG

せっかくならWordPressで使うデータベースは、MySQLの新しいバージョンを使おうと、MySQL 5.6.30でデータベースを作ったところ、データベースに接続出来ません!というエラーに事態に陥ったのでメモ

error

原因はポート番号

管理画面のお客様情報 > プログラムのパスとサーバの情報 をチェックすると以下のように書いてありました。

MySQL 5.6.30 (port 3307) / 5.5.42 (port 3306)

version

おぉ!MySQL 5.6.30はポート番号3307番で動いているようです。

ということでwp-config.phpを以下のように修正したら無事に画面が表示されました。

↓修正

思ったこと

CPIどんどんバージョンアップしていって、とても素敵!

CPI LOVEなページを作りました

4年以上愛用しているCPIの共用レンタルサーバー ACE01について、褒めたり、愛のこもった文句を言うページを作りました。CPIサーバをご検討されている方は、もし良ければこちらもご覧ください。




[MAMP]WindowsのMAMPでApacheが起動しない

MAMP Apacheが起動しない

Windows版のMAMPでApache Serverが全然起動しない。

という現象が発生したのでメモ。

エラーメッセージ

MAMPのエラーログを確認します。

MAMP\logs\apache_error.log

むむむ。エラーメッセージではよくわからん。

mod_perl が問題のようです

原因を検索してみたところ、以下のフォーラムを発見。

https://community.apachefriends.org/f/viewtopic.php?p=149967

どうやらmod_perlが悪さをしているようです。

mod_perlを無効化

フォーラムに書かれていた内容を元に、httpd.confを書き換えます。

MAMP\conf\apache\httpd.conf

140行目くらいかな?

これをコメントアウト↓

動くようになった

MAMP Apacheが起動した

良かったよかった。