データセンターダイレクト 紹介資料ダウンロード

9月 03

おひさしぶりです。
fshです。

今回はEC-CUBEの商品詳細ページにある “この商品について問い合わせる” をクリックしたときの
問い合わせフォームをデフォルトと違うフォームを作成したい場合の自分なりの方法です。

まずは下記フォルダをコピーして、適当なフォルダ名に修正する。

/data/class/pages/contact
/data/class_extends/page_extends/contact
/data/Smarty/templates/default/contact
/html/contact

問い合わせフォームのメールテンプレートを作成して
下記フォルダに保存する

/data/Smarty/templates/default/mail_templates

修正箇所は、
①テンプレートフォルダのリンク先の修正をする。
②プログラムの修正

/data/class/pages/contact/LC_Page_Contact.php
    function init() {
        parent::init();
        $this->tpl_mainpage = 'contact2/index.tpl';  ← ここを修正(フォルダ名)
        $this->tpl_title = 'お問い合わせ(入力ページ)';
        $this->tpl_page_category = 'contact2';    ← ここを修正(フォルダ名)

        $masterData = new SC_DB_MasterData_Ex();
        $this->arrPref = $masterData->getMasterData("mtb_pref", array("pref_id", "pref_name", "rank"));
    }

     if ( ! $this->arrErr ){
            // エラー無しで完了画面
            $this->tpl_mainpage = 'contact2/confirm.tpl';   ← ここを修正(フォルダ名)
            $this->tpl_title = 'お問い合わせ(確認ページ)';
      } else {
            foreach ($arrConvertColumn as $key) {
                $this->$key['column'] = $this->arrForm[$key['column']];
            }
      }

     $toCustomerMail = $objMailText->fetch("mail_templates/contact_mail2.tpl");  ← ここを修正(メールテンプレート名)

/data/class/pages/contact/LC_Page_Contact_Complete.php
    function init() {
        parent::init();
        $this->tpl_mainpage = 'contact2/complete.tpl';  ← ここを修正(フォルダ名)
        $this->tpl_title = 'お問い合わせ(完了ページ)';
        $this->tpl_mainno = 'contact2';            ← ここを修正(フォルダ名)
    }

/html/contact/index.php
require_once(CLASS_EX_PATH . "page_extends/contact2/LC_Page_Contact_Ex.php"); ← ここを修正(フォルダ名)

/html/contact/index.php
require_once(CLASS_EX_PATH . "page_extends/contact2/LC_Page_Contact_Complete_Ex.php");← ここを修正(フォルダ名)

あとは、入力ページ→確認ページ→入力ページ のページ間でのフォームデータの引継ぎがうまくいかず
やり方がわからず

/data/Smarty/templates/default/contact/index.tpl
    {if $smarty.get.ID名}

    {else}

    {/if}

/data/Smarty/templates/default/contact/confirm.tpl

を追加して対応することに・・・・・
まだまだ勉強しないといけないと痛感しました。
なお、テンプレートに関しては、<!—->というコメントアウトは省略してあります。
自分はEC-CUBEのソースをコピーするときこれでよくはまります。

投稿者: fsh
8月 09

こんにちはnanです。
もうお盆です。時間が過ぎるのは早いです。
私はiPhoneを使っていますが、メール転送では大きなファイル
は送れないですし、日々自宅でのPCへの接続も面倒。
しかしファイルの置き場に困り、無料のオンラインストレージを探す事にしました。

ググってみると、結構な数のサイトがあります。
Dropbox、ZumoDrive、SugarSync、Skydrive、etc

http://trendy.nikkeibp.co.jp/article/column/20100730/1032530/?top_os9
丁度 Dropboxと SugarSyncも NIKKEIBPの記事に。

しかし、英語表示(日本語化しても判り辛い)だったり、置ける期間が短かったり、有料だったり、
ディスク容量が少なかったりと なかなかコレと思えるサイトがありません。
無料で探してますから、贅沢言い過ぎなんでしょうけれど・・・。

たどり着いたのが、 7月にiPhone用アプリを出した NAVER社の Nドライブ
http://ndrive.naver.jp/  これを利用してみました。
色々と細かい条件はありますが、5GBを無料で提供。 私、動画はほとんど持たないですからこれで十分です。

とりあえず使い出したばかりで詳しい感想は書けませんが、
PC上でもエクスプローラ形式で表示できて(専用ソフト要)、一つのドライブとして
見えるのでなかなか使い良い感じです。

