EC-CUBE管理画面でパスワード不用でログインさせる方法

概要

EC-CUBEパッケージで管理画面にログイン情報なしに
ログインする方法をまとめました。

管理画面パスワードが誰も知らず、アクセスできないなんてときに
以下実施しました。

上記修正後、パスワードなしでログインできます。

ログイン後

  • システム設定 > メンバー管理 からパスワードを再設定してください。
  • ソースを元に戻してください。

logrotate ログファイル名に日毎に日付追加 保存期間 過去ファイル圧縮 設定

概要

/etc/logrotate.conf 初期設定では、以下の不便さがあります。

  • error_log.1とファイル名に連番が振られていて、具体的な日付がわかりにくい。
  • 基本、logを残すのは4week となっており、1ヶ月分程度しか情報がなく、過去に遡ってそもそも調査できないケースがある
  • ファイルが圧縮されず容量を食ってしまう。

調査時に非常に不便です。

httpdをyumでインストールした場合、初期logrotate.confの設定は
以下のようになっています。

日付をログファイル名に付与する

/etc/logrotate.conf に以下一文を追記してください

1
dateext

ログの保存期間を半年(53/2 週≒27)にする

1
2
# keep 4 weeks worth of backlogs
rotate 27

※ディスク容量の問題もあるかと思いますので設定前に月どの程度のサイズになるか設定を検討してから決定してください。

日付

過去ファイルを圧縮する

1
2
# uncomment this if you want your log files compressed
compress

apacheログの日付毎のrotate

設定後翌日

以下のように出力されていることがわかります。

1
2
error_log-20150315.gz
error_log

logrotate.confに全角文字が存在する場合、正しくrotateされない可能性があるので注意してください。

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

概要

Apache再起動時に以下のようなエラー文が表示される。
※Apache自体は問題なく再起動できています。

1
2
3
4
5
service httpd restart

httpd を停止中: [ OK ]
httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[ OK ]

ServerNameに127.0.0.1を使用しているFQDNを確実に判断できません。

原因

/etc/hosts で「127.0.0.1」で設定されているhost名がApache設定ファイルで定義されていない

hogehostについてApache定義ファイルで設定されていない。

1
127.0.0.1      hogehost localhost.localdomain localhost

/etc/httpd/conf/httpd.conf

1
2
#ServerName www.example.com:80
ServerName hogehost:80

MacOSX パスワード付きzipファイル作成法

概要

クライアント様へ資料等を送付する場合、パスワード付きの圧縮ファイルでメール2回に分けて送付すると思います。

1回目: 圧縮ファイル添付
2回目: 圧縮ファイルのパスワード

そんなときよく使っているTerminalでの
パスワード付きzipファイル作成方法を以下にまとめました。

手順

パスワード生成

生成したパスワードを保存します。

パスワード付きzipファイル生成

以上

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発行手続きします。

以上