EC-CUBEベリトランス設定

前提

ベリトランス契約を完了していただいていることが条件となります。

テスト用と本番用モジュール設定があるので注意してください。
注意点を以下にまとめます。

注意点

本番環境用のベリトランス決済モジュールは
ベリトランス開通した時点から料金発生となります。

流れとしては、以下を検討する必要があります

  • テスト環境用テスト用モジュール情報をオペよりいただき設定する。
  • 本番用にベリトランスへサービスのローンチ1〜2週間前程度で開通依頼し、本番用を設定

手順

管理画面>オナーズストア>購入商品一覧 リンク押下します。

「購入商品一覧を取得する」ボタンを押下します。

モジュール未ダウンロードの場合、ベリトランス行のダウンロードリンクを押下します。

  • ダウンロードに失敗する場合、ログチェック

  • ログ管理>詳細 クリック

  • ログ状況を確認してください。
    大抵書き込み権限がない場合なので、書き込み権限付与してください。
1
$ chmod -R 0777 (EC-CUBEパス)/data/downloads
  • 再度ダウンロードを実行してください。

ベリトランス行の設定リンクを押下します。

以下のような内容が別ウィンドウで表示されるので情報を入力していきます。

ベリトランス3G MDK決済モジュールの各項目を設定します。

マーチャントCCID, 認証鍵を設定します。
取引IDプレフィックスは決済情報に付加される文字列です。
以下のようにテスト用では、設定した日付などを入れておいてください。

取引IDプレフィックスおおよそ以下で設定で問題なし。

  • テスト用 : (サイトエイリアス)df(設定日)_
  • 本番用 : (サイトエイリアス)df

テスト用DBに本番DBを同期することがあるかと思います。

一度決済済みの情報が流入すると決済が通らなくなるので
本番→テストDB同期した際は、テスト用取引IDプレフィックス変更する様にします。

クレジットカード設定

以下基本セットです。
クライアントより特別指示がない限りは以下で問題ありません。

その他決済設定について

クライアントより指示がない限り「有効にする」チェックボックスを外してください。

  • コンビニ決済設定
  • 電子マネー(Edy)決済設定
  • 電子マネー決済(Suica)設定
  • 銀行・郵貯(Pay-easy)決済設定
  • 銀聯ネット決済設定
  • PayPal決済設定

上書きファイル一覧設定

ファイルを自動上書きしない(カスタマイズ利用者向け)にラジオボタンを入れてください。

設定登録

「この内容で登録する」ボタンをクリックする

設定反映されると以下のようなポップアップが確認されます。

引き続き
支払い設定等記載して参ります。

参照

以上

Apache + OpenSSL でSHA256対応CSR生成

ドメイン登録者情報確認

※特にドメイン登録者を明確に指定する必要がなければ、「手順」へ進んでください。

企業認証周りが必要な場合は
事前にWHOIS(フーイズ)でドメイン登録者情報を確認しておくとスムーズです。

http://whois.jprs.jp/

検索ワードにドメイン入力して検索すると登録者情報を確認できます。

CSR生成手順

さくらVPS fluentd + elasticsearch + kibana3

さくらVPS fluentd + elasticsearch + kibana3

ElasticSearch インストール

公式サイト: http://www.elasticsearch.org/blog/apt-and-yum-repositories/

yum リポジトリ追加

1
rpm --import http://packages.elasticsearch.org/GPG-KEY-elasticsearch

elasticsearch リポジトリ設定ファイル追加

1
2
3
4
5
6
7
8
cat >> /etc/yum.repos.d/elasticsearch.repo <<'EOF'
[elasticsearch-1.0]
name=Elasticsearch repository for 1.0.x packages
baseurl=http://packages.elasticsearch.org/elasticsearch/1.0/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1
EOF

java と elasticsearch インストール

1
yum install elasticsearch java-1.7.0-openjdk

サーバ起動時モジュール自動起動設定

1
chkconfig elasticsearch on

elasticsearch 起動

1
service elasticsearch start

動作テスト

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
curl -X GET http://localhost:9200/

// response
{
"status" : 200,
"name" : "Hydron",
"version" : {
"number" : "1.0.3",
"build_hash" : "61bfb72d845a59a58cd9910e47515665f6478a5c",
"build_timestamp" : "2014-04-16T14:43:11Z",
"build_snapshot" : false,
"lucene_version" : "4.6"
},
"tagline" : "You Know, for Search"
}

Kibana インストール

kibana ユーザ追加

1
useradd kibana

パスワード設定

1
2
3
4
5
6
passwd kibana
ユーザー kibana のパスワードを変更。
新しいパスワード: [パスワード入力]
よくないパスワード: 辞書の単語に基づいています
新しいパスワードを再入力してください: [もう一度パスワード入力]
passwd: 全ての認証トークンが正しく更新できました。