音楽ファイルを Nドライブ に置いてみて聴けるかどうかを試しましたが(3Gで)無事聴けました。
自宅の猫を撮った動画は、3Gでは途中固まりました。 こちらはWiFiでないと厳しいようです。
使い方次第で色々と出来そうですね。

投稿者: nan
7月 09

Kです。

社内でスマートフォンが俄かに活気づいてスマートフォンで見えるようにだとか、twitterのfollow me付けてくれとか細かな要望が上がってくるようになりました。
で、てっとり早くWPtouch iPhone Themeプラグインを入れていたのですが、twitterのfollow meを出すためにWP FollowMeプラグインを入れたら、スマートフォンではAdobe Flashで表現できないとの話が上がってきました。

Google先生でググらせてもらったら、同じことをされている方がいらっしゃいましたので、真似てみました。

最初に、WPtouch iPhone Themeプラグインの設定でEnable WPtouch Restricted Modeをオンにします。

次に、下記のコードをWP FollowMeプラグインの行頭のあたりに差し込みます。簡単に説明するとHTTP_USER_AGENTをみてスマートフォンで参照されているようだったら、プラグインの処理から抜ける(プラグインを働かせない)処理です。

/*
Plugin Name: FollowMe
Plugin URI: http://wpburn.com/wordpress-plugins/wp-followme-plugin
Description: WP FollowMe is a wordpress plugin that allow you to add a twitter Follow me badge on your wordpress blog.
Author: WPburn.com
Version: 2.0.4
Author URI: http://wpburn.com
*/

$ua = $_SERVER{'HTTP_USER_AGENT'};                                         <- 追加
if (preg_match('/(blackberry[0-9]+|\(ip([oa]d|hone);|android)/i', $ua)) {  <- 追加
    return FALSE;                                                          <- 追加
}                                                                          <- 追加

プラグインのアップデートで追加コードがつぶれてしまうリスクがありますが、一応これで対応できました。

投稿者: K
7月 07

iPad、iPhone4と、ビックウェーブに乗れません@msmです。

iPhone、iPod touch、iPadのシステム状況をグラフィカルに表示してくれるアプリ bjangoの「iStat」で、CentOS5.5の利用状況をモニタリングさせてみます。

1、ソースをDLしてrpmにしてインストールする
ダウンロードサイトより、istatd-0.5.4.tar.gzをダウンロードしてみました。
※ chekinstallはCentOS4で3gp→Flvを変換(ffmpeg) 後編辺りでインストールしています。

wget http://github.com/downloads/tiwilliam/istatd/istatd-0.5.4.tar.gz
$ tar zxvf istatd-0.5.4.tar.gz
$ cd istatd-0.5.4
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ checkinstall
$ sudo rpm -Uvh /home/username/rpm/RPMS/i386/istatd-0.5.4.rpm

Continue reading »

投稿者: @msm
7月 05

半年ぶりの登場@msmです
多忙な日々充実し日々を過ごしております。

お客様より、ClassCat Cute EE5が文字化けしたとヘルプを頂き、対応いたしました。

CuteEE5の管理画面をのぞいてみると、アラビア語っぽく華麗に文字化けしておりました。
原因は、/etc/php.ini をお客様が変更されたようで、mbstring.internal_encoding、mbstring.http_input、mbstring.encoding_translation等のオプションが変更になっており、文字化けの原因となっておりました。

CuteEE5では、Apacheと、Admserv(サーバ管理ツール)が同じ、php.iniを参照する仕様となっており、ファイルを分離することにしました。

具体的な対応としては、

  1. 「/etc/admserv/conf/httpd.conf」 に、「HPIniDir /etc/admserv/php.ini」を追加。
  2. 「/etc/admserv/php.ini」に、正しいphp.iniを設置。
  3. admservをリスタート。

といった感じで解決しました。

では。

投稿者: @msm
7月 02

暑くなってきましたね。梅雨が明ければ夏は目前。
夏が来る!どうもkazです。

タイトルにピン!ときましたか?
正直私は何それ?って感じでした

暗号アルゴリズムの2010年問題とはざっくり言いますと、
2010年末までにより安全なアルゴリズムへ移行させましょうということらしいです。(ざっくり~)

我々に関係ある所としては、SSLを使用する際ですね。
CSRと秘密鍵を発行し認証局へ申請をしますよね?
現在は1024bitで発行してますが、これからは2048bitで発行することになります。

詳細は以下を確認してください。

3社の対応を例にあげましたが、
あくまでkaz調べですので、時期や詳細等はご自身でちゃんと確認をお願いしますね。

