Statamic v2 をWin上の開発サーバにインストールする

2017/01/29

Macの開発サーバと同様に、Winの開発サーバにもインストールしてみました。

Win上の開発サーバの環境

  • Apache 2.4.16 (Win64)
  • OpenSSL 1.0.2d
  • PHP 5.6.13

事前ステップ

Macの時と同様、インストールを進めます。

  1. ダウンロードしたソースコードの全部をルートディレクトリに設置
  2. site/, local/, statamic/, assets/ のディレクトリに書き込み権限を付与する。

    chmod -R 777 site local statamic assets

  3. .htaccess でリライトを有効にする。コマンドでルートにあるファイルをリネーム。

    mv sample.htaccess .htaccess

installer.php で表示されるエラーを順に解消する

/installer.php にアクセス。私のWin環境では次の項目で不適合(false)の表示が出た。

  • OpenSSL PHP Extension
  • GD Library for image manipulation
  • FileInfo Extension for image manipulation
  • always_populate_raw_post_data=-1

順に解決していく。

OpenSSL PHP Extensionを有効に

php.iniファイルを編集(L:893:コメントアウトを削除)

;extension=php_openssl.dll
 ↓
extension=php_openssl.dll

Apache再起動で無事解決。

GD Libraryを有効に

php.iniファイルを編集(L:881:コメントアウトを削除)

;extension=php_gd2.dll
 ↓
extension=php_gd2.dll

Apache再起動で無事解決。

FileInfo Extensionを有効に

php.iniファイルを編集(L:880:コメントアウトを削除)

;extension=php_fileinfo.dll
 ↓
extension=php_fileinfo.dll

Apache再起動で無事解決。

always_populate_raw_post_data=-1 にする

php.iniファイルを編集(L:704:コメントアウトを削除)

;always_populate_raw_post_data = -1
 ↓
always_populate_raw_post_data = -1

Apache再起動で無事解決。

以上ですべてのエラーは解決。次へ進むボタンが有効になったのでinstaller.phpを進める。

Permissionsエラー

進めた1項目目でChecking folder permissions, please wait...と出っ放しで次に進まない症状に。.htaccessが原因らしかったため、.htaccessのL:23 ベースディレクトリを設定したら次へ進んだ。

#RewriteBase /
 ↓
RewriteBase /

ここまでのエラーは全て解消し、無事ログイン完了!

画像が表示されない事象が発生

無事ログインできたものの、公開画面・管理画面ともに、パスがimg/id/で始まる画像が表示されない事象が発生。Chromeのコンソールでは画像の参照時に「500 Internal Server Error」が発生している。Apacheのログ、PHPのログを追ったが直接の対策は打てず、本家のサポートに投稿。

What's the error? There should be something added to your log file located in local/storage/logs when you see the 500 error.

とのことで、local/storage/logs を確認すると、次のエラーを発見。

production.ERROR: exception 'Intervention\Image\Exception\NotSupportedException' with message 'Reading Exif data is not supported by this PHP installation.' in \statamic\vendor\intervention\image\src\Intervention\Image\Commands\ExifCommand.php:19

インストールされているPHPのextensionが足らないことが原因のようなので、php.iniを編集(L:889)。

;extension=php_exif.dll
 ↓
extension=php_exif.dll

Apacheを再起動で無事画像が表示された!

.htaccessがよろしくない

ドキュメントルートに設置されている.htaccessについて、2か所変更した。

リライトがうまくいかない

virtualhostの時に発生することがあるようだが、ベースディレクトリの設定が必要だった。.htaccessのL:23、コメントアウトを削除。

# RewriteBase /
 ↓
RewriteBase /

無限ループが起きている

上記の「画像が表示されない事象」でApache(virtualhost)のログを見ていたら次のエラーが頻発していた。

[core:error] [pid 3440:tid 1112] [client 127.0.0.1:52602] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://statamic.dev/about

Request exceeded the limit of 10 internal redirects due to probable configuration error となっている。調べたところ、内部リダイレクトが10の制限を超えて無限ループになっている、ということのよう。WordPressなどのプロダクトでも初期の.htaccessだとこの症状になることがあるらしく、リダイレクトの実行処理コードを次のように変更した。(L:66)

RewriteRule ^ index.php [L]
 ↓変更
RewriteRule ^(.+)$ /index.php/$1 [L,QSA]

変更以降、エラーは発生しなくなった。

以上でstatamicのインストール・稼働確認は完了!

一つ前のページへ
867867.com

Contents

Get in touch

これからも、仕事と遊びを通して多くの方と出会えますように。

お問い合わせ
株式会社グランフェアズ
facebook

※個人事業主ですが、専従のため制作のご依頼はお受けしておりません。

© 867867.com All Rights Reserved.

menu