kibana のパーミッション設定

1
chmod +x /home/kibana

kibana

1
su - kibana

kibana3 ダウンロード

1
curl -LO https://download.elasticsearch.org/kibana/kibana/kibana-3.0.0milestone5.tar.gz

モジュール解凍

1
tar zxvf kibana-3.0.0milestone5.tar.gz

シンボリックリンク設定

1
ln -s /home/kibana/kibana-3.0.0milestone5 ./kibana

kibana config 編集

  • /home/kibana/kibana/config.js
1
2
// 以下のように設定
elasticsearch: "http://(ドメイン)/es/",

kibana ユーザ解除

1
exit

Elasticsearch への接続用に/es/をリバースプロキシ構成

1
2
3
4
htdigest -c /etc/httpd/conf/htdigest "Required authentication" (Basic認証の設定したいID)
Adding password for okochang in realm Required authentication.
New password: [パスワード入力] (Basic認証の設定したいPW)
Re-type new password: [パスワード入力] (Basic認証の設定したいPW)

vim /etc/httpd/conf.d/vhosts.conf

設定ファイルのシンタックスチェック

1
httpd -t

▼ 実行結果

1
Syntax OK

httpd 再起動

1
service httpd restart

kibana 管理画面

1
http://(ドメイン)/#/dashboard/file/default.json

以下のように表示されたら成功


  • fluent-plugin-elasticsearch

gcc, gcc-c インストール

1
yum install gcc gcc-c++ libcurl-devel

fluent-plugin-elasticsearch インストール

1
/usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-elasticsearch --no-ri --no-rdoc
1
vim /etc/td-agent/td-agent.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
## Input
<source>
type tail
path /var/log/httpd/access_log
format /^(?<date>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} \w{3}) (?<processing_time>[^ ]*) (?<remote>[^ ]*) (?<user>[^ ]*) \[(?<method>.*)\] (?<status>[^ ]*) (?<size>[^ ]*) \[(?<referer>[^ ]*)\] \[(?<agent>.*)\]/
pos_file /var/log/td-agent/tmp/apache.access.log.pos
tag apache.access
</source>

## Output
<match apache.access>
type copy
<store>
type file
path /var/log/td-agent/apache.access
time_slice_format %Y%m%d
time_format %Y%m%dT%H%M%S%z
</store>
<store>
type forward
send_timeout 60s
recover_wait 10s
heartbeat_interval 1s
<server>
name (fluentdサーバ)
host (fluentdサーバIP)
port (Port)
</server>
</store>
<store>
type elasticsearch
host (elasticsearchサーバIP)
port (Port)
type_name access_log
logstash_format true
logstash_prefix apache_access
logstash_dateformat %Y%m
flush_interval 10s
</store>
</match>

fluentd インストール事前準備

  • ユーザ毎のリソース制限ファイル修正
  • /etc/security/limits.conf

以下追記

1
2
root soft nofile 65536
root hard nofile 65536

▼ リソース属性

noproc最大プロセス数
nofileオープンできる最大ファイル数
maxlogin最大ログイン数
data最大データサイズ
fsize最大ファイルサイズ
as最大メモリ空間サイズ
priorityユーザ実行の優先度
stackユーザ実行の最大スタック
rssユーザ実行プロセスのメモリサイズ
coreコアファイルの最大値

カーネルパラメータ設定

  • /etc/sysctl.conf
1
2
3
4
// 以下追記
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10240 65535

再起動

1
reboot

Apatch 設定

テスト用のログファイルとして Apache のアクセスログを使用

1
grep "custom" /etc/httpd/conf/httpd.conf

▼ 実行結果

1
2
LogFormat "%{%Y-%m-%d %T %Z}t %D %a %u [%r] %s %b [%{Referer}i] [%{User-Agent}i]" custom
CustomLog logs/access_log custom

td-agent にアクセス出来る様にログディレクトリ権限修正

1
chmod 755 /var/log/httpd

td-agent のインストール

1
curl -L http://toolbelt.treasuredata.com/sh/install-redhat.sh | sh

td-agent 設定

  • /etc/td-agent/td-agent.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<match log.**>
# fluentd-plugin-elasticsearch利用
type elasticsearch

# Kibanaで利用するためにindexの形式整備
logstash_format true

# index の prefix 指定
logstash_prefix demo-log

# 転送先の Elasticsearch
hosts localhost:9200

# Elasticsearchに書き込む際、ドキュメントtype指定
type_name application-log

# buffer設定 - メモリバッファ利用
buffer_type memory

# チャンクサイズ 1MB
buffer_chunk_limit 1m

# チャンクキュー最大サイズ 128
buffer_queue_limit 128