そこで、TLA2.0、TLA3.0、BlueQuartzやClassCat Cute等を使用してCSRや秘密鍵を発行している方は注意が必要です。
管理ツールを使用するとデフォルトでは1024bitで生成してしまいますので、2048bitに対応させなくてはなりません。

TLA2.0、TLA3.0ではbase-ssl関連のパッケージを1.2.0u3-12 以降にバージョンアップすることで、
発行時に1024bitと2048bitを選べるようになり対応可能です。

BlueQuartzやClassCat Cuteでは/usr/sausalito/handlers/base/ssl/SSL.pmの中身を変更して対応します。

(変更前)
system($OPENSSL, ‘genrsa’, ‘-out’, “$cert_dir/key”, ‘1024′);

(変更後)
system($OPENSSL, ‘genrsa’, ‘-out’, “$cert_dir/key”, ‘2048′);

このように変更すれば2048ビット固定になりますが暗号の2010年問題に対応することが可能です。

これからSSLを更新や新規で取得される方は覚えておいてくださいね。
それではCiao!!

投稿者: kaz
6月 30

今回CentOS 5で仮想サイトを作る!という名目は一応達成できそうな予感がします。
どうもkazです。

Part.6はユーザーの作成とFTPの設定をしたいと思います。
サイト毎にユーザーを設定しファイルのアップロード等をできるようにします。

まずはサクっとユーザーを作っちゃいます。
site001というユーザーとsite001というグループです。

# groupadd site001 -g 1000 ←グループ番号1000番でsite001というグループを作成
# useradd site001 -d /var/www/site001 -u 1000 -g 1000 -M ←ホームディレクトリの設定、ユーザー番号1000とグループ番号1000のsite001というユーザーを作成
# passwd site001 ←パスワードを設定します。

次にユーザーの確認とちょっとした変更をします。

# vi /etc/passwd

一番下にユーザーが作成されていることを確認。
さらに、site001というユーザーでサーバーへログインできないように変更します。
site001:x:1000:1000::/var/www/site001:/bin/bash
↓
site001:x:1000:1000::/var/www/site001:/sbin/nologin

これでユーザーの作成はOK。

続いてFTPをインストールします。

# yum install vsftpd -y

confファイルをいじります。

# vi /etc/vsftpd/vsftpd.conf
↓以下変更箇所

#ftpd_banner=Welcome to blah FTP service.
↓
ftpd_banner=Welcome to blah FTP service.

#chroot_list_enable=YES
↓
chroot_list_enable=YES  ←#をとった
chroot_local_user=YES ←追加

#chroot_list_file=/etc/vsftpd/chroot_list
↓
chroot_list_file=/etc/vsftpd/chroot_list

chroot_listを作成します。

# touch /etc/vsftpd/chroot_list

chroot_listの中にユーザー名を書くと自分のホームディレクトリより上にいける権限を持つようになります。
site001を書くとユーザー作成の時に指定したホームディレクトリである/var/www/site001/よりも上にいけてしまいます。
site001ユーザーは仮想サイトしかさわれないようにするため上記のような設定にしました。

では、ftpでアクセスして/var/www/site001/より上にいけない事を確認してみてください。
また、/etc/vsftpd/chroot_listの中に書いたユーザーは上にいけることを確認してみてください。

ここまでできたらあと少し。
var/www/site001/配下のオーナーをかえます。

# chown site001:site001 /var/www/site001/docs -R
# chown site001:site001 /var/www/site001/cgi-bin -R

なぜ/var/www/site001 と/var/www/site001/logのオーナーをrootのままにしたかというと、
site001ユーザに消されたりすると困るからです。
このようにsite001ユーザの権限を限定することによって、他の仮想サイト等に影響をなくせて安全にいくつも仮想サイトを作る事ができます。これでファイルのアップロードもできるようになったし、パート6にしてなんとか仮想サイトの構築ができるようになりました!
このブログを参考にいくつも仮想サイトを作ってみてください。
ClassCatCuteとか使えばサイトなんて一瞬で作れるじゃん!とかいう声には耳をふさぎましょう!!
パートが進むにつれてちょっと早足だったのでついてこれていない方はコメント等頂ければお答えしますよ。

最後に、ftpやhttpdが自動起動するように設定して終わりです。

# chkconfig vsftpd on
# chkconfig httpd on

次回以降はあるかまだ決めていませんが、mysqlやWordPress等でしょうか。
それではまた
Ciao!!

投稿者: kaz
6月 29

久しぶりに投稿します。
fshです。

