リバースプロキシnginxにsslを設定した裏のEC-CUBE 2で管理者ログインできない

EC-CUBE 2を触ることがあって、カード決済テストするにはhttpsの環境が必要..ということで開発環境にもsslを導入しました

Nginx – Apache – EC-CUBE 2

と表にNginxを立ててたので、そこにsslを導入
config.phpのHTTP_URLをhttpsにします

$ vim config/config.php

define('HTTPS_URL', 'https://sample.co.jp');

これで、https化できたのですが、管理者画面でエラーになります
コードを読み進めると、httpでアクセスしてるようで..

リバースプロキシNginxのconfに

proxy_set_header X-Forwarded-Proto $scheme;

を設定しておいて、EC-CUBE2でもhttpsで動いてほしかったのですが、対応してない様子

data/require_base.php で無理やり対応しました

$ vim data/require_base.php

33行目あたりに

if ( ! empty( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' ) {
    $_SERVER['HTTPS']='on';
}

これで、動作するようになりました

Hugoでリストの表示数を変える

Hugoで一覧リストの表示件数を変えたかったので調べました

$ hugo version

Hugo Static Site Generator v0.20.7 linux/amd64 BuildDate: 2017-05-03T16:39:25+09:00

で、テーマはdim0627/hugo_theme_robustを使っています

テンプレートを上書きかなんて思ってましたが、パラメータがあり

$ vi config.toml

paginate = 100

というふうにしてあげればできました

Hugo - Pagination

Hugoの表示確認をしようとするとエラー

新しく環境を移行してhugoを動かしてみました
環境は Ubuntu 16.04 です

$ sudo apt install hugo
$ hugo version

Hugo Static Site Generator v0.16-DEV BuildDate: 2016-02-07T02:14:17+09:00

hugoのコードは前から使ってたものを利用してサーバー起動

$ env HUGO_ENV=”DEV” hugo server –theme=hugo_theme_robust –buildDrafts

でエラーが..

ERROR: 2017/05/17 19:04:36 template.go:350: template: _default/li.html:9: function "default" not defined
ERROR: 2017/05/17 19:04:36 template.go:350: template: _default/summary.html:9: function "default" not defined
ERROR: 2017/05/17 19:04:36 template.go:350: template: partials/single_meta.html:1: function "replaceRE" not defined
ERROR: 2017/05/17 19:04:36 template.go:350: template: theme/_default/baseof.amp.html:19: function "replaceRE" not def
ined
ERROR: 2017/05/17 19:04:36 template.go:350: template: theme/_default/baseof.html:15: function "replaceRE" not defined
ERROR: 2017/05/17 19:04:36 template.go:350: template: theme/_default/li.html:9: function "default" not defined
ERROR: 2017/05/17 19:04:36 template.go:350: template: theme/_default/li_sm.html:9: function "default" not defined
ERROR: 2017/05/17 19:04:36 template.go:350: template: theme/_default/summary.html:9: function "default" not defined
ERROR: 2017/05/17 19:04:36 template.go:350: template: theme/partials/single_json_ld.html:12: function "default" not d
efined
ERROR: 2017/05/17 19:04:36 template.go:350: template: theme/partials/single_meta.html:1: function "replaceRE" not def
ined

調べると hugo のバージョンがまずいっぽい..aptで楽だったのに..
error running template on a fresh hugo installation · Issue #2 · dim0627/hugo_theme_solit

debで入れなおします
いったん削除

$ sudo apt remove hugo

Releases · spf13/hugo
から Ubuntu 16.04 なんで、64bit版のdebをダウンロード

インストール

$ sudo dpkg -i hugo_0.20.7_Linux-64bit.deb
$ hugo version

Hugo Static Site Generator v0.20.7 linux/amd64 BuildDate: 2017-05-03T16:39:25+09:00

これで動くようになりました

datadog-agentを動かすと大量のエラーが出ていたので直してみた

centos 7.3 にdatadogを導入してしばらくたっていましたが、ログを見ると大量のログが..
/etc/init.d/datadog-agent info でみると v 5.13.0 のようです

/var/log/message に

dd.collector[19776]: WARNING (disk.py:106): Unable to get disk metrics for /var/lib/docker/overlay/73186596b1b91e9e43aa5bfba55d023ed85e1108a25cf58360fa4fd7bb620c81/merged: [Errno 13] Permission denied: '/var/lib/docker/overlay/73186596b1b91e9e43aa5bfba55d023ed85e1108a25cf58360fa4fd7bb620c81/merged'
dd.collector[19776]: WARNING (disk.py:106): Unable to get disk metrics for /var/lib/docker/containers/33c87f172c8ae018545702ea12a8d75202c7b7e9aefcfc6a567abb419f09e26b/shm: [Errno 13] Permission denied: '/var/lib/docker/containers/33c87f172c8ae018545702ea12a8d75202c7b7e9aefcfc6a567abb419f09e26b/shm'
dd.collector[19776]: WARNING (disk.py:106): Unable to get disk metrics for net:[4026532202]: [Errno 2] No such file or directory: 'net:[4026532202]'

の3種類のログがたくさん出てました

dd.collector[1724]: WARNING (disk.py:109): Unable to get disk metrics for ... · Issue #2932 · DataDog/dd-agent

を参考に(issueは閉じられていませんが)

DISK='/my/mountpoint' /opt/datadog-agent/embedded/bin/python -c 'import psutil; import os; print [part.fstype for part in psutil.disk_partitions(all=True) if part.mountpoint == os.environ["DISK"]][0]'

のpythonスクリプトでエラーログの発生箇所を調べると

$ DISK='/var/lib/docker/overlay/73186596b1b91e9e43aa5bfba55d023ed85e1108a25cf58360fa4fd7bb620c81/merged' /opt/datadog-agent/embedded/bin/python -c 'import psutil; import os; print [part.fstype for part in psutil.disk_partitions(all=True) if part.mountpoint == os.environ["DISK"]][0]'
>  overlay

$ DISK='/var/lib/docker/containers/33c87f172c8ae018545702ea12a8d75202c7b7e9aefcfc6a567abb419f09e26b/shm' /opt/datadog-agent/embedded/bin/python -c 'import psutil; import os; print [part.fstype for part in psutil.disk_partitions(all=True) if part.mountpoint == os.environ["DISK"]][0]'
>  tmpfs

$ DISK='net:[4026532202]' /opt/datadog-agent/embedded/bin/python -c 'import psutil; import os; print [part.fstype for part in psutil.disk_partitions(all=True) if part.mountpoint == os.environ["DISK"]][0]'
>  proc

/etc/dd-agent/disk.yml.default をコピーして /etc/dd-agent/disk.yml を作成
スクリプトで出力されたものを excluded_filesystems に指定

   excluded_filesystems:
      - overlay
      - tmpfs
      - proc

これでdd-agentをリロード

$ sudo /etc/init.d/dd-agent reload

エラーログには出なくなりました