# 指定秒毎にバッファをflush - 指定秒数毎にElasticsearchへの書き込みリクエスト発

flush_interval 2s

# flush失敗時、最大リトライ回数
retry_limit 17
</match>
1
2
3
4
5
6
7
8
// tmpディレクトリ作成
mkdir /var/log/td-agent/tmp
// 所有者修正
chown td-agent.td-agent /var/log/td-agent/tmp
// サーバ起動時設定
chkconfig td-agent on
// 起動
service td-agent start

参考サイト

ドメインの所有者を確認する方法

概要

クライアント様所有のドメインにSSL証明書をインストールして欲しいという依頼について
thawteよりSGC SuperCertsから申請しSSL証明書発行する経緯となった。

その申請に必要なDUNSナンバー取得の為、
ドメインの所有者がクライアント様になっているかを確認する必要があった。

DUNSナンバーの確認方法は以下

手順

WHOISというドメインの検索サービスで検索可能です。

http://whois.jprs.jp/

上記リンクからWHOISにアクセスし、
検索したいドメイン名を入力する。
「検索」ボタンをクリックすると所有者情報が表示されます。

thawteのSSL発行時には
以上の情報をもとにCSR発行手続きします。

以上

DUNSナンバー確認手順

概要

thawteにて「SGC Super Certs」の申請する際
DUNSナンバーが必要となる為
クライアント様がDUNS(ダンズ)ナンバーを
所持されているか確認する必要がありました。

http://www.tsr-net.co.jp/service/product/get_a_duns_number/

DUNSナンバー確認手順を以下に記載します。

尚、以下手続きはクライアント様ご自身が実施する必要があります。
理由としては、クライアント実行した場合、無料で問い合わせできるからです。
他社からは3000円になります。 2015/02/23 現在

DUNSナンバー確認手順

へアクセスします。

中央の赤いボタン「DUNS Numberを検索する」をクリックします。

クライアントの企業名や住所で検索します。

WHOIS(フーイズ)で検索したドメイン所有者で検索する。

例として、アメブロ「ameblo.jp」の所有者情報を使用します。

検索結果にて該当項目の「DUNS」画像ボタンをクリックします

使用許諾契約書ページが表示されます

ページフッター付近にて「同意する」ボタンをクリックします

申し込みフォームが表示されるので必要情報を入力し「確認」ボタンをクリックします

「送信」ボタンをクリックします

上記入力のメール宛にDUNSナンバー通知を確認します。

以下クライアント様より報告いただいたDUNSナンバー情報フォーマットになります。

1
2
3
4
[受付番号] ***
[対象企業] ***
[ DUNS# ] ***
[ 自/他 ] 自社

上記を元にthawteではSSL証明書発行手続きをします。

クライアント様登録の電話番号が誤っている、もしくは現在使われていない場合は、
SSL申請手続きでリジェクトされるという事態が起きます。

実際起きました汗

クライアント様へ確認依頼する際はお電話番号が後使用可能であるかを
不躾ではありますが、確認しておくのが良いかと思います。

以上

SVN から Git へ過去コミットログを担保した上で移行する

概要

リポジトリ管理を SVN から Git 移行する必要があり
その際に利用したコマンドをまとめます。

手順

まずリモートに移行先のリポジトリを作成しておきます。

以下コマンドを実行しようとしたら以下エラーが出た場合

1
2
3
4
5
6
7
$ git pull origin master

Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

要約すると、公開鍵のパーミッション拒否されています、ということです。

remote repositoryにどのようにアクセスしようとしているかの確認をします。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[svn-remote "svn"]
url = http://www.svn.rubygroupe.jp/svn/hogehoge
fetch = trunk:refs/remotes/svn/trunk
branches = branches/*:refs/remotes/svn/*
tags = tags/*:refs/remotes/svn/tags/*
[remote "origin"]
# url = git@github.com:xxxxxxxxx.git
<span style="color: #ff0000">url = https://github.com:xxxxxxxxx.git</span>
fetch = +refs/heads/*:refs/remotes/origin/*

再度 pull してみてください。

1
$ git pull origin master

あとがき

Git側がSVNを引き取ることを想定して用意しているという大人な対応に感謝

そもそも何故移行?という方はまずGitを触ってみてください。

MAMPにMemcacheをインストールしphpで動かすまで

概要

ローカル開発環境にMemcacheをインストールしたい。

環境

MacOSX Yosemite 10.10.1
MAMP3.0.7.3

注意

インストールするのはMemcacheです。Memcachedではないです。

ToDo

  • Memcacheのソースダウンロードしコンパイル
  • memcache.soをphp.iniから呼び出し
  • MAMP再起動

手順

  • Memcacheのソースダウンロードしコンパイル
  • memcache.soをphp.iniから呼び出し
  • php から利用 サンプル

以上