Google Analyticsの携帯版を導入する際、はまったので投稿します。

PHPの場合、通常 include文で下記 originalのコード を埋め込んだ場合は、
global 変数を認識するので、特に注意することなく

$GA_PIXEL = "ga.php"; ←適宜修正する(ルートディレクトにに設置する場合は、 "/ga.php" に修正する)

を修正するだけでOKです。
(但し、相対パスで書く場合で、別ファイルでinclude して呼び出す場合は、ga.phpのパスに注意する必要があります。)

ただ、テンプレートエンジンを利用した場合、
下記コードではglobal変数として値を取得できなくなってしまうので
設定する場合は、下記3点に注意して設置する。

<?php
// Copyright 2009 Google Inc. All Rights Reserved.

↓ (1)コメントアウトする
//$GA_ACCOUNT = "XX-XXXXXXXX-X";
//$GA_PIXEL = "ga.php";

function googleAnalyticsGetImageUrl() {
global $GA_ACCOUNT, $GA_PIXEL;

↓ (2)変数設定する

$GA_ACCOUNT = "XX-XXXXXXXX-X";

$GA_PIXEL = "ga.php"; ←適宜修正する(ルートディレクトにに設置する場合は、 "/ga.php" に修正する)

******************************originalのコード**************************************

<?php
// Copyright 2009 Google Inc. All Rights Reserved.
$GA_ACCOUNT = "XX-XXXXXXXX-X";
$GA_PIXEL = "ga.php";

function googleAnalyticsGetImageUrl() {
global $GA_ACCOUNT, $GA_PIXEL;
$url = "";
$url .= $GA_PIXEL . "?";
$url .= "utmac=" . $GA_ACCOUNT;
$url .= "&utmn=" . rand(0, 0x7fffffff);
$referer = $_SERVER["HTTP_REFERER"];
$query = $_SERVER["QUERY_STRING"];
$path = $_SERVER["REQUEST_URI"];
if (empty($referer)) {
$referer = "-";
}
$url .= "&utmr=" . urlencode($referer);
if (!empty($path)) {
$url .= "&utmp=" . urlencode($path);
}
$url .= "&guid=ON";
return str_replace("&", "&amp;", $url);
}
?>

******************************************************************************
投稿者: fsh
6月 28

ワールドカップ盛り上がってきましたね!!
どうもkazです。
決勝T進出が決まりました!ガンバレ日本!!

それでは仮想サイトの続きにいきたいと思います。
前回下準備まで終わったので、site001の中身を書きます。
私はdc-dtest.jpという名前でサイトを作成しました。名前は自由に決められます。

#
# VirtualHost for dc-dtest.jp
#
NameVirtualHost *:80
<VirtualHost *:80>
        ServerAdmin ○○○○○○○@XXXXXXXX ←メールアドレスを書きます
        DocumentRoot /var/www/site001/docs ←サイトのドキュメントルートを決めます。site001の名前は自由の設定に合わせてください。
        ServerName dc-dtest.jp 
        ServerAlias www.dc-dtest.jp ←www.dc-dtest.jpと検索されてもページが表示されるようにしました。複数設定できます。
        ScriptAlias /cgi-bin/ /var/www/site001/cgi-bin/ ←cgi用のディレクトリを指定
        ErrorLog "|/usr/sbin/rotatelogs /var/www/site001/log/error_log.%Y%m%d 86400" ←ログの格納設定
        CustomLog "|/usr/sbin/rotatelogs /var/www/site001/log/access_log.%Y%m%d 86400" combined env=!no_log ←ログの格納設定
        UserDir disabled

        <Directory /var/www/site001/docs>
                AllowOverride FileInfo AuthConfig Limit
                Options SymLinksIfOwnerMatch IncludesNoExec
        </Directory>

        <Directory /var/www/site001/cgi-bin>
                AddHandler default-handler .html .css .gif .jpg .png
                AllowOverride FileInfo AuthConfig Limit
                Options SymLinksIfOwnerMatch IncludesNoExec
        </Directory>

</VirtualHost>

次に、中で指定したディレクトリを作成していきましょう。

mkdir /var/www/site001
mkdir /var/www/site001/docs
mkdir /var/www/site001/cgi-bin
mkdir /var/www/site001/log

これで一応仮想サイトの形にはなったはずです。
/var/www/site001/docs配下にファイルを置けば、webで公開できます。
適当なファイルを作っちゃいましょう。

# vi /var/www/site001/docs/kasoutest.txt
↓中身
CentOS5で仮想サイトを作る!までの道のり - Part.5

さぁ、httpdを起動させて確認しましょう。既に起動させていた場合はrestartをかけましょう。

# /etc/init.d/httpd start
httpd を起動中:                                            [  OK  ]
# /etc/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

IEやFirefoxのアドレスに

http://XXX.XXX.XXX.XXX/kasoutest.txt  ←XXXは自分のIPアドレス

と入力してEnter!

表示されましたよね。めでたしめでたし。
とはなりませんよね?

http://XXX.XXX.XXX.XXX/kasoutest.txtのXXXのところを

httpd://dc-dtest.jp/kasoutest.txtと入力してEnterしてみてください。(dc-dtest.jpは自分の設定に合わせて変更してください)
ページの表示ができませんでしたよね?
これはDNSで名前解決ができてないからなんです。
稼動中のDNSを変更する方法は人それぞれ違うので、今回はWindowsのhostsファイルをいじりちゃんと設定が有効なのかどうかを確認だけするとしましょう。
WindowsのマイコンピュータからC:\WINDOWS\system32\drivers\etcにあるhostsファイルを開きます。
サクラエディタとかで編集できますよ。

127.0.0.1       localhost
XXX.XXX.XXX.XXX dc-dtest.jp www.dc-dtest.jp  ←XXXはIPアドレス

これで再度httpd://dc-dtest.jp/kasoutest.txtを試してみてください。

表示されましたよね?
次はhttp://www.dc-dtest.jp/kasoutest.txtでも試してみてください。

これで一応の仮想サイトはできました。
しかし、これでは仮想サイトの意味があまりないので、次回もうちょっと仮想サイトっぽくしていきます!
それではまた
Ciao!!

投稿者: kaz
6月 24

早いものでもうPart.4です。どうもkazです。

今回はついに仮想サイトの構築です!!(パチパチパチ)
しかし、一度に全部だと長くなってしまうので、今回は下準備くらいですね。

まず、httpd.confをみていただきます。

# vi /etc/httpd/conf/httpd.conf

一番下にこんなところがあります。

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

このVirtualHostと書いてあるところを設定すると仮想サイトが作れます。
ですが、今回は仮想サイトを複数作るのに適した方法で構築していくのでhttpd.confでは設定しません!
仮想サイトを増やす度にhttpd.confをいじるのは得策ではありません。
なので、他の所で作成して、それを読み込むようにします。
その為にhttpd.confの一番下に

# Include the virtual host configurations:
Include /etc/httpd/conf/sites-enabled/

と記述します。
次に上で指定したフォルダを作成します。

# mkdir /etc/httpd/conf/sites-enabled/

さらに同じ階層にsites-available/というフォルダも作成します。

# mkdir /etc/httpd/conf/sites-available/

で、/etc/httpd/conf/sites-available/の配下にVirtualHostを記述したファイルを作成します。
名前は好きに決めていいですが、今回はわかり易い様にsite001というファイルにします。
中身は次回?設定するのでまずは空のファイルを作成します。

touch /etc/httpd/conf/sites-available/site001

そして最後にsite001のシンボリックリンクをsites-available/配下に作成します。

# ln -s /etc/httpd/conf/sites-available/site001  /etc/httpd/conf/sites-enabled/

ちゃんと作成されたか確認しましょう。

# ls -la /etc/httpd/conf/sites-enabled/
合計 8
drwxr-xr-x 2 root root 4096  6月 11 16:46 .
drwxr-xr-x 4 root root 4096  6月 11 16:36 ..
lrwxrwxrwx 1 root root   39  6月 11 16:46 site001 -> /etc/httpd/conf/sites-available/site001

ちゃんと作成されましたね。
なぜこの様にenabledとavailableフォルダにわけて、実ファイルをavailable配下に置き、enabled配下にシンボリックリンクを置き、enabled配下をhttpd.confが読み込むなんていうメンドクサイ方法をとったかと言いますと、
サイト毎に別々に作成、削除、管理がしやすいからです。また、まとめて管理するより安全だからです。
例えばサイトを管理する際に、一時的に休止したいサイトがあった時、sites-enabled/配下にあるシンボリックリンクだけを消してやればファイルをいじることなく止めることができます。復活させたい時はまたリンクを貼るだけでOKと、非常に楽です。
色々とメリットはありますが、まぁ今はあまり気にせず「へぇ~」でいいです。

さぁ次はsite001の中身を作ることになりますが、今回はここまで!
また次回!
Ciao!!

投稿者: kaz
Get Adobe Flash playerPlugin by wpburn.com wordpress themes